Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
See parent issue. Here, create a subclass of ExternalResource (a JUnit TestRule, FYI compatible with JUnit 5) that provides access to a SolrClient, or that might even be one itself (delegating the request method). Perhaps name this "SolrClientTestRule". It will have subclasses for specific types, initially just one using EmbeddedSolrServer. It should have a builder to configure it. Some test classes can simply configure at its declaration but note that others will need to do so afterwards (e.g. in a @Before or a test method). This utility should be in the test-framework and be designed to be useful by external projects who write plugins or that want to test with an embedded Solr. Therefore it should not contain code that assumes the file system of the Solr project itself.
Out of scope are other implementations, and thus somehow choosing amongst them.
Use this mechanism in EmbeddedSolrServerTestBase, ensuring that "TestHarness" (from SolrTestCaseJ4) isn't used.