@Test public void testQueryResultStreamNoResults() throws Exception { SalesforceConnector connector = new SalesforceConnector(); BatchInfo batchInfo = setupBulkConnection(connector); QueryResultList queryResultList = Mockito.mock(QueryResultList.class); BulkConnection bulkConnection = connector.getBulkConnection(); String[] queryResults = new String[0]; when(bulkConnection.getQueryResultList(batchInfo.getJobId(), batchInfo.getId())) .thenReturn(queryResultList); when(queryResultList.getResult()).thenReturn(queryResults); InputStream actualIs = connector.queryResultStream(batchInfo); assertEquals(null, actualIs); }
@Test public void testQueryResultStream() throws Exception { SalesforceConnector connector = new SalesforceConnector(); BatchInfo batchInfo = setupBulkConnection(connector); QueryResultList queryResultList = Mockito.mock(QueryResultList.class); BulkConnection bulkConnection = connector.getBulkConnection(); String[] queryResults = {"ID1", "ID2"}; byte[] a = {'a'}; byte[] b = {'b'}; InputStream[] sourceIs = {new ByteArrayInputStream(a), new ByteArrayInputStream(b)}; when(bulkConnection.getQueryResultList(batchInfo.getJobId(), batchInfo.getId())) .thenReturn(queryResultList); when(queryResultList.getResult()).thenReturn(queryResults); when(bulkConnection.getQueryResultStream(batchInfo.getJobId(), batchInfo.getId(), "ID1")) .thenReturn(sourceIs[0]); when(bulkConnection.getQueryResultStream(batchInfo.getJobId(), batchInfo.getId(), "ID2")) .thenReturn(sourceIs[1]); InputStream actualIs = connector.queryResultStream(batchInfo); assertTrue(actualIs instanceof SequenceInputStream); assertEquals(actualIs.read(), a[0]); assertEquals(actualIs.read(), b[0]); }