From 35b63d77bd8887fcc74f28b2d21f1c8faabc9df5 Mon Sep 17 00:00:00 2001 From: Jim Hahn Date: Thu, 25 Apr 2019 18:39:48 -0400 Subject: Add copy constructor for PdpStatus Change-Id: Id818d3b16355ad3f3a96ff4456ec8e8062055f98 Issue-ID: POLICY-1645 Signed-off-by: Jim Hahn --- .../pdp/concepts/PdpResponseDetailsTest.java | 50 +++++++++++++++ .../models/pdp/concepts/PdpStatisticsTest.java | 53 ++++++++++++++++ .../policy/models/pdp/concepts/PdpStatusTest.java | 73 ++++++++++++++++++++++ 3 files changed, 176 insertions(+) create mode 100644 models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpResponseDetailsTest.java create mode 100644 models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpStatisticsTest.java create mode 100644 models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpStatusTest.java (limited to 'models-pdp/src/test/java') diff --git a/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpResponseDetailsTest.java b/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpResponseDetailsTest.java new file mode 100644 index 000000000..f21a0a5bb --- /dev/null +++ b/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpResponseDetailsTest.java @@ -0,0 +1,50 @@ +/* + * ============LICENSE_START======================================================= + * ONAP Policy Models + * ================================================================================ + * Copyright (C) 2019 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.models.pdp.concepts; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.junit.Assert.assertEquals; +import static org.onap.policy.models.pdp.concepts.PdpMessageUtils.removeVariableFields; + +import org.junit.Test; +import org.onap.policy.models.pdp.enums.PdpResponseStatus; + +public class PdpResponseDetailsTest { + + @Test + public void testCopyConstructor() { + assertThatThrownBy(() -> new PdpResponseDetails(null)).isInstanceOf(NullPointerException.class); + + PdpResponseDetails orig = new PdpResponseDetails(); + + // verify with null values + assertEquals(removeVariableFields(orig.toString()), + removeVariableFields(new PdpResponseDetails(orig).toString())); + + // verify with all values + orig.setResponseMessage("my-message"); + orig.setResponseStatus(PdpResponseStatus.FAIL); + orig.setResponseTo("original-request-id"); + + assertEquals(removeVariableFields(orig.toString()), + removeVariableFields(new PdpResponseDetails(orig).toString())); + } +} diff --git a/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpStatisticsTest.java b/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpStatisticsTest.java new file mode 100644 index 000000000..08098cc28 --- /dev/null +++ b/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpStatisticsTest.java @@ -0,0 +1,53 @@ +/* + * ============LICENSE_START======================================================= + * ONAP Policy Models + * ================================================================================ + * Copyright (C) 2019 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.models.pdp.concepts; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.junit.Assert.assertEquals; +import static org.onap.policy.models.pdp.concepts.PdpMessageUtils.removeVariableFields; + +import org.junit.Test; + +public class PdpStatisticsTest { + + @Test + public void testCopyConstructor() { + assertThatThrownBy(() -> new PdpStatistics(null)).isInstanceOf(NullPointerException.class); + + PdpStatistics orig = new PdpStatistics(); + + // verify with null values + assertEquals(removeVariableFields(orig.toString()), removeVariableFields(new PdpStatistics(orig).toString())); + + // verify with all values + orig.setPdpInstanceId("my-instance"); + + int count = 1; + orig.setPolicyDeployCount(count++); + orig.setPolicyDeployFailCount(count++); + orig.setPolicyDeploySuccessCount(count++); + orig.setPolicyExecutedCount(count++); + orig.setPolicyExecutedFailCount(count++); + orig.setPolicyExecutedSuccessCount(count++); + + assertEquals(removeVariableFields(orig.toString()), removeVariableFields(new PdpStatistics(orig).toString())); + } +} diff --git a/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpStatusTest.java b/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpStatusTest.java new file mode 100644 index 000000000..3284d95ff --- /dev/null +++ b/models-pdp/src/test/java/org/onap/policy/models/pdp/concepts/PdpStatusTest.java @@ -0,0 +1,73 @@ +/* + * ============LICENSE_START======================================================= + * ONAP Policy Models + * ================================================================================ + * Copyright (C) 2019 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.models.pdp.concepts; + +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.junit.Assert.assertEquals; +import static org.onap.policy.models.pdp.concepts.PdpMessageUtils.removeVariableFields; + +import java.util.Arrays; +import java.util.Collections; +import org.junit.Test; +import org.onap.policy.models.pdp.enums.PdpHealthStatus; +import org.onap.policy.models.pdp.enums.PdpState; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyIdentifier; +import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicyTypeIdentifier; + +public class PdpStatusTest { + + @Test + public void testCopyConstructor() { + assertThatThrownBy(() -> new PdpStatus(null)).isInstanceOf(NullPointerException.class); + + PdpStatus orig = new PdpStatus(); + + // verify with null values + orig.setSupportedPolicyTypes(Collections.emptyList()); + orig.setPolicies(Collections.emptyList()); + assertEquals(removeVariableFields(orig.toString()), removeVariableFields(new PdpStatus(orig).toString())); + + // verify with all values + orig.setDeploymentInstanceInfo("my-deployment"); + orig.setDescription("my-description"); + orig.setHealthy(PdpHealthStatus.NOT_HEALTHY); + orig.setName("my-name"); + orig.setPdpGroup("my-group"); + orig.setPdpSubgroup("my-subgroup"); + orig.setPdpType("my-type"); + orig.setPolicies(Arrays.asList(new ToscaPolicyIdentifier("policy-A", "1.0.0"))); + orig.setProperties("my-properties"); + + PdpResponseDetails resp = new PdpResponseDetails(); + resp.setResponseMessage("my-response"); + + orig.setResponse(resp); + orig.setState(PdpState.SAFE); + + PdpStatistics stats = new PdpStatistics(); + stats.setPdpInstanceId("my-pdp-id"); + + orig.setStatistics(stats); + orig.setSupportedPolicyTypes(Arrays.asList(new ToscaPolicyTypeIdentifier("type-A", "2.0.0"))); + + assertEquals(removeVariableFields(orig.toString()), removeVariableFields(new PdpStatus(orig).toString())); + } +} -- cgit 1.2.3-korg