public void append(LogEvent event) { String formattedIndexName = indexNameFormatter.format(event); itemAppender.append(formattedIndexName, event); }
public void append(LogEvent event) { String formattedIndexName = indexNameFormatter.format(event); itemAppender.append(formattedIndexName, event); }
@Test public void appenderDelegatesToItemAppender() { // given ItemAppender itemAppender = mock(ItemAppender.class); ItemAppenderFactory itemAppenderFactory = mockedItemAppenderFactory(); when(itemAppenderFactory.createInstance(anyBoolean(), any(AbstractLayout.class), any(BatchDelivery.class))) .thenReturn(itemAppender); ElasticsearchAppender appender = createTestElasticsearchAppender(itemAppenderFactory); LogEvent logEvent = mock(LogEvent.class); // when appender.append(logEvent); // then verify(itemAppender, times(1)).append(anyString(), eq(logEvent)); }
@Test public void messageOnlyAbstractStringLayout() { // given ItemAppenderFactory factory = new ItemAppenderFactory(); String formattedIndexName = UUID.randomUUID().toString(); BatchDelivery batchDelivery = mock(BatchDelivery.class); AbstractStringLayout abstractStringLayout = mock(AbstractStringLayout.class); ItemAppender itemAppender = factory.createInstance(true, abstractStringLayout, batchDelivery); String expectedMessage = UUID.randomUUID().toString(); LogEvent logEvent = mock(LogEvent.class); Message message = mock(Message.class); when(message.getFormattedMessage()).thenReturn(expectedMessage); when(logEvent.getMessage()).thenReturn(message); // when itemAppender.append(formattedIndexName, logEvent); // then assertEquals(StringAppender.class, itemAppender.getClass()); verify(abstractStringLayout, never()).toSerializable(any()); verify(batchDelivery).add(indexNameCaptor.capture(), stringLogCaptor.capture()); assertEquals(formattedIndexName, indexNameCaptor.getValue()); assertEquals(expectedMessage, stringLogCaptor.getValue()); }
@Test public void nonMessageOnlyAbstractStringLayout() { // given ItemAppenderFactory factory = new ItemAppenderFactory(); String formattedIndexName = UUID.randomUUID().toString(); BatchDelivery batchDelivery = mock(BatchDelivery.class); AbstractStringLayout stringBasedLayout = mock(AbstractStringLayout.class); ItemAppender itemAppender = factory.createInstance(false, stringBasedLayout, batchDelivery); String expectedMessage = UUID.randomUUID().toString(); when(stringBasedLayout.toSerializable(any(LogEvent.class))).thenReturn(expectedMessage); LogEvent logEvent = createDefaultTestLogEvent(); // when itemAppender.append(formattedIndexName, logEvent); // then assertEquals(StringAppender.class, itemAppender.getClass()); verify(stringBasedLayout).toSerializable(logEventCaptor.capture()); assertEquals(logEvent, logEventCaptor.getValue()); verify(batchDelivery).add(indexNameCaptor.capture(), stringLogCaptor.capture()); assertEquals(formattedIndexName, indexNameCaptor.getValue()); assertEquals(expectedMessage, stringLogCaptor.getValue()); }