@Test public void batchDeliveryAddObjectDelegatesToProvidedBatchOperationsObjectApi() { // given Builder batchDeliveryBuilder = createTestBatchDeliveryBuilder(); ClientObjectFactory clientObjectFactory = spy(createTestObjectFactoryBuilder().build()); BatchOperations batchOperations = spy(clientObjectFactory.createBatchOperations()); when(clientObjectFactory.createBatchOperations()).thenReturn(batchOperations); batchDeliveryBuilder.withClientObjectFactory(clientObjectFactory); BatchDelivery batchDelivery = batchDeliveryBuilder.build(); String indexName = UUID.randomUUID().toString(); String logObject = UUID.randomUUID().toString(); // when batchDelivery.add(indexName, logObject); // then verify(batchOperations).createBatchItem(eq(indexName), eq(logObject)); }
@Test public void batchDeliveryAddItemSourceDelegatesToProvidedBatchOperationsItemSourceApi() { // given Builder batchDeliveryBuilder = createTestBatchDeliveryBuilder(); ClientObjectFactory clientObjectFactory = spy(createTestObjectFactoryBuilder().build()); BatchOperations batchOperations = spy(clientObjectFactory.createBatchOperations()); when(clientObjectFactory.createBatchOperations()).thenReturn(batchOperations); batchDeliveryBuilder.withClientObjectFactory(clientObjectFactory); BatchDelivery batchDelivery = batchDeliveryBuilder.build(); String indexName = UUID.randomUUID().toString(); ItemSource itemSource = mock(ItemSource.class); // when batchDelivery.add(indexName, itemSource); // then verify(batchOperations).createBatchItem(eq(indexName), eq(itemSource)); }
@Test public void lifecycleStartDoesntSetUpIndexTemplateExecutionIfIndexTemplateIsNotConfigured() { // given TestHttpObjectFactory objectFactory = spy(createTestObjectFactoryBuilder().build()); BatchDelivery batchDelivery = createTestBatchDeliveryBuilder() .withClientObjectFactory(objectFactory) .withIndexTemplate(null) .build(); // when batchDelivery.start(); // then verify(objectFactory, never()).addOperation(any()); }
@Test public void lifecycleStartSetsUpIndexTemplateExecutionIfIndexTemplateIsConfigured() { // given TestHttpObjectFactory objectFactory = spy(createTestObjectFactoryBuilder().build()); IndexTemplate indexTemplate = mock(IndexTemplate.class); BatchDelivery batchDelivery = createTestBatchDeliveryBuilder() .withClientObjectFactory(objectFactory) .withIndexTemplate(indexTemplate) .build(); // when batchDelivery.start(); // then verify(objectFactory).addOperation(any()); }
@Test(expected = ConfigurationException.class) public void builderFailsWhenClientObjectFactoryIsNull() { // given Builder batchDeliveryBuilder = createTestBatchDeliveryBuilder(); batchDeliveryBuilder.withClientObjectFactory(null); // when batchDeliveryBuilder.build(); }
public static Builder createTestBatchDeliveryBuilder() { return spy(AsyncBatchDelivery.newBuilder() .withBatchSize(TEST_BATCH_SIZE) .withDeliveryInterval(TEST_DELIVERY_INTERVAL) .withClientObjectFactory(createTestObjectFactoryBuilder().build())) .withFailoverPolicy(new NoopFailoverPolicy()) .withIndexTemplate(new IndexTemplate(TEST_INDEX_TEMPLATE, TEST_PATH)); }