public class TestHarness extends Object
This class lives in the tests-framework source tree (and not in the test source tree), so that it will be included with even the most minimal solr distribution, in order to encourage plugin writers to create unit tests for their plugins.
Modifier and Type | Class and Description |
---|---|
class |
TestHarness.LocalRequestFactory
A Factory that generates LocalSolrQueryRequest objects using a
specified set of default options.
|
Modifier and Type | Field and Description |
---|---|
protected org.apache.solr.core.CoreContainer |
container |
org.apache.solr.handler.UpdateRequestHandler |
updater |
Constructor and Description |
---|
TestHarness(String coreName,
org.apache.solr.core.CoreContainer.Initializer init) |
TestHarness(String dataDirectory,
org.apache.solr.core.SolrConfig solrConfig,
org.apache.solr.schema.IndexSchema indexSchema) |
TestHarness(String dataDirectory,
org.apache.solr.core.SolrConfig solrConfig,
String schemaFile) |
Modifier and Type | Method and Description |
---|---|
String |
checkUpdateStatus(String xml,
String code)
Validates that an "update" (add, commit or optimize) results in success.
|
void |
close()
Shuts down and frees any resources
|
static String |
commit(String... args)
Helper that returns an <commit> String with
optional key/val pairs.
|
static org.apache.solr.core.SolrConfig |
createConfig(String solrHome,
String confFile)
Creates a SolrConfig object for the
CoreContainer.DEFAULT_DEFAULT_CORE_NAME core using createConfig(String,String,String) |
static org.apache.solr.core.SolrConfig |
createConfig(String solrHome,
String coreName,
String confFile)
Creates a SolrConfig object for the specified coreName assuming it
follows the basic conventions of being a relative path in the solrHome
dir.
|
static String |
deleteById(String id,
String... args)
Generates a delete by id xml string
|
static String |
deleteByQuery(String q,
String... args)
Generates a delete by query xml string
|
org.apache.solr.core.SolrCore |
getCore()
Gets a core that does not have it's refcount incremented (i.e.
|
org.apache.solr.core.CoreContainer |
getCoreContainer() |
org.apache.solr.core.SolrCore |
getCoreInc()
Gets the core with it's reference count incremented.
|
TestHarness.LocalRequestFactory |
getRequestFactory(String qtype,
int start,
int limit) |
TestHarness.LocalRequestFactory |
getRequestFactory(String qtype,
int start,
int limit,
Map<String,String> args) |
TestHarness.LocalRequestFactory |
getRequestFactory(String qtype,
int start,
int limit,
String... args)
0 and Even numbered args are keys, Odd numbered args are values.
|
static StringBuffer |
makeSimpleDoc(String... fieldsAndValues)
A helper that creates an xml <doc> containing all of the
fields and values specified
|
static String |
optimize(String... args)
Helper that returns an <optimize> String with
optional key/val pairs.
|
String |
query(org.apache.solr.request.SolrQueryRequest req)
Processes a "query" using a user constructed SolrQueryRequest
|
String |
query(String handler,
org.apache.solr.request.SolrQueryRequest req)
Processes a "query" using a user constructed SolrQueryRequest, and closes the request at the end.
|
org.apache.solr.response.SolrQueryResponse |
queryAndResponse(String handler,
org.apache.solr.request.SolrQueryRequest req)
It is the users responsibility to close the request object when done with it.
|
void |
reload() |
String |
update(String xml)
Processes an "update" (add, commit or optimize) and
returns the response as a String.
|
String |
validateErrorUpdate(String xml)
Validates that an "update" (add, commit or optimize) results in success.
|
String |
validateQuery(org.apache.solr.request.SolrQueryRequest req,
String... tests)
Validates a "query" response against an array of XPath test strings
|
String |
validateUpdate(String xml)
Validates that an "update" (add, commit or optimize) results in success.
|
String |
validateXPath(String xml,
String... tests)
A helper method which valides a String against an array of XPath test
strings.
|
protected volatile org.apache.solr.core.CoreContainer container
public org.apache.solr.handler.UpdateRequestHandler updater
public TestHarness(String dataDirectory, org.apache.solr.core.SolrConfig solrConfig, String schemaFile)
dataDirectory
- path for index data, will not be cleaned upsolrConfig
- solronfig instanceschemaFile
- schema filenamepublic TestHarness(String dataDirectory, org.apache.solr.core.SolrConfig solrConfig, org.apache.solr.schema.IndexSchema indexSchema)
dataDirectory
- path for index data, will not be cleaned upsolrConfig
- solrconfig instanceindexSchema
- schema instancepublic TestHarness(String coreName, org.apache.solr.core.CoreContainer.Initializer init)
public static org.apache.solr.core.SolrConfig createConfig(String solrHome, String coreName, String confFile)
${solrHome}/${coreName}/conf/${confFile}
public static org.apache.solr.core.SolrConfig createConfig(String solrHome, String confFile)
CoreContainer.DEFAULT_DEFAULT_CORE_NAME
core using createConfig(String,String,String)
public org.apache.solr.core.CoreContainer getCoreContainer()
public org.apache.solr.core.SolrCore getCore()
public org.apache.solr.core.SolrCore getCoreInc()
public String update(String xml)
xml
- The XML of the updatepublic String validateUpdate(String xml) throws SAXException
xml
- The XML of the updateSAXException
public String validateErrorUpdate(String xml) throws SAXException
xml
- The XML of the updateSAXException
public String checkUpdateStatus(String xml, String code) throws SAXException
xml
- The XML of the updateSAXException
public String validateQuery(org.apache.solr.request.SolrQueryRequest req, String... tests) throws Exception
req
- the Query to processException
- any exception in the response.IOException
- if there is a problem writing the XMLLocalSolrQueryRequest
public String query(org.apache.solr.request.SolrQueryRequest req) throws Exception
req
- the Query to process, will be closed.Exception
- any exception in the response.IOException
- if there is a problem writing the XMLLocalSolrQueryRequest
public String query(String handler, org.apache.solr.request.SolrQueryRequest req) throws Exception
handler
- the name of the request handler to process the requestreq
- the Query to process, will be closed.Exception
- any exception in the response.IOException
- if there is a problem writing the XMLLocalSolrQueryRequest
public org.apache.solr.response.SolrQueryResponse queryAndResponse(String handler, org.apache.solr.request.SolrQueryRequest req) throws Exception
Exception
public String validateXPath(String xml, String... tests) throws XPathExpressionException, SAXException
xml
- The xml String to validatetests
- Array of XPath strings to test (in boolean mode) on the xmlXPathExpressionException
SAXException
public void close()
public static StringBuffer makeSimpleDoc(String... fieldsAndValues)
fieldsAndValues
- 0 and Even numbered args are fields names odds are field values.public static String deleteByQuery(String q, String... args)
q
- Query that has not already been xml escapedargs
- The attributes of the delete tagpublic static String deleteById(String id, String... args)
id
- ID that has not already been xml escapedargs
- The attributes of the delete tagpublic static String optimize(String... args)
args
- 0 and Even numbered args are params, Odd numbered args are values.public static String commit(String... args)
args
- 0 and Even numbered args are params, Odd numbered args are values.public TestHarness.LocalRequestFactory getRequestFactory(String qtype, int start, int limit)
public TestHarness.LocalRequestFactory getRequestFactory(String qtype, int start, int limit, String... args)
public TestHarness.LocalRequestFactory getRequestFactory(String qtype, int start, int limit, Map<String,String> args)
Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.