Example usage for org.apache.solr.client.solrj.impl CloudSolrClient request

List of usage examples for org.apache.solr.client.solrj.impl CloudSolrClient request

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj.impl CloudSolrClient request.

Prototype

@Override
    public NamedList<Object> request(SolrRequest request, String collection)
            throws SolrServerException, IOException 

Source Link

Usage

From source file:io.redlink.solrlib.cloud.SolrCloudConnectorTest.java

License:Apache License

@Test
public void testInitCore() throws Exception {
    final ExecutorService exec = Executors.newSingleThreadExecutor();
    try {/*from   w  ww . ja  v a  2  s  .  co m*/
        final String zkConnection = UUID.randomUUID().toString();
        final SolrCloudConnectorConfiguration config = new SolrCloudConnectorConfiguration();
        config.setZkConnection(zkConnection);

        final CloudSolrClient solrClient = mock(CloudSolrClient.class);
        final ZkClientClusterStateProvider zkClient = mock(ZkClientClusterStateProvider.class);
        final SimpleOrderedMap<Object> collectionsListResponse = new SimpleOrderedMap<>();
        collectionsListResponse.add("collections", Collections.singletonList("core1"));

        when(solrClient.request(any(CollectionAdminRequest.List.class), eq(null)))
                .thenReturn(collectionsListResponse);

        final SolrCoreDescriptor solrCoreDescriptor1 = mock(SolrCoreDescriptor.class);
        when(solrCoreDescriptor1.getCoreName()).thenReturn("core1");
        final SolrCoreDescriptor solrCoreDescriptor2 = mock(SolrCoreDescriptor.class);
        when(solrCoreDescriptor2.getCoreName()).thenReturn("core2");
        final SolrCloudConnector connector = spy(new SolrCloudConnector(
                Sets.newHashSet(solrCoreDescriptor1, solrCoreDescriptor2), config, exec));
        when(connector.createSolrClient()).thenReturn(solrClient);
        when(connector.createZkClient()).thenReturn(zkClient);

        connector.initialize();
        assertNotNull(connector.getSolrClient(solrCoreDescriptor1));
        assertNotNull(connector.getSolrClient(solrCoreDescriptor2));

        verify(solrCoreDescriptor1, times(1)).initCoreDirectory(any(), any());
        verify(solrCoreDescriptor1, never()).onCoreCreated(any());
        verify(solrCoreDescriptor1, times(1)).onCoreStarted(any());

        verify(solrCoreDescriptor2, times(1)).initCoreDirectory(any(), any());
        verify(solrCoreDescriptor2, times(1)).onCoreCreated(any());
        verify(solrCoreDescriptor2, times(1)).onCoreStarted(any());

    } finally {
        exec.shutdownNow();
    }
}