Class SolrClientTestRule

  • All Implemented Interfaces:
    org.junit.rules.TestRule
    Direct Known Subclasses:
    EmbeddedSolrServerTestRule

    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 Detail

      • SolrClientTestRule

        public SolrClientTestRule()
    • Method Detail

      • 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.
      • getAdminClient

        public abstract org.apache.solr.client.solrj.SolrClient getAdminClient()
        Provides a SolrClient instance for administration actions
      • getSolrClient

        public org.apache.solr.client.solrj.SolrClient getSolrClient()
        Provides a SolrClient instance for collection1
      • getSolrClient

        public abstract org.apache.solr.client.solrj.SolrClient getSolrClient​(String name)
      • clearIndex

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