From 59d71c593d295b2bd48a9971d89635f95759a0a2 Mon Sep 17 00:00:00 2001 From: Liam Fallon Date: Tue, 16 Jan 2018 18:42:01 +0000 Subject: Fix Sonar Technical Debt, Unit Test for APPC POJOs Mainly making fields private, fixing field and methods to follow Java guidelines, and adding getter and setter methods. Unit test added for all classes in org.onap.policy.appc Change-Id: If3db740bc146a09f8f7387f02c12b048ad00b201 Signed-off-by: Liam Fallon Issue-ID: POLICY-455 Signed-off-by: Liam Fallon --- .../org/onap/policy/appc/TestCommonHeader.java | 174 +++++++++++++++++++++ .../test/java/org/onap/policy/appc/TestEnums.java | 73 +++++++++ .../java/org/onap/policy/appc/TestRequest.java | 120 ++++++++++++++ .../java/org/onap/policy/appc/TestResponse.java | 100 ++++++++++++ .../org/onap/policy/appc/TestResponseStatus.java | 84 ++++++++++ .../onap/policy/appc/util/TestSerialization.java | 55 +++++++ 6 files changed, 606 insertions(+) create mode 100644 controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestCommonHeader.java create mode 100644 controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestEnums.java create mode 100644 controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestRequest.java create mode 100644 controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestResponse.java create mode 100644 controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestResponseStatus.java create mode 100644 controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/util/TestSerialization.java (limited to 'controlloop/common/model-impl/appc/src/test') diff --git a/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestCommonHeader.java b/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestCommonHeader.java new file mode 100644 index 000000000..039117272 --- /dev/null +++ b/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestCommonHeader.java @@ -0,0 +1,174 @@ +/*- + * ============LICENSE_START======================================================= + * appc + * ================================================================================ + * Copyright (C) 2017 AT&T 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========================================================= + */ + +/*- + * ============LICENSE_START======================================================= + * appc + * ================================================================================ + * Copyright (C) 2017 AT&T 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.appc; + +import static org.junit.Assert.*; + +import java.time.Instant; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.UUID; + +import org.junit.Test; + +public class TestCommonHeader { + + @Test + public void testCommonHeader() { + CommonHeader commonHeader = new CommonHeader(); + assertNotNull(commonHeader); + assertNotNull(new CommonHeader(commonHeader)); + assertNotEquals(0, commonHeader.hashCode()); + + commonHeader.setApiVer("Kansas"); + assertEquals("Kansas", commonHeader.getApiVer()); + + List> flagSet = new ArrayList<>(); + commonHeader.setFlags(flagSet); + assertEquals(flagSet, commonHeader.getFlags()); + + commonHeader.setOriginatorID("Dorothy"); + assertEquals("Dorothy", commonHeader.getOriginatorID()); + + UUID requestID = UUID.randomUUID(); + commonHeader.setRequestID(requestID); + assertEquals(requestID, commonHeader.getRequestID()); + + List requestTrackSet = new ArrayList<>(); + commonHeader.setRequestTrack(requestTrackSet); + assertEquals(requestTrackSet, commonHeader.getRequestTrack()); + + 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)); + + CommonHeader copiedCommonHeader = new CommonHeader(); + copiedCommonHeader.setApiVer(commonHeader.getApiVer()); + copiedCommonHeader.setFlags(commonHeader.getFlags()); + copiedCommonHeader.setOriginatorID(commonHeader.getOriginatorID()); + copiedCommonHeader.setRequestID(commonHeader.getRequestID()); + copiedCommonHeader.setRequestTrack(commonHeader.getRequestTrack()); + copiedCommonHeader.setSubRequestID(commonHeader.getSubRequestID()); + copiedCommonHeader.setTimeStamp(commonHeader.getTimeStamp()); + + assertTrue(commonHeader.equals(commonHeader)); + assertTrue(commonHeader.equals(copiedCommonHeader)); + assertFalse(commonHeader.equals(null)); + assertFalse(commonHeader.equals("Hello")); + + CommonHeader clonedCommonHeader = new CommonHeader(commonHeader); + clonedCommonHeader.setApiVer(commonHeader.getApiVer()); + clonedCommonHeader.setTimeStamp(commonHeader.getTimeStamp()); + + assertTrue(commonHeader.equals(clonedCommonHeader)); + + commonHeader.setApiVer(null); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setApiVer(null); + assertTrue(commonHeader.equals(copiedCommonHeader)); + commonHeader.setApiVer("Kansas"); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setApiVer("Kansas"); + assertTrue(commonHeader.equals(copiedCommonHeader)); + + commonHeader.setFlags(null); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setFlags(null); + assertTrue(commonHeader.equals(copiedCommonHeader)); + commonHeader.setFlags(flagSet); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setFlags(flagSet); + assertTrue(commonHeader.equals(copiedCommonHeader)); + + commonHeader.setOriginatorID(null); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setOriginatorID(null); + assertTrue(commonHeader.equals(copiedCommonHeader)); + commonHeader.setOriginatorID("Dorothy"); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setOriginatorID("Dorothy"); + assertTrue(commonHeader.equals(copiedCommonHeader)); + + commonHeader.setRequestID(null); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setRequestID(null); + assertTrue(commonHeader.equals(copiedCommonHeader)); + commonHeader.setRequestID(requestID); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setRequestID(requestID); + assertTrue(commonHeader.equals(copiedCommonHeader)); + + commonHeader.setRequestTrack(null); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setRequestTrack(null); + assertTrue(commonHeader.equals(copiedCommonHeader)); + commonHeader.setRequestTrack(requestTrackSet); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setRequestTrack(requestTrackSet); + assertTrue(commonHeader.equals(copiedCommonHeader)); + + commonHeader.setSubRequestID(null); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setSubRequestID(null); + assertTrue(commonHeader.equals(copiedCommonHeader)); + commonHeader.setSubRequestID("Can I go home?"); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setSubRequestID("Can I go home?"); + assertTrue(commonHeader.equals(copiedCommonHeader)); + + commonHeader.setTimeStamp(null); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setTimeStamp(null); + assertTrue(commonHeader.equals(copiedCommonHeader)); + commonHeader.setTimeStamp(timestamp); + assertFalse(commonHeader.equals(copiedCommonHeader)); + copiedCommonHeader.setTimeStamp(timestamp); + assertTrue(commonHeader.equals(copiedCommonHeader)); + } +} diff --git a/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestEnums.java b/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestEnums.java new file mode 100644 index 000000000..e04da3cce --- /dev/null +++ b/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestEnums.java @@ -0,0 +1,73 @@ +/*- + * ============LICENSE_START======================================================= + * appc + * ================================================================================ + * Copyright (C) 2017 AT&T 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.appc; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class TestEnums { + + @Test + public void testResponseCode() { + assertEquals(5, ResponseCode.values().length); + + assertNull(ResponseCode.toResponseCode(0)); + + assertEquals(ResponseCode.ACCEPT, ResponseCode.toResponseCode(100)); + assertEquals(ResponseCode.ERROR, ResponseCode.toResponseCode(200)); + assertEquals(ResponseCode.REJECT, ResponseCode.toResponseCode(300)); + assertEquals(ResponseCode.SUCCESS, ResponseCode.toResponseCode(400)); + assertEquals(ResponseCode.FAILURE, ResponseCode.toResponseCode(500)); + + assertEquals(100, ResponseCode.ACCEPT.getValue()); + assertEquals(200, ResponseCode.ERROR.getValue()); + assertEquals(300, ResponseCode.REJECT.getValue()); + assertEquals(400, ResponseCode.SUCCESS.getValue()); + assertEquals(500, ResponseCode.FAILURE.getValue()); + + assertEquals("100", ResponseCode.ACCEPT.toString()); + assertEquals("200", ResponseCode.ERROR.toString()); + assertEquals("300", ResponseCode.REJECT.toString()); + assertEquals("400", ResponseCode.SUCCESS.toString()); + assertEquals("500", ResponseCode.FAILURE.toString()); + } + + @Test + public void testResponseValue() { + assertEquals(5, ResponseValue.values().length); + + assertNull(ResponseValue.toResponseValue("Dorothy")); + assertNull(ResponseValue.toResponseValue(null)); + + assertEquals(ResponseValue.ACCEPT, ResponseValue.toResponseValue("ACCEPT")); + assertEquals(ResponseValue.ERROR, ResponseValue.toResponseValue("ERROR")); + assertEquals(ResponseValue.REJECT, ResponseValue.toResponseValue("REJECT")); + assertEquals(ResponseValue.SUCCESS, ResponseValue.toResponseValue("SUCCESS")); + assertEquals(ResponseValue.FAILURE, ResponseValue.toResponseValue("FAILURE")); + + assertEquals("ACCEPT", ResponseValue.ACCEPT.toString()); + assertEquals("ERROR", ResponseValue.ERROR.toString()); + assertEquals("REJECT", ResponseValue.REJECT.toString()); + assertEquals("SUCCESS", ResponseValue.SUCCESS.toString()); + assertEquals("FAILURE", ResponseValue.FAILURE.toString()); + } +} diff --git a/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestRequest.java b/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestRequest.java new file mode 100644 index 000000000..6fdfe0968 --- /dev/null +++ b/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestRequest.java @@ -0,0 +1,120 @@ +/*- + * ============LICENSE_START======================================================= + * appc + * ================================================================================ + * Copyright (C) 2017 AT&T 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.appc; + +import static org.junit.Assert.*; + +import java.util.HashMap; +import java.util.Map; + +import org.junit.Test; + +public class TestRequest { + + @Test + public void testRequest() { + Request request = new Request(); + assertNotNull(request); + assertNotEquals(0, request.hashCode()); + + CommonHeader commonHeader = new CommonHeader(); + + request.setCommonHeader(commonHeader); + assertEquals(commonHeader, request.getCommonHeader()); + + request.setAction("Go to Oz"); + assertEquals("Go to Oz", request.getAction()); + + request.setObjectID("Wizard"); + assertEquals("Wizard", request.getObjectID()); + + request.setTargetID("Oz"); + assertEquals("Oz", request.getTargetID()); + + Map payload = new HashMap<>(); + payload.put("North", "Good Witch"); + payload.put("West", "Bad Witch"); + + request.setPayload(payload); + assertEquals(payload, request.getPayload()); + + assertNotEquals(0, request.hashCode()); + + assertEquals("Request [CommonHeader=CommonHeader [TimeStamp=", request.toString().substring(0, 46)); + + Request copiedRequest = new Request(); + copiedRequest.setCommonHeader(request.getCommonHeader()); + copiedRequest.setAction(request.getAction()); + copiedRequest.setObjectID(request.getObjectID()); + copiedRequest.setPayload(request.getPayload()); + copiedRequest.setTargetID(request.getTargetID()); + + assertTrue(request.equals(request)); + assertTrue(request.equals(copiedRequest)); + assertFalse(request.equals(null)); + assertFalse(request.equals("Hello")); + + request.setCommonHeader(null); + assertFalse(request.equals(copiedRequest)); + copiedRequest.setCommonHeader(null); + assertTrue(request.equals(copiedRequest)); + request.setCommonHeader(commonHeader); + assertFalse(request.equals(copiedRequest)); + copiedRequest.setCommonHeader(commonHeader); + assertTrue(request.equals(copiedRequest)); + + request.setAction(null); + assertFalse(request.equals(copiedRequest)); + copiedRequest.setAction(null); + assertTrue(request.equals(copiedRequest)); + request.setAction("Go to Oz"); + assertFalse(request.equals(copiedRequest)); + copiedRequest.setAction("Go to Oz"); + assertTrue(request.equals(copiedRequest)); + + request.setObjectID(null); + assertFalse(request.equals(copiedRequest)); + copiedRequest.setObjectID(null); + assertTrue(request.equals(copiedRequest)); + request.setObjectID("Wizard"); + assertFalse(request.equals(copiedRequest)); + copiedRequest.setObjectID("Wizard"); + assertTrue(request.equals(copiedRequest)); + + request.setTargetID(null); + assertFalse(request.equals(copiedRequest)); + copiedRequest.setTargetID(null); + assertTrue(request.equals(copiedRequest)); + request.setTargetID("Oz"); + assertFalse(request.equals(copiedRequest)); + copiedRequest.setTargetID("Oz"); + assertTrue(request.equals(copiedRequest)); + + request.setPayload(new HashMap()); + assertFalse(request.equals(copiedRequest)); + copiedRequest.setPayload(new HashMap()); + assertTrue(request.equals(copiedRequest)); + request.setPayload(payload); + assertFalse(request.equals(copiedRequest)); + copiedRequest.setPayload(payload); + assertTrue(request.equals(copiedRequest)); + } +} diff --git a/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestResponse.java b/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestResponse.java new file mode 100644 index 000000000..5306a3344 --- /dev/null +++ b/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestResponse.java @@ -0,0 +1,100 @@ +/*- + * ============LICENSE_START======================================================= + * appc + * ================================================================================ + * Copyright (C) 2017 AT&T 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.appc; + +import static org.junit.Assert.*; + +import java.util.HashMap; +import java.util.Map; + +import org.junit.Test; + +public class TestResponse { + + @Test + public void testResonse() { + Response response = new Response(); + assertNotNull(response); + assertNotNull(new Response(new Request())); + assertNotEquals(0, response.hashCode()); + + CommonHeader commonHeader = new CommonHeader(); + + Request request = new Request(); + request.setCommonHeader(commonHeader); + assertNotNull(new Response(request)); + + response.setCommonHeader(commonHeader); + assertEquals(commonHeader, response.getCommonHeader()); + + ResponseStatus status = new ResponseStatus(); + response.setStatus(status ); + assertEquals(status, response.getStatus()); + + Map payload = new HashMap<>(); + payload.put("North", "Good Witch"); + payload.put("West", "Bad Witch"); + + response.setPayload(payload); + assertEquals(payload, response.getPayload()); + + assertNotEquals(0, response.hashCode()); + + assertEquals("Response [CommonHeader=CommonHeader [TimeStamp=", response.toString().substring(0, 47)); + + Response copiedResponse = new Response(); + copiedResponse.setCommonHeader(response.getCommonHeader()); + copiedResponse.setStatus(response.getStatus()); + copiedResponse.setPayload(response.getPayload()); + + assertTrue(response.equals(response)); + assertTrue(response.equals(copiedResponse)); + assertFalse(response.equals(null)); + assertFalse(response.equals("Hello")); + + response.setCommonHeader(null); + assertFalse(response.equals(copiedResponse)); + copiedResponse.setCommonHeader(null); + assertTrue(response.equals(copiedResponse)); + response.setCommonHeader(commonHeader); + assertFalse(response.equals(copiedResponse)); + copiedResponse.setCommonHeader(commonHeader); + assertTrue(response.equals(copiedResponse)); + + response.setStatus(null); + assertFalse(response.equals(copiedResponse)); + copiedResponse.setStatus(null); + assertTrue(response.equals(copiedResponse)); + response.setStatus(status); + assertFalse(response.equals(copiedResponse)); + copiedResponse.setStatus(status); + assertTrue(response.equals(copiedResponse)); + + response.setPayload(new HashMap()); + assertFalse(response.equals(copiedResponse)); + copiedResponse.setPayload(new HashMap()); + assertTrue(response.equals(copiedResponse)); + response.setPayload(payload); + assertFalse(response.equals(copiedResponse)); + copiedResponse.setPayload(payload); + assertTrue(response.equals(copiedResponse)); + } +} diff --git a/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestResponseStatus.java b/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestResponseStatus.java new file mode 100644 index 000000000..0cac93ca4 --- /dev/null +++ b/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/TestResponseStatus.java @@ -0,0 +1,84 @@ +/*- + * ============LICENSE_START======================================================= + * appc + * ================================================================================ + * Copyright (C) 2017 AT&T 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.appc; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class TestResponseStatus { + + @Test + public void testResonseStatus() { + ResponseStatus status = new ResponseStatus(); + assertNotNull(status); + assertNotEquals(0, status.hashCode()); + + status.setCode(1234); + assertEquals(1234, status.getCode()); + + status.setDescription("The wonderful land of Oz"); + assertEquals("The wonderful land of Oz", status.getDescription()); + + status.setValue("There's no place like home"); + assertEquals("There's no place like home", status.getValue()); + assertNotEquals(0, status.hashCode()); + + assertEquals("ResponseStatus [Code=1234, Value=There's no pla", status.toString().substring(0, 47)); + + ResponseStatus copiedStatus = new ResponseStatus(); + copiedStatus.setCode(status.getCode()); + copiedStatus.setDescription(status.getDescription()); + 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.setDescription(null); + assertFalse(status.equals(copiedStatus)); + copiedStatus.setDescription(null); + assertTrue(status.equals(copiedStatus)); + status.setDescription("The wonderful land of Oz"); + assertFalse(status.equals(copiedStatus)); + copiedStatus.setDescription("The wonderful land of Oz"); + assertTrue(status.equals(copiedStatus)); + + status.setValue(null); + assertFalse(status.equals(copiedStatus)); + copiedStatus.setValue(null); + assertTrue(status.equals(copiedStatus)); + status.setValue("There's no place like home"); + assertFalse(status.equals(copiedStatus)); + copiedStatus.setValue("There's no place like home"); + assertTrue(status.equals(copiedStatus)); + } +} diff --git a/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/util/TestSerialization.java b/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/util/TestSerialization.java new file mode 100644 index 000000000..0a82892ea --- /dev/null +++ b/controlloop/common/model-impl/appc/src/test/java/org/onap/policy/appc/util/TestSerialization.java @@ -0,0 +1,55 @@ +/*- + * ============LICENSE_START======================================================= + * appc + * ================================================================================ + * Copyright (C) 2017 AT&T 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.appc.util; + +import static org.junit.Assert.*; + +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 instant = Instant.ofEpochMilli(1516127215000L); + String instantString = Serialization.gsonPretty.toJson(instant, Instant.class); + assertEquals("1516127215000", instantString); + Instant outInstant = Serialization.gsonPretty.fromJson(instantString, Instant.class); + assertEquals(instant, outInstant); + + ZonedDateTime zdt = ZonedDateTime.ofInstant(instant, ZoneId.of("UTC")); + String zdtString = Serialization.gsonPretty.toJson(zdt, ZonedDateTime.class); + assertEquals("\"2018-01-16 18:26:55.000000+00:00\"", zdtString); + ZonedDateTime outZdt = Serialization.gsonPretty.fromJson(zdtString, ZonedDateTime.class); + assertEquals(zdt.getDayOfWeek(), outZdt.getDayOfWeek()); + + assertNull(Serialization.gsonPretty.fromJson("oz time is weird", ZonedDateTime.class)); + } +} -- cgit 1.2.3-korg