package org.oransc.policyagent.dmaap;
+import static ch.qos.logback.classic.Level.WARN;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
-import ch.qos.logback.classic.Level;
import ch.qos.logback.classic.spi.ILoggingEvent;
import ch.qos.logback.core.read.ListAppender;
@Test
void unparseableMessage_thenWarning() {
- final ListAppender<ILoggingEvent> logAppender = LoggingUtils.getLogListAppender(DmaapMessageHandler.class);
+ final ListAppender<ILoggingEvent> logAppender =
+ LoggingUtils.getLogListAppender(DmaapMessageHandler.class, WARN);
- testedObject.handleDmaapMsg("bad message");
+ String msg = "bad message";
+ testedObject.handleDmaapMsg(msg);
- assertThat(logAppender.list.get(0).getLevel()).isEqualTo(Level.WARN);
- assertThat(logAppender.list.toString().contains("handleDmaapMsg failure ")).isTrue();
+ assertThat(logAppender.list.get(0).getFormattedMessage()).startsWith(
+ "handleDmaapMsg failure org.oransc.policyagent.exceptions.ServiceException: Received unparsable "
+ + "message from DMAAP: \"" + msg + "\", reason: ");
}
@Test
ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
verify(dmaapClient).send(captor.capture());
String actualMessage = captor.getValue();
- assertThat(actualMessage.contains(HttpStatus.BAD_REQUEST.toString())).isTrue();
+ assertThat(actualMessage.contains(HttpStatus.BAD_REQUEST.toString()))
+ .as("Message \"%s\" sent to DMaaP contains %s", actualMessage, HttpStatus.BAD_REQUEST) //
+ .isTrue();
verify(dmaapClient).sendBatchWithResponse();
verifyNoMoreInteractions(dmaapClient);
verify(dmaapClient).send(captor.capture());
String actualMessage = captor.getValue();
assertThat(actualMessage
- .contains(HttpStatus.BAD_REQUEST + "\",\"message\":\"Not implemented operation: " + badOperation)).isTrue();
+ .contains(HttpStatus.BAD_REQUEST + "\",\"message\":\"Not implemented operation: " + badOperation)) //
+ .as("Message \"%s\" sent to DMaaP contains %s", actualMessage, HttpStatus.BAD_REQUEST) //
+ .isTrue();
verify(dmaapClient).sendBatchWithResponse();
verifyNoMoreInteractions(dmaapClient);
String message = dmaapInputMessage(Operation.PUT).toString();
message = message.replace(",\"payload\":{\"name\":\"name\",\"schema\":\"schema\"}", "");
- final ListAppender<ILoggingEvent> logAppender = LoggingUtils.getLogListAppender(DmaapMessageHandler.class);
+ final ListAppender<ILoggingEvent> logAppender =
+ LoggingUtils.getLogListAppender(DmaapMessageHandler.class, WARN);
testedObject.handleDmaapMsg(message);
- assertThat(logAppender.list.get(0).getLevel()).isEqualTo(Level.WARN);
- assertThat(logAppender.list.toString().contains("Expected payload in message from DMAAP: ")).isTrue();
+ assertThat(logAppender.list.get(0).getFormattedMessage())
+ .startsWith("Expected payload in message from DMAAP: ");
}
}