From bb462937523947c6f0ca622bc0ea3eb505442ad2 Mon Sep 17 00:00:00 2001 From: Liam Fallon Date: Wed, 17 Jan 2018 12:03:50 +0000 Subject: Fix Technical Debt, Unit Test for APPCLCM 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.appclcm Issue-ID: POLICY-455 Change-Id: Iae873f94a236cc9faeac5542a9633ca840b696ed Signed-off-by: Liam Fallon --- .../java/org/onap/policy/appclcm/LCMRequest.java | 2 +- .../org/onap/policy/appclcm/LCMResponseCode.java | 6 +- .../org/onap/policy/appclcm/LCMResponseStatus.java | 144 +++++++++---------- .../java/org/onap/policy/appclcm/LCMWrapper.java | 2 +- .../onap/policy/appclcm/util/Serialization.java | 149 ++++++++++--------- .../java/org/onap/policy/appclcm/AppcLcmTest.java | 8 +- .../onap/policy/appclcm/TestLCMCommonHeader.java | 159 +++++++++++++++++++++ .../org/onap/policy/appclcm/TestLCMRequest.java | 107 ++++++++++++++ .../onap/policy/appclcm/TestLCMRequestWrapper.java | 62 ++++++++ .../onap/policy/appclcm/TestLCMResonseCode.java | 54 +++++++ .../onap/policy/appclcm/TestLCMResponseStatus.java | 70 +++++++++ .../policy/appclcm/TestLCMResponseWrapper.java | 61 ++++++++ .../org/onap/policy/appclcm/TestLCMWrapper.java | 111 ++++++++++++++ .../onap/policy/applcm/util/TestSerialization.java | 58 ++++++++ 14 files changed, 835 insertions(+), 158 deletions(-) create mode 100644 controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMCommonHeader.java create mode 100644 controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMRequest.java create mode 100644 controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMRequestWrapper.java create mode 100644 controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMResonseCode.java create mode 100644 controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMResponseStatus.java create mode 100644 controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMResponseWrapper.java create mode 100644 controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMWrapper.java create mode 100644 controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/applcm/util/TestSerialization.java (limited to 'controlloop') diff --git a/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMRequest.java b/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMRequest.java index 51db7fef0..83442d9bf 100644 --- a/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMRequest.java +++ b/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMRequest.java @@ -42,7 +42,7 @@ public class LCMRequest implements Serializable { private String payload; public LCMRequest() { - + // Create a default LCM request } public LCMCommonHeader getCommonHeader() { diff --git a/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMResponseCode.java b/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMResponseCode.java index 85427c468..8a7c36d2b 100644 --- a/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMResponseCode.java +++ b/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMResponseCode.java @@ -33,10 +33,10 @@ public class LCMResponseCode { private Integer code; - private LCMResponseCode(int code) { - this.code = code; + protected LCMResponseCode(final int code) { + this.code = code; } - + public int getCode() { return this.code; } diff --git a/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMResponseStatus.java b/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMResponseStatus.java index 131e331bf..1db4e8ef7 100644 --- a/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMResponseStatus.java +++ b/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMResponseStatus.java @@ -25,83 +25,83 @@ import java.io.Serializable; public class LCMResponseStatus implements Serializable { - private static final long serialVersionUID = 974891505135467199L; - - @SerializedName(value="code") - private int code; - - @SerializedName(value="message") - private String message; - - public LCMResponseStatus() { - - } + private static final long serialVersionUID = 974891505135467199L; - /** - * @return the code - */ - public int getCode() { - return code; - } - - /** - * @param code the code to set - */ - public void setCode(int code) { - this.code = code; - } + @SerializedName(value="code") + private int code; - /** - * @return the message - */ - public String getMessage() { - return message; - } + @SerializedName(value="message") + private String message; - /** - * @param message the message to set - */ - public void setMessage(String message) { - this.message = message; - } + public LCMResponseStatus() { + // Create a default LCMResponseStatus instance + } - @Override - public String toString() { - return "ResponseStatus [code=" + code + ", message=" + message + "]"; - } + /** + * @return the code + */ + public int getCode() { + return code; + } - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + code; - result = prime * result + ((message == null) ? 0 : message.hashCode()); - return result; - } + /** + * @param code the code to set + */ + public void setCode(int code) { + this.code = code; + } - @Override - public boolean equals(Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - LCMResponseStatus other = (LCMResponseStatus) obj; - if (code != other.code) { - return false; - } - if (message == null) { - if (other.message != null) { - return false; - } - } else if (!message.equals(other.message)) { - return false; - } - return true; - } + /** + * @return the message + */ + public String getMessage() { + return message; + } + + /** + * @param message the message to set + */ + public void setMessage(String message) { + this.message = message; + } + + @Override + public String toString() { + return "ResponseStatus [code=" + code + ", message=" + message + "]"; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + code; + result = prime * result + ((message == null) ? 0 : message.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + LCMResponseStatus other = (LCMResponseStatus) obj; + if (code != other.code) { + return false; + } + if (message == null) { + if (other.message != null) { + return false; + } + } else if (!message.equals(other.message)) { + return false; + } + return true; + } } diff --git a/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMWrapper.java b/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMWrapper.java index c9f72c2e2..c70e7423a 100644 --- a/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMWrapper.java +++ b/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/LCMWrapper.java @@ -43,7 +43,7 @@ public class LCMWrapper implements Serializable { private String type; public LCMWrapper() { - + // Create a default LCMWrapper instance } /** diff --git a/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/util/Serialization.java b/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/util/Serialization.java index e41fa3653..5a5e2e2e6 100644 --- a/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/util/Serialization.java +++ b/controlloop/common/model-impl/appclcm/src/main/java/org/onap/policy/appclcm/util/Serialization.java @@ -32,88 +32,83 @@ import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import com.google.gson.JsonParseException; import com.google.gson.JsonPrimitive; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; public final class Serialization { + private Serialization() { + } - public static class RequestAdapter implements JsonSerializer, JsonDeserializer { - - @Override - public JsonElement serialize(LCMRequest src, Type typeOfSrc, JsonSerializationContext context) { - JsonElement requestJson = gsonPretty.toJsonTree(src, LCMRequest.class); - JsonObject input = new JsonObject(); - input.add("input", requestJson); - - return input; - } - - @Override - public LCMRequest deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) - throws JsonParseException { - LCMRequest request = gsonPretty.fromJson(json.getAsJsonObject().get("input"), LCMRequest.class); - return request; - } - } - - public static class ResponseAdapter implements JsonSerializer, JsonDeserializer { - - @Override - public JsonElement serialize(LCMResponse src, Type typeOfSrc, JsonSerializationContext context) { - JsonElement responseJson = gsonPretty.toJsonTree(src, LCMResponse.class); - JsonObject output = new JsonObject(); - output.add("output", responseJson); - return output; - } - - @Override - public LCMResponse deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) - throws JsonParseException { - LCMResponse response = gsonPretty.fromJson(json.getAsJsonObject().get("output"), LCMResponse.class); - return response; - } - } - - public static class InstantAdapter implements JsonSerializer, JsonDeserializer { - - @Override - public Instant deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) - throws JsonParseException { - return Instant.parse(json.getAsString()); - } - - @Override - public JsonElement serialize(Instant src, Type typeOfSrc, JsonSerializationContext context) { - return new JsonPrimitive(src.toString()); - } - - } - - public static class InstantJunitAdapter implements JsonSerializer, JsonDeserializer { - - @Override - public Instant deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) - throws JsonParseException { - return Instant.ofEpochMilli(json.getAsLong()); - } - - @Override - public JsonElement serialize(Instant src, Type typeOfSrc, JsonSerializationContext context) { - return new JsonPrimitive(src.toEpochMilli()); - } - - } - - public static final Gson gsonPretty = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting() - .registerTypeAdapter(Instant.class, new InstantAdapter()).create(); - - public static final Gson gson = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting() - .registerTypeAdapter(LCMRequest.class, new RequestAdapter()) - .registerTypeAdapter(LCMResponse.class, new ResponseAdapter()).create(); - - public static final Gson gsonJunit = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting() - .registerTypeAdapter(Instant.class, new InstantJunitAdapter()).create(); + public static class RequestAdapter implements JsonSerializer, JsonDeserializer { + + @Override + public JsonElement serialize(LCMRequest src, Type typeOfSrc, JsonSerializationContext context) { + JsonElement requestJson = gsonPretty.toJsonTree(src, LCMRequest.class); + JsonObject input = new JsonObject(); + input.add("input", requestJson); + + return input; + } + + @Override + public LCMRequest deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) { + return gsonPretty.fromJson(json.getAsJsonObject().get("input"), LCMRequest.class); + } + } + + public static class ResponseAdapter implements JsonSerializer, JsonDeserializer { + + @Override + public JsonElement serialize(LCMResponse src, Type typeOfSrc, JsonSerializationContext context) { + JsonElement responseJson = gsonPretty.toJsonTree(src, LCMResponse.class); + JsonObject output = new JsonObject(); + output.add("output", responseJson); + return output; + } + + @Override + public LCMResponse deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) { + return gsonPretty.fromJson(json.getAsJsonObject().get("output"), LCMResponse.class); + } + } + + public static class InstantAdapter implements JsonSerializer, JsonDeserializer { + + @Override + public Instant deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) { + return Instant.parse(json.getAsString()); + } + + @Override + public JsonElement serialize(Instant src, Type typeOfSrc, JsonSerializationContext context) { + return new JsonPrimitive(src.toString()); + } + + } + + public static class InstantJunitAdapter implements JsonSerializer, JsonDeserializer { + + @Override + public Instant deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) { + return Instant.ofEpochMilli(json.getAsLong()); + } + + @Override + public JsonElement serialize(Instant src, Type typeOfSrc, JsonSerializationContext context) { + return new JsonPrimitive(src.toEpochMilli()); + } + + } + + public static final Gson gsonPretty = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting() + .registerTypeAdapter(Instant.class, new InstantAdapter()).create(); + + public static final Gson gson = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting() + .registerTypeAdapter(LCMRequest.class, new RequestAdapter()) + .registerTypeAdapter(LCMResponse.class, new ResponseAdapter()).create(); + + public static final Gson gsonJunit = new GsonBuilder().disableHtmlEscaping().setPrettyPrinting() + .registerTypeAdapter(Instant.class, new InstantJunitAdapter()).create(); } diff --git a/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/AppcLcmTest.java b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/AppcLcmTest.java index 41bafe498..2d58bfd99 100644 --- a/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/AppcLcmTest.java +++ b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/AppcLcmTest.java @@ -140,7 +140,7 @@ public class AppcLcmTest { /* * The type of the DMAAP wrapper should be request */ - assertEquals(dmaapRequest.getType(), "request"); + assertEquals("request", dmaapRequest.getType()); /* * The DMAAP wrapper must have a body as that is @@ -160,7 +160,7 @@ public class AppcLcmTest { * set to restart */ assertNotNull(appcRequest.getAction()); - assertEquals(appcRequest.getAction(), "restart"); + assertEquals("restart", appcRequest.getAction()); /* * The action-identifiers should not be null @@ -217,7 +217,7 @@ public class AppcLcmTest { /* * The type of the DMAAP wrapper should be response */ - assertEquals(dmaapResponse.getType(), "response"); + assertEquals("response", dmaapResponse.getType()); /* * The DMAAP wrapper must have a body as that is @@ -237,7 +237,7 @@ public class AppcLcmTest { * status code should be 400 */ assertNotNull(appcResponse.getStatus()); - assertEquals(appcResponse.getStatus().getCode(), 400); + assertEquals(400, appcResponse.getStatus().getCode()); logger.debug("Response as a Java Object: \n" + appcResponse.toString() + "\n\n"); } diff --git a/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMCommonHeader.java b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMCommonHeader.java new file mode 100644 index 000000000..6921068e5 --- /dev/null +++ b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMCommonHeader.java @@ -0,0 +1,159 @@ +/*- + * ============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.appclcm; + +import static org.junit.Assert.*; + +import java.time.Instant; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +import org.junit.Test; + +public class TestLCMCommonHeader { + + @Test + public void testLCMLCMCommonHeader() { + LCMCommonHeader commonHeader = new LCMCommonHeader(); + assertNotNull(commonHeader); + assertNotNull(new LCMCommonHeader(commonHeader)); + assertNotEquals(0, commonHeader.hashCode()); + + commonHeader.setApiVer("Kansas"); + assertEquals("Kansas", commonHeader.getApiVer()); + + Map flagMap = new HashMap<>(); + commonHeader.setFlags(flagMap); + assertEquals(flagMap, commonHeader.getFlags()); + + commonHeader.setOriginatorId("Dorothy"); + assertEquals("Dorothy", commonHeader.getOriginatorId()); + + 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)); + + LCMCommonHeader copiedLCMCommonHeader = new LCMCommonHeader(); + copiedLCMCommonHeader.setApiVer(commonHeader.getApiVer()); + copiedLCMCommonHeader.setFlags(commonHeader.getFlags()); + copiedLCMCommonHeader.setOriginatorId(commonHeader.getOriginatorId()); + copiedLCMCommonHeader.setRequestId(commonHeader.getRequestId()); + copiedLCMCommonHeader.setSubRequestId(commonHeader.getSubRequestId()); + copiedLCMCommonHeader.setTimeStamp(commonHeader.getTimeStamp()); + + assertTrue(commonHeader.equals(commonHeader)); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + assertFalse(commonHeader.equals(null)); + assertFalse(commonHeader.equals("Hello")); + + LCMCommonHeader clonedLCMCommonHeader = new LCMCommonHeader(commonHeader); + clonedLCMCommonHeader.setApiVer(commonHeader.getApiVer()); + clonedLCMCommonHeader.setTimeStamp(commonHeader.getTimeStamp()); + + assertTrue(commonHeader.equals(clonedLCMCommonHeader)); + + commonHeader.setApiVer(null); + assertFalse(commonHeader.equals(copiedLCMCommonHeader)); + copiedLCMCommonHeader.setApiVer(null); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + commonHeader.setApiVer("Kansas"); + assertFalse(commonHeader.equals(copiedLCMCommonHeader)); + copiedLCMCommonHeader.setApiVer("Kansas"); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + + commonHeader.setFlags(null); + assertFalse(commonHeader.equals(copiedLCMCommonHeader)); + copiedLCMCommonHeader.setFlags(null); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + commonHeader.setFlags(flagMap); + assertFalse(commonHeader.equals(copiedLCMCommonHeader)); + copiedLCMCommonHeader.setFlags(flagMap); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + + commonHeader.setOriginatorId(null); + assertFalse(commonHeader.equals(copiedLCMCommonHeader)); + copiedLCMCommonHeader.setOriginatorId(null); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + commonHeader.setOriginatorId("Dorothy"); + assertFalse(commonHeader.equals(copiedLCMCommonHeader)); + copiedLCMCommonHeader.setOriginatorId("Dorothy"); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + + commonHeader.setRequestId(null); + assertFalse(commonHeader.equals(copiedLCMCommonHeader)); + copiedLCMCommonHeader.setRequestId(null); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + commonHeader.setRequestId(requestId); + assertFalse(commonHeader.equals(copiedLCMCommonHeader)); + copiedLCMCommonHeader.setRequestId(requestId); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + + commonHeader.setSubRequestId(null); + assertFalse(commonHeader.equals(copiedLCMCommonHeader)); + copiedLCMCommonHeader.setSubRequestId(null); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + commonHeader.setSubRequestId("Can I go home?"); + assertFalse(commonHeader.equals(copiedLCMCommonHeader)); + copiedLCMCommonHeader.setSubRequestId("Can I go home?"); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + + commonHeader.setTimeStamp(null); + assertFalse(commonHeader.equals(copiedLCMCommonHeader)); + copiedLCMCommonHeader.setTimeStamp(null); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + commonHeader.setTimeStamp(timestamp); + assertFalse(commonHeader.equals(copiedLCMCommonHeader)); + copiedLCMCommonHeader.setTimeStamp(timestamp); + assertTrue(commonHeader.equals(copiedLCMCommonHeader)); + } +} diff --git a/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMRequest.java b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMRequest.java new file mode 100644 index 000000000..223e50147 --- /dev/null +++ b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMRequest.java @@ -0,0 +1,107 @@ +/*- + * ============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.appclcm; + +import static org.junit.Assert.*; + +import java.util.HashMap; +import java.util.Map; + +import org.junit.Test; + +public class TestLCMRequest { + + @Test + public void testLCMRequest() { + LCMRequest request = new LCMRequest(); + assertNotNull(request); + assertNotEquals(0, request.hashCode()); + + LCMCommonHeader commonHeader = new LCMCommonHeader(); + + request.setCommonHeader(commonHeader); + assertEquals(commonHeader, request.getCommonHeader()); + + request.setAction("Go to Oz"); + assertEquals("Go to Oz", request.getAction()); + + Map actionIdentifiers = new HashMap<>(); + actionIdentifiers.put("North", "Good Witch"); + actionIdentifiers.put("West", "Bad Witch"); + + request.setActionIdentifiers(actionIdentifiers); + assertEquals(actionIdentifiers, request.getActionIdentifiers()); + + request.setPayload("The Emerald City"); + assertEquals("The Emerald City", request.getPayload()); + + assertNotEquals(0, request.hashCode()); + + assertEquals("Request [commonHeader=CommonHeader [timeStamp=", request.toString().substring(0, 46)); + + LCMRequest copiedLCMRequest = new LCMRequest(); + copiedLCMRequest.setCommonHeader(request.getCommonHeader()); + copiedLCMRequest.setAction(request.getAction()); + copiedLCMRequest.setActionIdentifiers(request.getActionIdentifiers()); + copiedLCMRequest.setPayload(request.getPayload()); + + assertTrue(request.equals(request)); + assertTrue(request.equals(copiedLCMRequest)); + assertFalse(request.equals(null)); + assertFalse(request.equals("Hello")); + + request.setCommonHeader(null); + assertFalse(request.equals(copiedLCMRequest)); + copiedLCMRequest.setCommonHeader(null); + assertTrue(request.equals(copiedLCMRequest)); + request.setCommonHeader(commonHeader); + assertFalse(request.equals(copiedLCMRequest)); + copiedLCMRequest.setCommonHeader(commonHeader); + assertTrue(request.equals(copiedLCMRequest)); + + request.setAction(null); + assertFalse(request.equals(copiedLCMRequest)); + copiedLCMRequest.setAction(null); + assertTrue(request.equals(copiedLCMRequest)); + request.setAction("Go to Oz"); + assertFalse(request.equals(copiedLCMRequest)); + copiedLCMRequest.setAction("Go to Oz"); + assertTrue(request.equals(copiedLCMRequest)); + + request.setActionIdentifiers(null); + assertFalse(request.equals(copiedLCMRequest)); + copiedLCMRequest.setActionIdentifiers(null); + assertTrue(request.equals(copiedLCMRequest)); + request.setActionIdentifiers(actionIdentifiers); + assertFalse(request.equals(copiedLCMRequest)); + copiedLCMRequest.setActionIdentifiers(actionIdentifiers); + assertTrue(request.equals(copiedLCMRequest)); + + request.setPayload(null); + assertFalse(request.equals(copiedLCMRequest)); + copiedLCMRequest.setPayload(null); + assertTrue(request.equals(copiedLCMRequest)); + request.setPayload("The Emerald City"); + assertFalse(request.equals(copiedLCMRequest)); + copiedLCMRequest.setPayload("The Emerald City"); + assertTrue(request.equals(copiedLCMRequest)); + } +} diff --git a/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMRequestWrapper.java b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMRequestWrapper.java new file mode 100644 index 000000000..0a5205509 --- /dev/null +++ b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMRequestWrapper.java @@ -0,0 +1,62 @@ +/*- + * ============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.appclcm; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class TestLCMRequestWrapper { + + @Test + public void testLCMRequestWrapperWrapper() { + assertNotNull(new LCMRequestWrapper(new LCMRequest())); + LCMRequestWrapper requestWrapper = new LCMRequestWrapper(); + assertNotNull(requestWrapper); + assertNotEquals(0, requestWrapper.hashCode()); + + LCMRequest request = new LCMRequest(); + + requestWrapper.setBody(request); + assertEquals(request, requestWrapper.getBody()); + + assertNotEquals(0, requestWrapper.hashCode()); + + assertEquals("RequestWrapper [body=Request [commonHeader=nul", requestWrapper.toString().substring(0, 46)); + + LCMRequestWrapper copiedLCMRequestWrapper = new LCMRequestWrapper(); + copiedLCMRequestWrapper.setBody(requestWrapper.getBody()); + + assertTrue(requestWrapper.equals(requestWrapper)); + assertTrue(requestWrapper.equals(copiedLCMRequestWrapper)); + assertFalse(requestWrapper.equals(null)); + assertFalse(requestWrapper.equals("Hello")); + + requestWrapper.setBody(null); + assertFalse(requestWrapper.equals(copiedLCMRequestWrapper)); + copiedLCMRequestWrapper.setBody(null); + assertTrue(requestWrapper.equals(copiedLCMRequestWrapper)); + requestWrapper.setBody(request); + assertFalse(requestWrapper.equals(copiedLCMRequestWrapper)); + copiedLCMRequestWrapper.setBody(request); + assertTrue(requestWrapper.equals(copiedLCMRequestWrapper)); + } +} diff --git a/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMResonseCode.java b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMResonseCode.java new file mode 100644 index 000000000..59606f8b4 --- /dev/null +++ b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMResonseCode.java @@ -0,0 +1,54 @@ +/*- + * ============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.appclcm; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class TestLCMResonseCode { + + @Test + public void testLCMResponseCode() { + assertNull(LCMResponseCode.toResponseValue(0)); + + assertEquals(LCMResponseCode.ACCEPTED, LCMResponseCode.toResponseValue(100)); + assertEquals(LCMResponseCode.ERROR, LCMResponseCode.toResponseValue(200)); + assertEquals(LCMResponseCode.REJECT, LCMResponseCode.toResponseValue(300)); + assertEquals(LCMResponseCode.SUCCESS, LCMResponseCode.toResponseValue(400)); + assertEquals(LCMResponseCode.FAILURE, LCMResponseCode.toResponseValue(450)); + assertEquals(LCMResponseCode.FAILURE, LCMResponseCode.toResponseValue(401)); + assertEquals(LCMResponseCode.FAILURE, LCMResponseCode.toResponseValue(406)); + assertEquals(LCMResponseCode.PARTIAL_SUCCESS, LCMResponseCode.toResponseValue(500)); + assertEquals(LCMResponseCode.PARTIAL_FAILURE, LCMResponseCode.toResponseValue(501)); + assertEquals(LCMResponseCode.PARTIAL_FAILURE, LCMResponseCode.toResponseValue(599)); + + assertEquals("100", new LCMResponseCode(100).toString()); + assertEquals("200", new LCMResponseCode(200).toString()); + assertEquals("300", new LCMResponseCode(300).toString()); + assertEquals("400", new LCMResponseCode(400).toString()); + assertEquals("450", new LCMResponseCode(450).toString()); + assertEquals("500", new LCMResponseCode(500).toString()); + assertEquals("510", new LCMResponseCode(510).toString()); + + assertEquals(300, new LCMResponseCode(300).getCode()); + } +} diff --git a/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMResponseStatus.java b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMResponseStatus.java new file mode 100644 index 000000000..0b6cbcf22 --- /dev/null +++ b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMResponseStatus.java @@ -0,0 +1,70 @@ +/*- + * ============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.appclcm; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class TestLCMResponseStatus { + + @Test + public void testResonseStatus() { + LCMResponseStatus status = new LCMResponseStatus(); + assertNotNull(status); + assertNotEquals(0, status.hashCode()); + + status.setCode(1234); + assertEquals(1234, status.getCode()); + + status.setMessage("The wonderful land of Oz"); + assertEquals("The wonderful land of Oz", status.getMessage()); + + assertEquals("ResponseStatus [code=1234, message=The wonderfu", status.toString().substring(0, 47)); + + LCMResponseStatus copiedStatus = new LCMResponseStatus(); + copiedStatus.setCode(status.getCode()); + copiedStatus.setMessage(status.getMessage()); + + 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.setMessage(null); + assertFalse(status.equals(copiedStatus)); + copiedStatus.setMessage(null); + assertTrue(status.equals(copiedStatus)); + status.setMessage("The wonderful land of Oz"); + assertFalse(status.equals(copiedStatus)); + copiedStatus.setMessage("The wonderful land of Oz"); + assertTrue(status.equals(copiedStatus)); + } +} diff --git a/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMResponseWrapper.java b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMResponseWrapper.java new file mode 100644 index 000000000..d27fbaff3 --- /dev/null +++ b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMResponseWrapper.java @@ -0,0 +1,61 @@ +/*- + * ============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.appclcm; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class TestLCMResponseWrapper { + + @Test + public void testLCMResponseWrapperWrapper() { + LCMResponseWrapper responseWrapper = new LCMResponseWrapper(); + assertNotNull(responseWrapper); + assertNotEquals(0, responseWrapper.hashCode()); + + LCMResponse response = new LCMResponse(); + + responseWrapper.setBody(response); + assertEquals(response, responseWrapper.getBody()); + + assertNotEquals(0, responseWrapper.hashCode()); + + assertEquals("ResponseWrapper [body=Response [commonHeader=n", responseWrapper.toString().substring(0, 46)); + + LCMResponseWrapper copiedLCMResponseWrapper = new LCMResponseWrapper(); + copiedLCMResponseWrapper.setBody(responseWrapper.getBody()); + + assertTrue(responseWrapper.equals(responseWrapper)); + assertTrue(responseWrapper.equals(copiedLCMResponseWrapper)); + assertFalse(responseWrapper.equals(null)); + assertFalse(responseWrapper.equals("Hello")); + + responseWrapper.setBody(null); + assertFalse(responseWrapper.equals(copiedLCMResponseWrapper)); + copiedLCMResponseWrapper.setBody(null); + assertTrue(responseWrapper.equals(copiedLCMResponseWrapper)); + responseWrapper.setBody(response); + assertFalse(responseWrapper.equals(copiedLCMResponseWrapper)); + copiedLCMResponseWrapper.setBody(response); + assertTrue(responseWrapper.equals(copiedLCMResponseWrapper)); + } +} diff --git a/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMWrapper.java b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMWrapper.java new file mode 100644 index 000000000..20baf154d --- /dev/null +++ b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/appclcm/TestLCMWrapper.java @@ -0,0 +1,111 @@ +/*- + * ============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.appclcm; + +import static org.junit.Assert.*; + +import org.junit.Test; + +public class TestLCMWrapper { + + @Test + public void testLCMWrapper() { + LCMWrapper wrapper = new LCMWrapper(); + 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)); + + LCMWrapper copiedLCMWrapper = new LCMWrapper(); + copiedLCMWrapper.setVersion(wrapper.getVersion()); + copiedLCMWrapper.setCambriaPartition(wrapper.getCambriaPartition()); + copiedLCMWrapper.setRpcName(wrapper.getRpcName()); + copiedLCMWrapper.setCorrelationId(wrapper.getCorrelationId()); + copiedLCMWrapper.setType(wrapper.getType()); + + assertTrue(wrapper.equals(wrapper)); + assertTrue(wrapper.equals(copiedLCMWrapper)); + assertFalse(wrapper.equals(null)); + assertFalse(wrapper.equals("Hello")); + + wrapper.setVersion(null); + assertFalse(wrapper.equals(copiedLCMWrapper)); + copiedLCMWrapper.setVersion(null); + assertTrue(wrapper.equals(copiedLCMWrapper)); + wrapper.setVersion("19.3.9"); + assertFalse(wrapper.equals(copiedLCMWrapper)); + copiedLCMWrapper.setVersion("19.3.9"); + assertTrue(wrapper.equals(copiedLCMWrapper)); + + wrapper.setCambriaPartition(null); + assertFalse(wrapper.equals(copiedLCMWrapper)); + copiedLCMWrapper.setCambriaPartition(null); + assertTrue(wrapper.equals(copiedLCMWrapper)); + wrapper.setCambriaPartition("The Emerald City"); + assertFalse(wrapper.equals(copiedLCMWrapper)); + copiedLCMWrapper.setCambriaPartition("The Emerald City"); + assertTrue(wrapper.equals(copiedLCMWrapper)); + + wrapper.setRpcName(null); + assertFalse(wrapper.equals(copiedLCMWrapper)); + copiedLCMWrapper.setRpcName(null); + assertTrue(wrapper.equals(copiedLCMWrapper)); + wrapper.setRpcName("Tornado"); + assertFalse(wrapper.equals(copiedLCMWrapper)); + copiedLCMWrapper.setRpcName("Tornado"); + assertTrue(wrapper.equals(copiedLCMWrapper)); + + wrapper.setCorrelationId(null); + assertFalse(wrapper.equals(copiedLCMWrapper)); + copiedLCMWrapper.setCorrelationId(null); + assertTrue(wrapper.equals(copiedLCMWrapper)); + wrapper.setCorrelationId("YellowBrickRoad"); + assertFalse(wrapper.equals(copiedLCMWrapper)); + copiedLCMWrapper.setCorrelationId("YellowBrickRoad"); + assertTrue(wrapper.equals(copiedLCMWrapper)); + + wrapper.setType(null); + assertFalse(wrapper.equals(copiedLCMWrapper)); + copiedLCMWrapper.setType(null); + assertTrue(wrapper.equals(copiedLCMWrapper)); + wrapper.setType("Munchkin"); + assertFalse(wrapper.equals(copiedLCMWrapper)); + copiedLCMWrapper.setType("Munchkin"); + assertTrue(wrapper.equals(copiedLCMWrapper)); + } +} diff --git a/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/applcm/util/TestSerialization.java b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/applcm/util/TestSerialization.java new file mode 100644 index 000000000..c7167f509 --- /dev/null +++ b/controlloop/common/model-impl/appclcm/src/test/java/org/onap/policy/applcm/util/TestSerialization.java @@ -0,0 +1,58 @@ +/*- + * ============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.applcm.util; + +import static org.junit.Assert.*; + +import java.time.Instant; +import java.time.ZoneId; +import java.time.ZonedDateTime; + +import org.junit.Test; +import org.onap.policy.appclcm.util.Serialization; + +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)); + } +} -- cgit 1.2.3-korg