Class SolrClientTestRule

java.lang.Object
org.junit.rules.ExternalResource
org.apache.solr.util.SolrClientTestRule
All Implemented Interfaces:
org.junit.rules.TestRule
Direct Known Subclasses:
EmbeddedSolrServerTestRule, SolrJettyTestRule

public abstract class SolrClientTestRule extends org.junit.rules.ExternalResource
Provides access to a SolrClient instance and a running Solr in tests. Implementations could run Solr in different ways (e.g. strictly embedded, adding HTTP/Jetty, adding SolrCloud, or an external process). It's a JUnit ExternalResource (a TestRule), and thus closes the client and Solr itself when the test completes. This test utility is encouraged to be used by external projects that wish to test communicating with Solr, especially for plugin providers.
  • Constructor Details

    • SolrClientTestRule

      public SolrClientTestRule()
  • Method Details

    • startSolr

      public void startSolr()
      Starts the Solr server with empty solrHome.
    • startSolr

      public abstract void startSolr(Path solrHome)
      Starts the Solr server with the given solrHome. If solrHome contains a solr.xml file, it is used. Otherwise a default testing configuration is used.
    • newCollection

      public SolrClientTestRule.NewCollectionBuilder newCollection(String name)
    • newCollection

    • create

      protected void create(SolrClientTestRule.NewCollectionBuilder b) throws org.apache.solr.client.solrj.SolrServerException, IOException
      Throws:
      org.apache.solr.client.solrj.SolrServerException
      IOException
    • getAdminClient

      public org.apache.solr.client.solrj.SolrClient getAdminClient()
      Provides a SolrClient instance for administration actions. The caller doesn't need to close it
    • getSolrClient

      public org.apache.solr.client.solrj.SolrClient getSolrClient()
      Provides a SolrClient instance for collection1. The caller doesn't need to close it
    • getSolrClient

      public abstract org.apache.solr.client.solrj.SolrClient getSolrClient(String collection)
      Provides a SolrClient instance for caller defined collection name. The caller doesn't need to close it
    • clearIndex

      public void clearIndex() throws org.apache.solr.client.solrj.SolrServerException, IOException
      Throws:
      org.apache.solr.client.solrj.SolrServerException
      IOException