diff options
author | Hengye <yehui.wang@est.tech> | 2019-03-25 14:32:21 +0000 |
---|---|---|
committer | Hengye <yehui.wang@est.tech> | 2019-03-25 14:32:21 +0000 |
commit | b150aa8197e8a21ab7ad4cf1d91cfa30f56fa3df (patch) | |
tree | 60c296267f496f3b40d838294e8f80b04ceb2607 /models-interactions/model-impl/sdnr/src/test | |
parent | 2a245ef80e39a101015efb164de53f1753fa5d47 (diff) |
migrate model-impl from drools-applications
migrate controlloop/common/model-impl from drools-applicaitons to
policy/models
Issue-ID: POLICY-1264
Change-Id: Ibe0bb5c49a7b1344f4104b30455f52834041e187
Signed-off-by: Hengye <yehui.wang@est.tech>
Diffstat (limited to 'models-interactions/model-impl/sdnr/src/test')
10 files changed, 1011 insertions, 0 deletions
diff --git a/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciCommonHeaderTest.java b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciCommonHeaderTest.java new file mode 100644 index 000000000..c31e9461e --- /dev/null +++ b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciCommonHeaderTest.java @@ -0,0 +1,145 @@ +/*- + * ============LICENSE_START======================================================= + * sdnr + * ================================================================================ + * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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 PciCommonHeaderTest { + + @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/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciRequestTest.java b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciRequestTest.java new file mode 100644 index 000000000..e73d1973d --- /dev/null +++ b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciRequestTest.java @@ -0,0 +1,93 @@ +/*- + * ============LICENSE_START======================================================= + * sdnr + * ================================================================================ + * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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 PciRequestTest { + + @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/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciRequestWrapperTest.java b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciRequestWrapperTest.java new file mode 100644 index 000000000..0b839a861 --- /dev/null +++ b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciRequestWrapperTest.java @@ -0,0 +1,67 @@ +/*- + * ============LICENSE_START======================================================= + * sdnr + * ================================================================================ + * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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 PciRequestWrapperTest { + + @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/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseCodeTest.java b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseCodeTest.java new file mode 100644 index 000000000..e7667ddf7 --- /dev/null +++ b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseCodeTest.java @@ -0,0 +1,56 @@ +/*- + * ============LICENSE_START======================================================= + * sdnr + * ================================================================================ + * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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 PciResponseCodeTest { + + @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/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseTest.java b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseTest.java new file mode 100644 index 000000000..b9ecec33c --- /dev/null +++ b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseTest.java @@ -0,0 +1,118 @@ +/*- + * ============LICENSE_START======================================================= + * sdnr + * ================================================================================ + * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseWrapperTest.java b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseWrapperTest.java new file mode 100644 index 000000000..0673fc036 --- /dev/null +++ b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciResponseWrapperTest.java @@ -0,0 +1,67 @@ +/*- + * ============LICENSE_START======================================================= + * sdnr + * ================================================================================ + * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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 PciResponseWrapperTest { + + @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/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciStatusTest.java b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciStatusTest.java new file mode 100644 index 000000000..594f9620d --- /dev/null +++ b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciStatusTest.java @@ -0,0 +1,75 @@ +/*- + * ============LICENSE_START======================================================= + * sdnr + * ================================================================================ + * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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 PciStatusTest { + + @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/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciWrapperTest.java b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciWrapperTest.java new file mode 100644 index 000000000..e9d1cd673 --- /dev/null +++ b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/PciWrapperTest.java @@ -0,0 +1,116 @@ +/*- + * ============LICENSE_START======================================================= + * sdnr + * ================================================================================ + * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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 PciWrapperTest { + + @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/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/SdnrTest.java b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/SdnrTest.java new file mode 100644 index 000000000..8a32f0a25 --- /dev/null +++ b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/SdnrTest.java @@ -0,0 +1,216 @@ +/*- + * ============LICENSE_START======================================================= + * sdnr + * ================================================================================ + * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/util/SerializationTest.java b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/util/SerializationTest.java new file mode 100644 index 000000000..e71dadc28 --- /dev/null +++ b/models-interactions/model-impl/sdnr/src/test/java/org/onap/policy/sdnr/util/SerializationTest.java @@ -0,0 +1,58 @@ +/*- + * ============LICENSE_START======================================================= + * sdnr + * ================================================================================ + * Copyright (C) 2018 Wipro Limited Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 Nordix Foundation. + * ================================================================================ + * 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 SerializationTest { + + @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)); + } +} |