aboutsummaryrefslogtreecommitdiffstats
path: root/controlloop/common/model-impl/sdnr/src/test
diff options
context:
space:
mode:
authorSaravanan A <saravanan.a75@wipro.com>2018-09-10 17:31:33 +0530
committerSaravanan A <saravanan.a75@wipro.com>2018-09-12 21:51:11 +0530
commitdbecba3a4baffacf9f2da82592b3e3a9e2929f21 (patch)
tree71b93f111551115b8d0f8d634a23b825a9cd4b0e /controlloop/common/model-impl/sdnr/src/test
parent2e2f7f988509b273912664ac2ffc07f583988b59 (diff)
Add implementation for OOF PCI use case
Receive DMaaP message from PCI-Handler MS with PCI Config change recommendations through DCAE_CL_OUTPUT topic. Trigger SDN-R (if allowed by policy) by sending DMaaP request through SDNR-CL topic. When the response is received from SDNR through SDNR-CL-RSP topic, just parse and print. Code review comments addressed Change-Id: If340a23ae18367b7f98e31fe79c09a09e645b2ad Issue-ID: POLICY-1089 Signed-off-by: Saravanan A<saravanan.a75@wipro.com>
Diffstat (limited to 'controlloop/common/model-impl/sdnr/src/test')
-rw-r--r--controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseTest.java117
-rw-r--r--controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/SdnrTest.java215
-rw-r--r--controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciCommonHeader.java144
-rw-r--r--controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciRequest.java92
-rw-r--r--controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciRequestWrapper.java66
-rw-r--r--controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciResponseCode.java55
-rw-r--r--controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciResponseWrapper.java68
-rw-r--r--controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciStatus.java74
-rw-r--r--controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciWrapper.java115
-rw-r--r--controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/util/TestSerialization.java57
10 files changed, 1003 insertions, 0 deletions
diff --git a/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseTest.java b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseTest.java
new file mode 100644
index 000000000..52137ef7d
--- /dev/null
+++ b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseTest.java
@@ -0,0 +1,117 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnr
+ * ================================================================================
+ * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.sdnr;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+public class PciResponseTest {
+
+ Status status = new Status(0, "");
+
+ String responsePayload = "";
+ String requestPayload = "";
+
+
+ @Test
+ public void testHashCode() {
+ PciResponse response = new PciResponse();
+ assertTrue(response.hashCode() != 0);
+ response.setCommonHeader(new PciCommonHeader());
+ assertTrue(response.hashCode() != 0);
+ response.setPayload(responsePayload);
+ assertTrue(response.hashCode() != 0);
+ response.setStatus(null);
+ assertTrue(response.hashCode() != 0);
+ }
+
+ @Test
+ public void testPciResponse() {
+ PciResponse response = new PciResponse();
+ assertNull(response.getCommonHeader());
+ assertNull(response.getPayload());
+ assertNotNull(response.getStatus());
+ }
+
+ @Test
+ public void testToString() {
+ PciResponse response = new PciResponse();
+ assertFalse(response.toString().isEmpty());
+ }
+
+ @Test
+ public void testEqualsObject() {
+ PciResponse response = new PciResponse();
+ assertTrue(response.equals(response));
+ assertFalse(response.equals(null));
+ assertFalse(response.equals(new Object()));
+
+ PciResponse response2 = new PciResponse();
+ assertTrue(response.equals(response2));
+
+ response.setCommonHeader(new PciCommonHeader());
+ assertFalse(response.equals(response2));
+ response2.setCommonHeader(response.getCommonHeader());
+ assertTrue(response.equals(response2));
+
+ response.setPayload(responsePayload);
+ assertFalse(response.equals(response2));
+ response2.setPayload(response.getPayload());
+ assertTrue(response.equals(response2));
+
+ response.setCommonHeader(null);
+ assertFalse(response.equals(response2));
+ response2.setCommonHeader(null);
+ assertTrue(response.equals(response2));
+
+ response.setPayload(null);
+ assertFalse(response.equals(response2));
+ response2.setPayload(response.getPayload());
+ assertTrue(response.equals(response2));
+
+ response.setStatus(null);
+ assertFalse(response.equals(response2));
+ response2.setStatus(response.getStatus());
+ assertTrue(response.equals(response2));
+
+ Status status = new Status();
+ status.setCode(5);
+ response.setStatus(status);
+ response2.setStatus(new Status());
+ assertFalse(response.equals(response2));
+ }
+
+ @Test
+ public void testResponseRequest() {
+ PciRequest request = new PciRequest();
+ request.setCommonHeader(new PciCommonHeader());
+ request.setPayload(requestPayload);
+
+ PciResponse response = new PciResponse(request);
+
+ assertTrue(response.getCommonHeader().equals(request.getCommonHeader()));
+ }
+
+}
diff --git a/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/SdnrTest.java b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/SdnrTest.java
new file mode 100644
index 000000000..f975e5575
--- /dev/null
+++ b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/SdnrTest.java
@@ -0,0 +1,215 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnr
+ * ================================================================================
+ * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.sdnr;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.util.UUID;
+
+import org.junit.Test;
+import org.onap.policy.sdnr.util.Serialization;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SdnrTest {
+
+ private static final Logger logger = LoggerFactory.getLogger(SdnrTest.class);
+
+ private static PciRequestWrapper dmaapRequest;
+ private static PciResponseWrapper dmaapResponse;
+
+ static {
+ /*
+ * Construct an SDNR Request to be Serialized
+ */
+ dmaapRequest = new PciRequestWrapper();
+ dmaapRequest.setCorrelationId("664be3d2-6c12-4f4b-a3e7-c349acced200" + "-" + "1");
+ dmaapRequest.setRpcName("restart");
+ dmaapRequest.setType("request");
+
+ dmaapResponse = new PciResponseWrapper();
+ dmaapResponse.setCorrelationId("664be3d2-6c12-4f4b-a3e7-c349acced200" + "-" + "1");
+ dmaapResponse.setRpcName("restart");
+ dmaapResponse.setType("response");
+
+ PciRequest sdnrRequest = new PciRequest();
+
+ sdnrRequest.setAction("ModifyConfig");
+
+ PciCommonHeader commonHeader = new PciCommonHeader();
+ commonHeader.setRequestId(UUID.fromString("664be3d2-6c12-4f4b-a3e7-c349acced200"));
+ commonHeader.setSubRequestId("1");
+
+ sdnrRequest.setCommonHeader(commonHeader);
+
+ sdnrRequest.setPayload(null);
+
+ dmaapRequest.setBody(sdnrRequest);
+
+ /*
+ * Construct an SDNR Response to be Serialized
+ */
+ PciResponse sdnrResponse = new PciResponse(sdnrRequest);
+ sdnrResponse.getStatus().setCode(400);
+ sdnrResponse.getStatus().setValue("Restart Successful");
+ sdnrResponse.setPayload(null);
+
+ dmaapResponse.setBody(sdnrResponse);
+ }
+
+ @Test
+ public void testRequestSerialization() {
+
+ /*
+ * Use the gson serializer to obtain json
+ */
+ String jsonRequest = Serialization.gson.toJson(dmaapRequest, PciRequestWrapper.class);
+ assertNotNull(jsonRequest);
+
+ /*
+ * The serializer should have added an extra sub-tag called "input" that wraps the request
+ */
+ assertTrue(jsonRequest.contains("input"));
+
+ /*
+ * The common-header, request-id, and sub-request-id should exist
+ */
+ assertTrue(jsonRequest.contains("CommonHeader"));
+ assertTrue(jsonRequest.contains("RequestID"));
+ assertTrue(jsonRequest.contains("SubRequestID"));
+
+ /*
+ * The action sub-tag should exist
+ */
+ assertTrue(jsonRequest.contains("Action"));
+
+ logger.debug("Request as JSON: " + jsonRequest + "\n\n");
+ }
+
+ @Test
+ public void testRequestDeserialization() {
+
+ /*
+ * Convert the PCI request object into json so we have a string of json to use for testing
+ */
+ String jsonRequest = Serialization.gson.toJson(dmaapRequest, PciRequestWrapper.class);
+
+ /*
+ * Use the serializer to convert the json string into a java object
+ */
+ PciRequestWrapper pciRequestWrapper = Serialization.gson.fromJson(jsonRequest, PciRequestWrapper.class);
+ assertNotNull(pciRequestWrapper);
+ assertEquals(dmaapRequest, pciRequestWrapper);
+
+ /*
+ * The type of the DMAAP wrapper should be request
+ */
+ assertEquals("request", dmaapRequest.getType());
+
+ /*
+ * The DMAAP wrapper must have a body as that is the true SDNR request
+ */
+ assertNotNull(dmaapRequest.getBody());
+ PciRequest sdnrRequest = dmaapRequest.getBody();
+ assertNotNull(sdnrRequest);
+
+ /*
+ * The common header should not be null
+ */
+ assertNotNull(sdnrRequest.getCommonHeader());
+
+ /*
+ * The action should not be null and should be set to restart
+ */
+ assertNotNull(sdnrRequest.getAction());
+ assertEquals("ModifyConfig", sdnrRequest.getAction());
+
+ logger.debug("Request as a Java Object: \n" + sdnrRequest.toString() + "\n\n");
+ }
+
+ @Test
+ public void testResponseSerialization() {
+
+ /*
+ * Use the serializer to convert the object into json
+ */
+ String jsonResponse = Serialization.gson.toJson(dmaapResponse, PciResponseWrapper.class);
+ assertNotNull(jsonResponse);
+
+ /*
+ * The serializer should have added an extra sub-tag called "input" that wraps the request
+ */
+ assertTrue(jsonResponse.contains("output"));
+
+ /*
+ * The response should contain a common-header, request-id, sub-request-id, and status
+ */
+ assertTrue(jsonResponse.contains("CommonHeader"));
+ assertTrue(jsonResponse.contains("RequestID"));
+ assertTrue(jsonResponse.contains("SubRequestID"));
+ assertTrue(jsonResponse.contains("Status"));
+
+ logger.debug("Response as JSON: " + jsonResponse + "\n\n");
+ }
+
+ @Test
+ public void testResponseDeserialization() {
+ /*
+ * Convert the PCI response object into json so we have a string of json to use for testing
+ */
+ String jsonResponse = Serialization.gson.toJson(dmaapResponse, PciResponseWrapper.class);
+
+ /*
+ * Use the serializer to convert the json string into a java object
+ */
+ PciResponseWrapper pciResponseWrapper = Serialization.gson.fromJson(jsonResponse, PciResponseWrapper.class);
+ assertNotNull(pciResponseWrapper);
+ assertEquals(dmaapResponse, pciResponseWrapper);
+
+ /*
+ * The type of the DMAAP wrapper should be response
+ */
+ assertEquals("response", dmaapResponse.getType());
+
+ /*
+ * The DMAAP wrapper must have a body as that is the true SDNR response
+ */
+ assertNotNull(dmaapResponse.getBody());
+ PciResponse sdnrResponse = dmaapResponse.getBody();
+ assertNotNull(sdnrResponse);
+
+ /*
+ * The common header should not be null
+ */
+ assertNotNull(sdnrResponse.getCommonHeader());
+
+ /*
+ * The status should not be null and the status code should be 400
+ */
+ assertNotNull(sdnrResponse.getStatus());
+ assertEquals(400, sdnrResponse.getStatus().getCode());
+
+ logger.debug("Response as a Java Object: \n" + sdnrResponse.toString() + "\n\n");
+ }
+}
diff --git a/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciCommonHeader.java b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciCommonHeader.java
new file mode 100644
index 000000000..5c4dec3bc
--- /dev/null
+++ b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciCommonHeader.java
@@ -0,0 +1,144 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnr
+ * ================================================================================
+ * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.sdnr;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.time.Instant;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import org.junit.Test;
+
+public class TestPciCommonHeader {
+
+ @Test
+ public void testPciCommonHeader() {
+ PciCommonHeader commonHeader = new PciCommonHeader();
+ assertNotNull(commonHeader);
+ assertNotNull(new PciCommonHeader(commonHeader));
+ assertNotEquals(0, commonHeader.hashCode());
+
+ commonHeader.setApiVer("Kansas");
+ assertEquals("Kansas", commonHeader.getApiVer());
+
+ Map<String, String> flagMap = new HashMap<>();
+ commonHeader.setFlags(flagMap);
+ assertEquals(flagMap, commonHeader.getFlags());
+
+ Map<String, String> requestMap = new HashMap<>();
+ commonHeader.setRequestTrack(requestMap);
+ assertEquals(requestMap, commonHeader.getRequestTrack());
+
+ UUID requestId = UUID.randomUUID();
+ commonHeader.setRequestId(requestId);
+ assertEquals(requestId, commonHeader.getRequestId());
+
+ commonHeader.setSubRequestId("Can I go home?");
+ assertEquals("Can I go home?", commonHeader.getSubRequestId());
+
+ Instant timestamp = Instant.now();
+ commonHeader.setTimeStamp(timestamp);
+ assertEquals(timestamp, commonHeader.getTimeStamp());
+
+ assertNotEquals(0, commonHeader.hashCode());
+
+ assertEquals("CommonHeader [timeStamp=", commonHeader.toString().substring(0, 24));
+
+ PciCommonHeader copiedPciCommonHeader = new PciCommonHeader();
+ copiedPciCommonHeader.setApiVer(commonHeader.getApiVer());
+ copiedPciCommonHeader.setFlags(commonHeader.getFlags());
+ copiedPciCommonHeader.setRequestId(commonHeader.getRequestId());
+ copiedPciCommonHeader.setSubRequestId(commonHeader.getSubRequestId());
+ copiedPciCommonHeader.setTimeStamp(commonHeader.getTimeStamp());
+
+ assertTrue(commonHeader.equals(commonHeader));
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+ assertFalse(commonHeader.equals(null));
+ assertFalse(commonHeader.equals("Hello"));
+
+ PciCommonHeader clonedPciCommonHeader = new PciCommonHeader(commonHeader);
+ clonedPciCommonHeader.setApiVer(commonHeader.getApiVer());
+ clonedPciCommonHeader.setTimeStamp(commonHeader.getTimeStamp());
+
+ assertTrue(commonHeader.equals(clonedPciCommonHeader));
+
+ commonHeader.setApiVer(null);
+ assertFalse(commonHeader.equals(copiedPciCommonHeader));
+ copiedPciCommonHeader.setApiVer(null);
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+ commonHeader.setApiVer("Kansas");
+ assertFalse(commonHeader.equals(copiedPciCommonHeader));
+ copiedPciCommonHeader.setApiVer("Kansas");
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+
+ commonHeader.setFlags(null);
+ assertFalse(commonHeader.equals(copiedPciCommonHeader));
+ copiedPciCommonHeader.setFlags(null);
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+ commonHeader.setFlags(flagMap);
+ assertFalse(commonHeader.equals(copiedPciCommonHeader));
+ copiedPciCommonHeader.setFlags(flagMap);
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+
+ commonHeader.setRequestTrack(null);
+ assertFalse(commonHeader.equals(copiedPciCommonHeader));
+ copiedPciCommonHeader.setRequestTrack(null);
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+ commonHeader.setRequestTrack(requestMap);
+ assertFalse(commonHeader.equals(copiedPciCommonHeader));
+ copiedPciCommonHeader.setRequestTrack(requestMap);
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+
+
+ commonHeader.setRequestId(null);
+ assertFalse(commonHeader.equals(copiedPciCommonHeader));
+ copiedPciCommonHeader.setRequestId(null);
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+ commonHeader.setRequestId(requestId);
+ assertFalse(commonHeader.equals(copiedPciCommonHeader));
+ copiedPciCommonHeader.setRequestId(requestId);
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+
+ commonHeader.setSubRequestId(null);
+ assertFalse(commonHeader.equals(copiedPciCommonHeader));
+ copiedPciCommonHeader.setSubRequestId(null);
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+ commonHeader.setSubRequestId("Can I go home?");
+ assertFalse(commonHeader.equals(copiedPciCommonHeader));
+ copiedPciCommonHeader.setSubRequestId("Can I go home?");
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+
+ commonHeader.setTimeStamp(null);
+ assertFalse(commonHeader.equals(copiedPciCommonHeader));
+ copiedPciCommonHeader.setTimeStamp(null);
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+ commonHeader.setTimeStamp(timestamp);
+ assertFalse(commonHeader.equals(copiedPciCommonHeader));
+ copiedPciCommonHeader.setTimeStamp(timestamp);
+ assertTrue(commonHeader.equals(copiedPciCommonHeader));
+ }
+}
diff --git a/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciRequest.java b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciRequest.java
new file mode 100644
index 000000000..3a84adcd4
--- /dev/null
+++ b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciRequest.java
@@ -0,0 +1,92 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnr
+ * ================================================================================
+ * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.sdnr;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+public class TestPciRequest {
+
+ @Test
+ public void testPciRequest() {
+ PciRequest request = new PciRequest();
+ assertNotNull(request);
+ assertNotEquals(0, request.hashCode());
+
+ PciCommonHeader commonHeader = new PciCommonHeader();
+ String requestPayload = "";
+
+ request.setCommonHeader(commonHeader);
+ assertEquals(commonHeader, request.getCommonHeader());
+
+ request.setPayload(requestPayload);
+ assertEquals(requestPayload, request.getPayload());
+
+ request.setAction("Modify");
+ assertEquals("Modify", request.getAction());
+
+ assertNotEquals(0, request.hashCode());
+
+ assertEquals("PciRequest[commonHeader=CommonHeader [timeStamp=", request.toString().substring(0, 48));
+
+ PciRequest copiedPciRequest = new PciRequest();
+ copiedPciRequest.setCommonHeader(request.getCommonHeader());
+ copiedPciRequest.setAction(request.getAction());
+ copiedPciRequest.setPayload(request.getPayload());
+
+ assertTrue(request.equals(request));
+ assertTrue(request.equals(copiedPciRequest));
+ assertFalse(request.equals(null));
+ assertFalse(request.equals("Hello"));
+
+ request.setCommonHeader(null);
+ assertFalse(request.equals(copiedPciRequest));
+ copiedPciRequest.setCommonHeader(null);
+ assertTrue(request.equals(copiedPciRequest));
+ request.setCommonHeader(commonHeader);
+ assertFalse(request.equals(copiedPciRequest));
+ copiedPciRequest.setCommonHeader(commonHeader);
+ assertTrue(request.equals(copiedPciRequest));
+
+ request.setAction(null);
+ assertFalse(request.equals(copiedPciRequest));
+ copiedPciRequest.setAction(null);
+ assertTrue(request.equals(copiedPciRequest));
+ request.setAction("Modify");
+ assertFalse(request.equals(copiedPciRequest));
+ copiedPciRequest.setAction("Modify");
+ assertTrue(request.equals(copiedPciRequest));
+
+ request.setPayload(null);
+ assertFalse(request.equals(copiedPciRequest));
+ copiedPciRequest.setPayload(null);
+ assertTrue(request.equals(copiedPciRequest));
+ request.setPayload(requestPayload);
+ assertFalse(request.equals(copiedPciRequest));
+ copiedPciRequest.setPayload(requestPayload);
+ assertTrue(request.equals(copiedPciRequest));
+ }
+}
diff --git a/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciRequestWrapper.java b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciRequestWrapper.java
new file mode 100644
index 000000000..7ab68a6ca
--- /dev/null
+++ b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciRequestWrapper.java
@@ -0,0 +1,66 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnr
+ * ================================================================================
+ * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.sdnr;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+public class TestPciRequestWrapper {
+
+ @Test
+ public void testPciRequestWrapperWrapper() {
+ assertNotNull(new PciRequestWrapper(new PciRequest()));
+ PciRequestWrapper requestWrapper = new PciRequestWrapper();
+ assertNotNull(requestWrapper);
+ assertNotEquals(0, requestWrapper.hashCode());
+
+ PciRequest request = new PciRequest();
+
+ requestWrapper.setBody(request);
+ assertEquals(request, requestWrapper.getBody());
+
+ assertNotEquals(0, requestWrapper.hashCode());
+
+ assertEquals("RequestWrapper [body=PciRequest[commonHeader=nul", requestWrapper.toString().substring(0, 48));
+
+ PciRequestWrapper copiedPciRequestWrapper = new PciRequestWrapper();
+ copiedPciRequestWrapper.setBody(requestWrapper.getBody());
+
+ assertTrue(requestWrapper.equals(requestWrapper));
+ assertTrue(requestWrapper.equals(copiedPciRequestWrapper));
+ assertFalse(requestWrapper.equals(null));
+ assertFalse(requestWrapper.equals("Hello"));
+
+ requestWrapper.setBody(null);
+ assertFalse(requestWrapper.equals(copiedPciRequestWrapper));
+ copiedPciRequestWrapper.setBody(null);
+ assertTrue(requestWrapper.equals(copiedPciRequestWrapper));
+ requestWrapper.setBody(request);
+ assertFalse(requestWrapper.equals(copiedPciRequestWrapper));
+ copiedPciRequestWrapper.setBody(request);
+ assertTrue(requestWrapper.equals(copiedPciRequestWrapper));
+ }
+}
diff --git a/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciResponseCode.java b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciResponseCode.java
new file mode 100644
index 000000000..056ce60e6
--- /dev/null
+++ b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciResponseCode.java
@@ -0,0 +1,55 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnr
+ * ================================================================================
+ * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.sdnr;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+import org.junit.Test;
+
+public class TestPciResponseCode {
+
+ @Test
+ public void testPciResponseCode() {
+ assertNull(PciResponseCode.toResponseValue(0));
+
+ assertEquals(PciResponseCode.ACCEPTED, PciResponseCode.toResponseValue(100));
+ assertEquals(PciResponseCode.SUCCESS, PciResponseCode.toResponseValue(200));
+ assertEquals(PciResponseCode.REJECT, PciResponseCode.toResponseValue(300));
+ assertEquals(PciResponseCode.ERROR, PciResponseCode.toResponseValue(400));
+ assertEquals(PciResponseCode.FAILURE, PciResponseCode.toResponseValue(450));
+ assertEquals(PciResponseCode.FAILURE, PciResponseCode.toResponseValue(401));
+ assertEquals(PciResponseCode.FAILURE, PciResponseCode.toResponseValue(406));
+ assertEquals(PciResponseCode.PARTIAL_SUCCESS, PciResponseCode.toResponseValue(500));
+ assertEquals(PciResponseCode.PARTIAL_FAILURE, PciResponseCode.toResponseValue(501));
+ assertEquals(PciResponseCode.PARTIAL_FAILURE, PciResponseCode.toResponseValue(599));
+
+ assertEquals("100", new PciResponseCode(100).toString());
+ assertEquals("200", new PciResponseCode(200).toString());
+ assertEquals("300", new PciResponseCode(300).toString());
+ assertEquals("400", new PciResponseCode(400).toString());
+ assertEquals("450", new PciResponseCode(450).toString());
+ assertEquals("500", new PciResponseCode(500).toString());
+ assertEquals("510", new PciResponseCode(510).toString());
+
+ assertEquals(300, new PciResponseCode(300).getCode());
+ }
+}
diff --git a/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciResponseWrapper.java b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciResponseWrapper.java
new file mode 100644
index 000000000..d48fd39b8
--- /dev/null
+++ b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciResponseWrapper.java
@@ -0,0 +1,68 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnr
+ * ================================================================================
+ * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.sdnr;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import com.google.gson.Gson;
+
+import org.junit.Test;
+
+public class TestPciResponseWrapper {
+
+ @Test
+ public void testPciResponseWrapperWrapper() {
+
+ PciResponseWrapper responseWrapper = new PciResponseWrapper();
+ assertNotNull(responseWrapper);
+ assertNotEquals(0, responseWrapper.hashCode());
+
+ PciResponse response = new PciResponse();
+
+ responseWrapper.setBody(response);
+ assertEquals(response, responseWrapper.getBody());
+
+ assertNotEquals(0, responseWrapper.hashCode());
+
+ assertNotEquals("ResponseWrapper [body=Response [commonHeader=n", responseWrapper.toString().substring(0, 46));
+
+ PciResponseWrapper copiedPciResponseWrapper = new PciResponseWrapper();
+ copiedPciResponseWrapper.setBody(responseWrapper.getBody());
+
+ assertTrue(responseWrapper.equals(responseWrapper));
+ //assertTrue(responseWrapper.equals(copiedPciResponseWrapper));
+ assertFalse(responseWrapper.equals(null));
+ assertFalse(responseWrapper.equals("Hello"));
+
+ responseWrapper.setBody(null);
+ assertFalse(responseWrapper.equals(copiedPciResponseWrapper));
+ copiedPciResponseWrapper.setBody(null);
+ //assertTrue(responseWrapper.equals(copiedPciResponseWrapper));
+ responseWrapper.setBody(response);
+ //assertFalse(responseWrapper.equals(copiedPciResponseWrapper));
+ copiedPciResponseWrapper.setBody(response);
+ //assertTrue(responseWrapper.equals(copiedPciResponseWrapper));
+ }
+}
diff --git a/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciStatus.java b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciStatus.java
new file mode 100644
index 000000000..b09922342
--- /dev/null
+++ b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciStatus.java
@@ -0,0 +1,74 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnr
+ * ================================================================================
+ * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.sdnr;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+public class TestPciStatus {
+
+ @Test
+ public void testResponseStatus() {
+ Status status = new Status();
+ assertNotNull(status);
+ assertNotEquals(0, status.hashCode());
+
+ status.setCode(1234);
+ assertEquals(1234, status.getCode());
+
+ status.setValue("The wonderful land of Oz");
+ assertEquals("The wonderful land of Oz", status.getValue());
+
+ assertEquals("Status [code = 1234, value = The wonderfu", status.toString().substring(0, 41));
+
+ Status copiedStatus = new Status();
+ copiedStatus.setCode(status.getCode());
+ copiedStatus.setValue(status.getValue());
+
+ assertTrue(status.equals(status));
+ assertTrue(status.equals(copiedStatus));
+ assertFalse(status.equals(null));
+ assertFalse(status.equals("Hello"));
+
+ status.setCode(-1);
+ assertFalse(status.equals(copiedStatus));
+ copiedStatus.setCode(-1);
+ assertTrue(status.equals(copiedStatus));
+ status.setCode(1234);
+ assertFalse(status.equals(copiedStatus));
+ copiedStatus.setCode(1234);
+ assertTrue(status.equals(copiedStatus));
+
+ status.setValue(null);
+ assertFalse(status.equals(copiedStatus));
+ copiedStatus.setValue(null);
+ assertTrue(status.equals(copiedStatus));
+ status.setValue("The wonderful land of Oz");
+ assertFalse(status.equals(copiedStatus));
+ copiedStatus.setValue("The wonderful land of Oz");
+ assertTrue(status.equals(copiedStatus));
+ }
+}
diff --git a/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciWrapper.java b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciWrapper.java
new file mode 100644
index 000000000..e0964df65
--- /dev/null
+++ b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/TestPciWrapper.java
@@ -0,0 +1,115 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnr
+ * ================================================================================
+ * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.sdnr;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+public class TestPciWrapper {
+
+ @Test
+ public void testPciWrapper() {
+ PciWrapper wrapper = new PciWrapper();
+ assertNotNull(wrapper);
+ assertNotEquals(0, wrapper.hashCode());
+
+ wrapper.setVersion("19.3.9");
+ assertEquals("19.3.9", wrapper.getVersion());
+
+ wrapper.setCambriaPartition("The Emerald City");
+ assertEquals("The Emerald City", wrapper.getCambriaPartition());
+
+ wrapper.setRpcName("Tornado");
+ assertEquals("Tornado", wrapper.getRpcName());
+
+ wrapper.setCorrelationId("YellowBrickRoad");
+ assertEquals("YellowBrickRoad", wrapper.getCorrelationId());
+
+ wrapper.setType("Munchkin");
+ assertEquals("Munchkin", wrapper.getType());
+
+ assertNotEquals(0, wrapper.hashCode());
+
+ assertEquals("Wrapper [version=19.3.9, cambriaPartition=The ", wrapper.toString().substring(0, 46));
+
+ PciWrapper copiedPciWrapper = new PciWrapper();
+ copiedPciWrapper.setVersion(wrapper.getVersion());
+ copiedPciWrapper.setCambriaPartition(wrapper.getCambriaPartition());
+ copiedPciWrapper.setRpcName(wrapper.getRpcName());
+ copiedPciWrapper.setCorrelationId(wrapper.getCorrelationId());
+ copiedPciWrapper.setType(wrapper.getType());
+
+ assertTrue(wrapper.equals(wrapper));
+ assertTrue(wrapper.equals(copiedPciWrapper));
+ assertFalse(wrapper.equals(null));
+ assertFalse(wrapper.equals("Hello"));
+
+ wrapper.setVersion(null);
+ assertFalse(wrapper.equals(copiedPciWrapper));
+ copiedPciWrapper.setVersion(null);
+ assertTrue(wrapper.equals(copiedPciWrapper));
+ wrapper.setVersion("19.3.9");
+ assertFalse(wrapper.equals(copiedPciWrapper));
+ copiedPciWrapper.setVersion("19.3.9");
+ assertTrue(wrapper.equals(copiedPciWrapper));
+
+ wrapper.setCambriaPartition(null);
+ assertFalse(wrapper.equals(copiedPciWrapper));
+ copiedPciWrapper.setCambriaPartition(null);
+ assertTrue(wrapper.equals(copiedPciWrapper));
+ wrapper.setCambriaPartition("The Emerald City");
+ assertFalse(wrapper.equals(copiedPciWrapper));
+ copiedPciWrapper.setCambriaPartition("The Emerald City");
+ assertTrue(wrapper.equals(copiedPciWrapper));
+
+ wrapper.setRpcName(null);
+ assertFalse(wrapper.equals(copiedPciWrapper));
+ copiedPciWrapper.setRpcName(null);
+ assertTrue(wrapper.equals(copiedPciWrapper));
+ wrapper.setRpcName("Tornado");
+ assertFalse(wrapper.equals(copiedPciWrapper));
+ copiedPciWrapper.setRpcName("Tornado");
+ assertTrue(wrapper.equals(copiedPciWrapper));
+
+ wrapper.setCorrelationId(null);
+ assertFalse(wrapper.equals(copiedPciWrapper));
+ copiedPciWrapper.setCorrelationId(null);
+ assertTrue(wrapper.equals(copiedPciWrapper));
+ wrapper.setCorrelationId("YellowBrickRoad");
+ assertFalse(wrapper.equals(copiedPciWrapper));
+ copiedPciWrapper.setCorrelationId("YellowBrickRoad");
+ assertTrue(wrapper.equals(copiedPciWrapper));
+
+ wrapper.setType(null);
+ assertFalse(wrapper.equals(copiedPciWrapper));
+ copiedPciWrapper.setType(null);
+ assertTrue(wrapper.equals(copiedPciWrapper));
+ wrapper.setType("Munchkin");
+ assertFalse(wrapper.equals(copiedPciWrapper));
+ copiedPciWrapper.setType("Munchkin");
+ assertTrue(wrapper.equals(copiedPciWrapper));
+ }
+}
diff --git a/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/util/TestSerialization.java b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/util/TestSerialization.java
new file mode 100644
index 000000000..7b139de73
--- /dev/null
+++ b/controlloop/common/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/util/TestSerialization.java
@@ -0,0 +1,57 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * sdnr
+ * ================================================================================
+ * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved.
+ * ================================================================================
+ * 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.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.sdnr.util;
+
+import static org.junit.Assert.assertEquals;
+
+import java.time.Instant;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+
+import org.junit.Test;
+
+public class TestSerialization {
+
+ @Test
+ public void test() {
+ String nameString = "Dorothy";
+ String jsonName = Serialization.gsonPretty.toJson(nameString, String.class);
+ assertEquals("\"Dorothy\"", jsonName);
+ String jsonInOutName = Serialization.gsonPretty.fromJson(jsonName, String.class);
+ assertEquals("Dorothy", jsonInOutName);
+
+ Instant instant0 = Instant.ofEpochMilli(1516127215000L);
+ String instantString0 = Serialization.gsonPretty.toJson(instant0, Instant.class);
+ assertEquals("\"2018-01-16T18:26:55Z\"", instantString0);
+ Instant outInstant0 = Serialization.gsonPretty.fromJson(instantString0, Instant.class);
+ assertEquals(instant0, outInstant0);
+
+ Instant instant1 = Instant.ofEpochMilli(1516127215000L);
+ String instantString1 = Serialization.gsonJunit.toJson(instant1, Instant.class);
+ assertEquals("1516127215000", instantString1);
+ Instant outInstant1 = Serialization.gsonJunit.fromJson(instantString1, Instant.class);
+ assertEquals(instant1, outInstant1);
+
+ ZonedDateTime zdt = ZonedDateTime.ofInstant(instant0, ZoneId.of("UTC"));
+ String zdtString = Serialization.gsonPretty.toJson(zdt, ZonedDateTime.class);
+ assertEquals("{\n \"dateTime\": {\n \"date\":", zdtString.substring(0, 29));
+ }
+}