From c540e8b138ff06f9ad1e5ee9ff3a70ac9bc99edf Mon Sep 17 00:00:00 2001 From: Jakub Dudycz Date: Thu, 15 Mar 2018 15:49:36 +0100 Subject: Converter unit tests Improved code coverage. Change-Id: Ieff8e92f907a9c45e4c810754d6e3d86e2c5bd0c Issue-ID: APPC-745 Signed-off-by: Jakub Dudycz --- .../org/onap/appc/listener/LCM/TestConverter.java | 94 ------------ .../onap/appc/listener/LCM/conv/ConverterTest.java | 170 +++++++++++++++++++++ 2 files changed, 170 insertions(+), 94 deletions(-) delete mode 100644 appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/LCM/TestConverter.java create mode 100644 appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/LCM/conv/ConverterTest.java (limited to 'appc-event-listener/appc-event-listener-bundle/src/test') diff --git a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/LCM/TestConverter.java b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/LCM/TestConverter.java deleted file mode 100644 index f9fb7f408..000000000 --- a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/LCM/TestConverter.java +++ /dev/null @@ -1,94 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ONAP : APPC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Copyright (C) 2017 Amdocs - * ============================================================================= - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * ECOMP is a trademark and service mark of AT&T Intellectual Property. - * ============LICENSE_END========================================================= - */ - -package org.onap.appc.listener.LCM; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.JsonNode; -import org.junit.Assert; -import org.junit.Test; -import org.onap.appc.listener.LCM.conv.Converter; -import org.onap.appc.listener.LCM.model.DmaapIncomingMessage; -import org.onap.appc.listener.LCM.model.DmaapOutgoingMessage; -import org.onap.appc.listener.util.Mapper; - -public class TestConverter { - - private String jsonInputBodyStr ="{\"input\":{ \"common-header\": { \"timestamp\": \"2016-08-03T08:50:18.97Z\", \"api-ver\": \"1\", \"originator-id\": \"1\", \"request-id\": \"123\", \"sub-request-id\": \"1\", \"flags\": { \"force\":\"TRUE\", \"ttl\":\"9900\" } }, \"action\": \"Stop\", \"action-identifiers\": { \"vnf-id\": \"TEST\" } }}"; - private String jsonOutputBodyStr ="{\"output\":{\"common-header\":{\"timestamp\":\"2016-08-03T08:50:18.97Z\",\"api-ver\":\"1\",\"flags\":{\"force\":\"TRUE\",\"ttl\":\"9900\"},\"sub-request-id\":\"1\",\"request-id\":\"123\",\"originator-id\":\"1\"},\"status\":{\"value\":\"TestException\",\"code\":200}}}"; - - @Test - public void buildDmaapOutgoingMessageWithUnexpectedErrorTest() throws JsonProcessingException { - DmaapIncomingMessage dmaapIncomingMessage = buildDmaapIncomingMessage(); - String errMsg = "TestException"; - DmaapOutgoingMessage dmaapOutgoingMessage = Converter.buildDmaapOutgoingMessageWithUnexpectedError(dmaapIncomingMessage, new Exception(errMsg)); - int code = dmaapOutgoingMessage.getBody().get("output").get("status").get("code").asInt(); - String value = dmaapOutgoingMessage.getBody().get("output").get("status").get("value").asText(); - Assert.assertEquals(200,code); - Assert.assertEquals(errMsg,value); - } - - private static String expectedDmaapOutgoingMessageAsJsonString = "{\"body\":{\"output\":{\"common-header\":{\"timestamp\":\"2016-08-03T08:50:18.97Z\",\"api-ver\":\"1\",\"flags\":{\"force\":\"TRUE\",\"ttl\":\"9900\"},\"sub-request-id\":\"1\",\"request-id\":\"123\",\"originator-id\":\"1\"},\"status\":{\"value\":\"TestException\",\"code\":200}}},\"cambria.partition\":\"MSO\",\"rpc-name\":\"test\"}"; - @Test - public void convDmaapOutgoingMessageToJsonStringTest() throws JsonProcessingException { - DmaapOutgoingMessage dmaapOutgoingMessage = buildDmaapOutgoingMessage(); - String dmaapOutgoingMessageAsJsonString = Converter.convDmaapOutgoingMessageToJsonString(dmaapOutgoingMessage); -// Assert.assertEquals(dmaapOutgoingMessageAsJsonString,dmaapOutgoingMessageAsJsonString); - Assert.assertEquals(expectedDmaapOutgoingMessageAsJsonString,dmaapOutgoingMessageAsJsonString); - } - - private DmaapIncomingMessage buildDmaapIncomingMessage() { - DmaapIncomingMessage dmaapIncomingMessage = new DmaapIncomingMessage(); - dmaapIncomingMessage.setRpcName("test"); - JsonNode jsonNode = Mapper.toJsonNodeFromJsonString(jsonInputBodyStr); - dmaapIncomingMessage.setBody(jsonNode); - return dmaapIncomingMessage; - - } - - private DmaapOutgoingMessage buildDmaapOutgoingMessage() { - DmaapOutgoingMessage dmaapOutgoingMessage = new DmaapOutgoingMessage(); - dmaapOutgoingMessage.setRpcName("test"); - JsonNode jsonNode = Mapper.toJsonNodeFromJsonString(jsonOutputBodyStr); - dmaapOutgoingMessage.setBody(jsonNode); - return dmaapOutgoingMessage; - - } - - - @Test - public void extractRequestIdWithSubIdTest() { - DmaapIncomingMessage dmaapIncomingMessage = buildDmaapIncomingMessage(); - String equestIdWithSubId = Converter.extractRequestIdWithSubId(dmaapIncomingMessage.getBody()); - Assert.assertEquals("123-1",equestIdWithSubId); - } - - @Test - public void extractStatusCodeTest() { - DmaapOutgoingMessage dmaapOutgoingMessage = buildDmaapOutgoingMessage(); - Integer statusCode = Converter.extractStatusCode(dmaapOutgoingMessage.getBody()); - Assert.assertEquals(200L,statusCode.longValue()); - } - -} diff --git a/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/LCM/conv/ConverterTest.java b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/LCM/conv/ConverterTest.java new file mode 100644 index 000000000..f51a6a4d7 --- /dev/null +++ b/appc-event-listener/appc-event-listener-bundle/src/test/java/org/onap/appc/listener/LCM/conv/ConverterTest.java @@ -0,0 +1,170 @@ +/*- + * ============LICENSE_START======================================================= + * ONAP : APPC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Copyright (C) 2017 Amdocs + * ============================================================================= + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ECOMP is a trademark and service mark of AT&T Intellectual Property. + * ============LICENSE_END========================================================= + */ + +package org.onap.appc.listener.LCM.conv; + +import static org.junit.Assert.assertEquals; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonNode; +import org.junit.Assert; +import org.junit.Test; +import org.onap.appc.listener.LCM.model.DmaapIncomingMessage; +import org.onap.appc.listener.LCM.model.DmaapMessage; +import org.onap.appc.listener.LCM.model.DmaapOutgoingMessage; +import org.onap.appc.listener.demo.model.OutgoingMessage; +import org.onap.appc.listener.util.Mapper; +import org.onap.ccsdk.sli.core.sli.SvcLogicException; + +public class ConverterTest { + + private static final String jsonInputBodyStr = "{\"input\":{ \"common-header\": { \"timestamp\": \"2016-08-03T08:50:18.97Z\", " + + "\"api-ver\": \"1\", \"originator-id\": \"1\", \"request-id\": \"123\", \"sub-request-id\": \"1\", " + + "\"flags\": { \"force\":\"TRUE\", \"ttl\":\"9900\" } }, \"action\": \"Stop\", " + + "\"action-identifiers\": { \"vnf-id\": \"TEST\" } }}"; + + private static final String jsonOutputBodyStr = "{\"output\":{\"common-header\":{\"timestamp\":\"2016-08-03T08:50:18.97Z\"," + + "\"api-ver\":\"1\",\"flags\":{\"force\":\"TRUE\",\"ttl\":\"9900\"},\"sub-request-id\":\"1\"," + + "\"request-id\":\"123\",\"originator-id\":\"1\"},\"status\":{\"value\":\"TestException\",\"code\":200}}}"; + + private static final String expectedDmaapOutgoingMessageAsJsonString = "{\"body\":{\"output\":{\"common-header\":" + + "{\"timestamp\":\"2016-08-03T08:50:18.97Z\",\"api-ver\":\"1\",\"flags\":{\"force\":\"TRUE\",\"ttl\":\"9900\"}," + + "\"sub-request-id\":\"1\",\"request-id\":\"123\",\"originator-id\":\"1\"},\"status\":" + + "{\"value\":\"TestException\",\"code\":200}}},\"cambria.partition\":\"MSO\",\"rpc-name\":\"test\"}"; + + + @Test(expected = IllegalArgumentException.class) + public void convertJsonNodeToDmaapOutgoingMessage_should_throw_when_given_null_arguments() { + + Converter.convertJsonNodeToDmaapOutgoingMessage(null, null); + } + + @Test + public void convertJsonNodeToDmaapOutgoingMessage_should_convert_to_outgoing_message() { + + DmaapIncomingMessage message = new DmaapIncomingMessage(); + message.setRpcName("test"); + message.setCorrelationID("test-1"); + message.setVersion("v1"); + JsonNode jsonNode = Mapper.toJsonNodeFromJsonString(jsonInputBodyStr); + message.setBody(jsonNode); + + DmaapOutgoingMessage result = Converter.convertJsonNodeToDmaapOutgoingMessage(message, jsonNode); + + assertEquals("test", result.getRpcName()); + assertEquals("test-1", result.getCorrelationID()); + assertEquals("v1", result.getVersion()); + assertEquals(jsonNode, result.getBody()); + } + + @Test(expected = IllegalArgumentException.class) + public void convertDmaapOutgoingMessageToJsonString_should_throw_when_given_null_arguments() + throws JsonProcessingException { + + Converter.convertDmaapOutgoingMessageToJsonString(null); + } + + @Test + public void convertDmaapOutgoingMessageToJsonString_should_return_converted_json_string() + throws JsonProcessingException { + + DmaapOutgoingMessage message = new DmaapOutgoingMessage(); + message.setRpcName("test"); + JsonNode jsonNode = Mapper.toJsonNodeFromJsonString(jsonOutputBodyStr); + message.setBody(jsonNode); + + assertEquals(expectedDmaapOutgoingMessageAsJsonString, + Converter.convertDmaapOutgoingMessageToJsonString(message)); + } + + @Test(expected = IllegalArgumentException.class) + public void buildDmaapOutgoingMessageWithUnexpectedErrorTest_should_throw_given_null_arguments() + throws JsonProcessingException { + + Converter.buildDmaapOutgoingMessageWithUnexpectedError(null, null); + } + + @Test + public void buildDmaapOutgoingMessageWithUnexpectedErrorTest_should_build_valid_outgoing_message() + throws JsonProcessingException { + + DmaapIncomingMessage dmaapIncomingMessage = buildDmaapIncomingMessage(); + String errMsg = "TestException"; + DmaapOutgoingMessage dmaapOutgoingMessage = Converter + .buildDmaapOutgoingMessageWithUnexpectedError(dmaapIncomingMessage, new Exception(errMsg)); + int code = dmaapOutgoingMessage.getBody().get("output").get("status").get("code").asInt(); + String value = dmaapOutgoingMessage.getBody().get("output").get("status").get("value").asText(); + assertEquals(200, code); + assertEquals(errMsg, value); + } + + + @Test(expected = IllegalArgumentException.class) + public void extractRequestIdWithSubId_should_throw_given_null_argument() throws SvcLogicException { + + Converter.extractRequestIdWithSubId(null); + } + + @Test + public void extractRequestIdWithSubIdTest_should_extract_id_with_subDd() throws SvcLogicException { + DmaapIncomingMessage dmaapIncomingMessage = buildDmaapIncomingMessage(); + + String requestIdWithSubId = Converter.extractRequestIdWithSubId(dmaapIncomingMessage.getBody()); + assertEquals("123-1", requestIdWithSubId); + } + + + + @Test(expected = IllegalArgumentException.class) + public void extractStatusCode_should_throw_given_null_argument() { + Converter.extractStatusCode(null); + } + + + @Test + public void extractStatusCode_should_extract_valid_status_code() { + DmaapOutgoingMessage dmaapOutgoingMessage = buildDmaapOutgoingMessage(); + Integer statusCode = Converter.extractStatusCode(dmaapOutgoingMessage.getBody()); + assertEquals(200L, statusCode.longValue()); + } + + private DmaapIncomingMessage buildDmaapIncomingMessage() { + DmaapIncomingMessage dmaapIncomingMessage = new DmaapIncomingMessage(); + dmaapIncomingMessage.setRpcName("test"); + JsonNode jsonNode = Mapper.toJsonNodeFromJsonString(jsonInputBodyStr); + dmaapIncomingMessage.setBody(jsonNode); + return dmaapIncomingMessage; + + } + + private DmaapOutgoingMessage buildDmaapOutgoingMessage() { + DmaapOutgoingMessage dmaapOutgoingMessage = new DmaapOutgoingMessage(); + dmaapOutgoingMessage.setRpcName("test"); + JsonNode jsonNode = Mapper.toJsonNodeFromJsonString(jsonOutputBodyStr); + dmaapOutgoingMessage.setBody(jsonNode); + return dmaapOutgoingMessage; + + } + +} -- cgit 1.2.3-korg