import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyString;
import org.oransc.policyagent.repository.ImmutablePolicyType;
import org.oransc.policyagent.repository.PolicyType;
import org.oransc.policyagent.utils.LoggingUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.reactive.function.client.WebClientResponseException;
import reactor.core.publisher.Mono;
import reactor.test.StepVerifier;
-public class DmaapMessageHandlerTest {
-
+class DmaapMessageHandlerTest {
+ private static final Logger logger = LoggerFactory.getLogger(DmaapMessageHandlerTest.class);
private static final String URL = "url";
private final MRBatchingPublisher dmaapClient = mock(MRBatchingPublisher.class);
Optional<JsonObject> payload =
((operation == Operation.PUT || operation == Operation.POST) ? Optional.of(payloadAsJson())
: Optional.empty());
- return ImmutableDmaapRequestMessage.builder().apiVersion("apiVersion") //
+ return ImmutableDmaapRequestMessage.builder() //
+ .apiVersion("apiVersion") //
.correlationId("correlationId") //
.operation(operation) //
.originatorId("originatorId") //
.requestId("requestId") //
.target("target") //
.timestamp("timestamp") //
- .type("type") //
.url(URL) //
.build();
}
}
@Test
- public void testMessageParsing() {
+ void testMessageParsing() {
String message = dmaapInputMessage(Operation.DELETE);
- System.out.println(message);
+ logger.info(message);
DmaapRequestMessage parsedMessage = gson.fromJson(message, ImmutableDmaapRequestMessage.class);
- assertTrue(parsedMessage != null);
+ assertNotNull(parsedMessage);
assertFalse(parsedMessage.payload().isPresent());
message = dmaapInputMessage(Operation.PUT);
- System.out.println(message);
+ logger.info(message);
parsedMessage = gson.fromJson(message, ImmutableDmaapRequestMessage.class);
- assertTrue(parsedMessage != null);
+ assertNotNull(parsedMessage);
assertTrue(parsedMessage.payload().isPresent());
}
@Test
- public void unparseableMessage_thenWarning() {
+ void unparseableMessage_thenWarning() {
final ListAppender<ILoggingEvent> logAppender = LoggingUtils.getLogListAppender(DmaapMessageHandler.class);
testedObject.handleDmaapMsg("bad message");
}
@Test
- public void successfulDelete() throws IOException {
+ void successfulDelete() throws IOException {
doReturn(okResponse()).when(agentClient).deleteForEntity(anyString());
doReturn(1).when(dmaapClient).send(anyString());
doReturn(new MRPublisherResponse()).when(dmaapClient).sendBatchWithResponse();
}
@Test
- public void successfulGet() throws IOException {
+ void successfulGet() throws IOException {
doReturn(okResponse()).when(agentClient).getForEntity(anyString());
doReturn(1).when(dmaapClient).send(anyString());
doReturn(new MRPublisherResponse()).when(dmaapClient).sendBatchWithResponse();
}
@Test
- public void successfulPut() throws IOException {
+ void successfulPut() throws IOException {
doReturn(okResponse()).when(agentClient).putForEntity(anyString(), anyString());
doReturn(1).when(dmaapClient).send(anyString());
doReturn(new MRPublisherResponse()).when(dmaapClient).sendBatchWithResponse();
}
@Test
- public void successfulPost() throws IOException {
+ void successfulPost() throws IOException {
doReturn(okResponse()).when(agentClient).postForEntity(anyString(), anyString());
doReturn(1).when(dmaapClient).send(anyString());
doReturn(new MRPublisherResponse()).when(dmaapClient).sendBatchWithResponse();
}
@Test
- public void exceptionWhenCallingPolicyAgent_thenNotFoundResponse() throws IOException {
+ void exceptionWhenCallingPolicyAgent_thenNotFoundResponse() throws IOException {
WebClientResponseException except = new WebClientResponseException(400, "Refused", null, null, null, null);
doReturn(Mono.error(except)).when(agentClient).putForEntity(anyString(), any());
doReturn(1).when(dmaapClient).send(anyString());
}
@Test
- public void unsupportedOperationInMessage_thenNotFoundResponseWithNotImplementedOperation() throws Exception {
+ void unsupportedOperationInMessage_thenNotFoundResponseWithNotImplementedOperation() throws Exception {
String message = dmaapInputMessage(Operation.PUT).toString();
String badOperation = "BAD";
message = message.replace(Operation.PUT.toString(), badOperation);
ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
verify(dmaapClient).send(captor.capture());
String actualMessage = captor.getValue();
- assertThat(actualMessage.contains(HttpStatus.NOT_FOUND + "\",\"message\":\"Not implemented operation:"))
- .isTrue();
+ assertThat(actualMessage
+ .contains(HttpStatus.BAD_REQUEST + "\",\"message\":\"Not implemented operation: " + badOperation)).isTrue();
verify(dmaapClient).sendBatchWithResponse();
verifyNoMoreInteractions(dmaapClient);
}
@Test
- public void putWithoutPayload_thenNotFoundResponseWithWarning() throws Exception {
+ void putWithoutPayload_thenNotFoundResponseWithWarning() throws Exception {
String message = dmaapInputMessage(Operation.PUT).toString();
message = message.replace(",\"payload\":{\"name\":\"name\",\"schema\":\"schema\"}", "");