Hi, I’ll advised you to extend the class SolrCloudTestCase, which extends the 
MiniSolrCloudCluster. Theres a hello world example in the solr source at 
https://github.com/apache/lucene-solr/blob/master/solr/core/src/test/org/apache/solr/HelloWorldSolrCloudTestCase.java.

Here’s how I setup a cluster, create a collection with my ConfigSet, and index 
a file.

    @BeforeClass
    public static void setupCluster() throws Exception {

        // Create and configure cluster
        configureCluster(nodeCount)
                .addConfig(CONFIG_NAME, getFile(CONFIG_DIR).toPath())
                .configure();

        // Create an empty collection
        Create.createCollection(COLLECTION, CONFIG_NAME, numShards, numReplicas)
              .setMaxShardsPerNode(maxShardsPerNode)
              .process(cluster.getSolrClient(), COLLECTION);
        AbstractDistribZkTestBase
                .waitForRecoveriesToFinish(COLLECTION, 
cluster.getSolrClient().getZkStateReader(), true, true, 120);

        // Set default collection
        cluster.getSolrClient().setDefaultCollection(COLLECTION);

        // Add documents to collection
        ContentStreamUpdateRequest up = new 
ContentStreamUpdateRequest("/update");
        up.addFile(getFile("testdata/test-data.json"), "application/json");
        up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);
        NamedList<Object> result = cluster.getSolrClient().request(up);

        // Print cluster status
        System.out.println("Default Collection: " + 
cluster.getSolrClient().getDefaultCollection());
        System.out.println("Cluster State: " + 
cluster.getSolrClient().getZkStateReader().getClusterState());
        System.out.println("Update Result: " + result);

    }

 I copy the configset to the resources dir in the pom using a mauven plugin. 
And the test file is already in the resources dir.




> On May 14, 2019, at 04:01, Mikhail Khludnev <m...@apache.org> wrote:
> 
> Hello, Pratick.
> Welcome to mysterious world of Solr testing. The best way is to find
> existing test closest to your problem field, copy in and amend necessarily.
> What about
> https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_apache_lucene-2Dsolr_blob_master_solr_solrj_src_test_org_apache_solr_client_solrj_io_stream_StreamExpressionTest.java&d=DwIBaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=lUsTzFRk0CX38HvagQ0wd52D67dA0fx_D6M6F3LHzAU&m=9tFliF4KA1tiG2lGmDJWO34hyq9-Sz1inAxRPVKkz78&s=KjveDzxzQAKRmvzPYk2y1FQ-w6yAGWuwfTVGHMQP2ZA&e=
> ?
> 
> On Fri, May 10, 2019 at 11:36 PM Pratik Patel <pra...@semandex.net> wrote:
> 
>> Hello Everyone,
>> 
>> I want to write unit tests for some solr queries which are being triggered
>> through java code. These queries includes complex streaming expressions and
>> faceting queries which requires large number of documents to be present in
>> solr index. I can not create and push so many documents programmatically
>> through my tests.
>> 
>> I am trying to find a way to test these queries without depending on
>> externally running solr instance. I found following approach which is using
>> classes like EmbeddedSolrServer and CoreContainer. We can put index files
>> and solr configuration on classpath and run the tests against them.
>> 
>> https://urldefense.proofpoint.com/v2/url?u=https-3A__dzone.com_articles_junit-2Dtesting-2Dfor-2Dsolr-2D6&d=DwIBaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=lUsTzFRk0CX38HvagQ0wd52D67dA0fx_D6M6F3LHzAU&m=9tFliF4KA1tiG2lGmDJWO34hyq9-Sz1inAxRPVKkz78&s=K4vPwvz9h9H8s-nsZTbkmCvTh002RP3CHcpbb9IOrpw&e=
>> 
>> However, this seems to be an old approach and I am trying to find a way to
>> do it using latest solr-test-framework. I also can not use old approach
>> because I want to test Streaming Expressions as well and I need
>> SolrCloudClient for that.
>> In solr-test-framework, I found MiniSolrCloudCluster class but I don't know
>> how to use pre-created index files and configuration with that.
>> 
>> Does anyone know how we can use pre-created index files and configuration
>> with latest test-framework? What is the recommended way to do such kind of
>> testing? Any direction with this would be really helpful.
>> 
>> Thanks!
>> Pratik
>> 
> 
> 
> -- 
> Sincerely yours
> Mikhail Khludnev

Reply via email to