From 8d0066e435caa66fdd271d14025788299809ab14 Mon Sep 17 00:00:00 2001 From: Pawel Kadlubanski Date: Fri, 11 May 2018 14:35:43 +0200 Subject: Add pnf simulator Issue-ID: INT-458 Change-Id: I6fd6b58e5d302d83e4b4e1d1dfd59247a6df9700 Signed-off-by: Pawel Kadlubanski --- .../pnfsimulator/SimulatorParamsProviderTest.java | 31 ++++++ .../java/org/onap/pnfsimulator/SimulatorTest.java | 12 +++ .../pnfsimulator/message/MessageProviderTest.java | 110 +++++++++++++++++++++ 3 files changed, 153 insertions(+) create mode 100644 test/mocks/pnfsimulator/src/test/java/org/onap/pnfsimulator/SimulatorParamsProviderTest.java create mode 100644 test/mocks/pnfsimulator/src/test/java/org/onap/pnfsimulator/SimulatorTest.java create mode 100644 test/mocks/pnfsimulator/src/test/java/org/onap/pnfsimulator/message/MessageProviderTest.java (limited to 'test/mocks/pnfsimulator/src/test/java') diff --git a/test/mocks/pnfsimulator/src/test/java/org/onap/pnfsimulator/SimulatorParamsProviderTest.java b/test/mocks/pnfsimulator/src/test/java/org/onap/pnfsimulator/SimulatorParamsProviderTest.java new file mode 100644 index 000000000..96397eae1 --- /dev/null +++ b/test/mocks/pnfsimulator/src/test/java/org/onap/pnfsimulator/SimulatorParamsProviderTest.java @@ -0,0 +1,31 @@ +package org.onap.pnfsimulator; + +import org.apache.commons.cli.ParseException; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.onap.pnfsimulator.cli.SimulatorParamsProvider; +import org.onap.pnfsimulator.cli.SimulatorParams; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.assertj.core.api.Java6Assertions.assertThat; + +public class SimulatorParamsProviderTest { + + SimulatorParamsProvider parser; + + @BeforeEach + public void setUp() { + parser = new SimulatorParamsProvider(); + } + + @Test + public void whenParserReceiveArgLisWithTwoCorrectParametersShouldReturnCorrectStructOfParams() + throws ParseException { + String[] arg = new String[]{ + "-address", "http://localhost:808/eventListner/v5", + "-config", "config.json"}; + SimulatorParams params = parser.parse(arg); + assertThat(params.getConfigFilePath()).isEqualToIgnoringCase("config.json"); + assertThat(params.getVesAddress()).isEqualToIgnoringCase("http://localhost:808/eventListner/v5"); + } +} \ No newline at end of file diff --git a/test/mocks/pnfsimulator/src/test/java/org/onap/pnfsimulator/SimulatorTest.java b/test/mocks/pnfsimulator/src/test/java/org/onap/pnfsimulator/SimulatorTest.java new file mode 100644 index 000000000..ccbb72846 --- /dev/null +++ b/test/mocks/pnfsimulator/src/test/java/org/onap/pnfsimulator/SimulatorTest.java @@ -0,0 +1,12 @@ +package org.onap.pnfsimulator; + +import org.assertj.core.api.Assertions; +import org.junit.jupiter.api.Test; + +public class SimulatorTest { + + @Test + public void dummyTestToCheckEnvirometn() { + Assertions.assertThat(true).isTrue(); + } +} \ No newline at end of file diff --git a/test/mocks/pnfsimulator/src/test/java/org/onap/pnfsimulator/message/MessageProviderTest.java b/test/mocks/pnfsimulator/src/test/java/org/onap/pnfsimulator/message/MessageProviderTest.java new file mode 100644 index 000000000..38540577e --- /dev/null +++ b/test/mocks/pnfsimulator/src/test/java/org/onap/pnfsimulator/message/MessageProviderTest.java @@ -0,0 +1,110 @@ +package org.onap.pnfsimulator.message; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.onap.pnfsimulator.message.MessageConstants.COMMON_EVENT_HEADER; +import static org.onap.pnfsimulator.message.MessageConstants.DOMAIN; +import static org.onap.pnfsimulator.message.MessageConstants.EVENT_ID; +import static org.onap.pnfsimulator.message.MessageConstants.EVENT_TYPE; +import static org.onap.pnfsimulator.message.MessageConstants.INTERNAL_HEADER_FIELDS; +import static org.onap.pnfsimulator.message.MessageConstants.LAST_EPOCH_MICROSEC; +import static org.onap.pnfsimulator.message.MessageConstants.OTHER_FIELDS; +import static org.onap.pnfsimulator.message.MessageConstants.OTHER_FIELDS_VERSION; +import static org.onap.pnfsimulator.message.MessageConstants.PNF_LAST_SERVICE_DATE; +import static org.onap.pnfsimulator.message.MessageConstants.PNF_MANUFACTURE_DATE; +import static org.onap.pnfsimulator.message.MessageConstants.PRIORITY; +import static org.onap.pnfsimulator.message.MessageConstants.SEQUENCE; +import static org.onap.pnfsimulator.message.MessageConstants.START_EPOCH_MICROSEC; +import static org.onap.pnfsimulator.message.MessageConstants.VERSION; + +import java.util.UUID; +import org.json.JSONObject; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +public class MessageProviderTest { + + private static final String testParamsJson = + "{\"key1\": \"val1\",\"key2\": \"val2\",\"pnfKey3\": \"pnfVal3\",\"key4\": \"val4\"}"; + + private static MessageProvider messageProvider; + + @BeforeAll + public static void setup() { + messageProvider = MessageProvider.getInstance(); + } + + @Test + public void createMessage_should_throw_when_given_null_argument() { + assertThrows(IllegalArgumentException.class, + () -> messageProvider.createMessage(null), + "Params object cannot be null"); + } + + @Test + public void createMessage_should_create_constant_message_when_no_params_specified() { + JSONObject message = messageProvider.createMessage(new JSONObject()); + + JSONObject commonEventHeader = message.getJSONObject(COMMON_EVENT_HEADER); + JSONObject otherFields = message.getJSONObject(OTHER_FIELDS); + + JSONObject expectedCommonEventHeader = generateConstantCommonEventHeader(); + JSONObject expectedOtherFields = generateConstantOtherFields(); + + expectedCommonEventHeader + .toMap() + .forEach((key, val) -> assertTrue(commonEventHeader.has(key), + () -> String.format("Key %s is not present", key))); + + expectedOtherFields + .toMap() + .forEach((key, val) -> assertTrue(otherFields.has(key), + () -> String.format("Key %s is not present", key))); + } + + + @Test + public void createMessage_should_add_specified_params_to_valid_subobjects() { + JSONObject params = new JSONObject(testParamsJson); + JSONObject message = messageProvider.createMessage(params); + + JSONObject commonEventHeader = message.getJSONObject(COMMON_EVENT_HEADER); + JSONObject otherFields = message.getJSONObject(OTHER_FIELDS); + + assertEquals("pnfVal3", otherFields.getString("pnfKey3")); + assertEquals("val1", commonEventHeader.getString("key1")); + assertEquals("val2", commonEventHeader.getString("key2")); + assertEquals("val4", commonEventHeader.getString("key4")); + } + + + private JSONObject generateConstantCommonEventHeader() { + + JSONObject commonEventHeader = new JSONObject(); + long timestamp = System.currentTimeMillis(); + + commonEventHeader.put(DOMAIN, "other"); + commonEventHeader.put(EVENT_ID, UUID.randomUUID() + "-reg"); + commonEventHeader.put(EVENT_TYPE, "pnfRegistration"); + commonEventHeader.put(LAST_EPOCH_MICROSEC, timestamp); + commonEventHeader.put(PRIORITY, "Normal"); + commonEventHeader.put(SEQUENCE, 0); + commonEventHeader.put(START_EPOCH_MICROSEC, timestamp); + commonEventHeader.put(INTERNAL_HEADER_FIELDS, new JSONObject()); + commonEventHeader.put(VERSION, 3); + + return commonEventHeader; + } + + private JSONObject generateConstantOtherFields() { + JSONObject otherFields = new JSONObject(); + + otherFields.put(OTHER_FIELDS_VERSION, 1); + otherFields.put(PNF_LAST_SERVICE_DATE, 1517206400); + otherFields.put(PNF_MANUFACTURE_DATE, 1516406400); + + return otherFields; + } + +} -- cgit 1.2.3-korg