From 5769b4d5d7d8a7bf9788b2bbda781a9384df7626 Mon Sep 17 00:00:00 2001 From: ramverma Date: Wed, 3 Apr 2019 17:53:57 +0000 Subject: Fix classes in pap to align with change in models Change-Id: I0ecef8f004967e2fffa33eff2ee7e6f035d3d94c Issue-ID: POLICY-1443 Signed-off-by: ramverma --- .../pap/main/comm/PdpStatusMessageHandler.java | 7 +- .../policy/pap/main/comm/msgdata/UpdateData.java | 19 +- .../pap/main/internal/PdpDeployPolicies.java | 40 -- .../org/onap/policy/pap/main/mapper/Mapper.java | 284 -------------- .../pap/main/rest/PdpGroupDeployControllerV1.java | 5 +- .../pap/main/rest/PdpGroupDeployProvider.java | 3 +- .../pap/main/rest/PdpGroupQueryControllerV1.java | 2 +- .../pap/main/rest/PdpGroupQueryProvider.java | 2 +- .../pap/main/comm/PdpModifyRequestMapTest.java | 18 +- .../pap/main/comm/msgdata/UpdateDataTest.java | 26 +- .../onap/policy/pap/main/mapper/MapperTest.java | 418 --------------------- .../main/rest/TestPdpGroupDeployControllerV1.java | 4 +- .../main/rest/TestPdpGroupQueryControllerV1.java | 2 +- 13 files changed, 71 insertions(+), 759 deletions(-) delete mode 100644 main/src/main/java/org/onap/policy/pap/main/internal/PdpDeployPolicies.java delete mode 100644 main/src/main/java/org/onap/policy/pap/main/mapper/Mapper.java delete mode 100644 main/src/test/java/org/onap/policy/pap/main/mapper/MapperTest.java (limited to 'main') diff --git a/main/src/main/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandler.java b/main/src/main/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandler.java index f873ab3c..45452356 100644 --- a/main/src/main/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandler.java +++ b/main/src/main/java/org/onap/policy/pap/main/comm/PdpStatusMessageHandler.java @@ -33,7 +33,7 @@ import org.onap.policy.models.pdp.concepts.PdpStateChange; import org.onap.policy.models.pdp.concepts.PdpStatus; import org.onap.policy.models.pdp.concepts.PdpSubGroup; import org.onap.policy.models.pdp.concepts.PdpUpdate; -import org.onap.policy.models.pdp.concepts.PolicyTypeIdent; +import org.onap.policy.models.pdp.concepts.ToscaPolicyTypeIdentifier; import org.onap.policy.models.pdp.enums.PdpState; import org.onap.policy.models.provider.PolicyModelsProvider; import org.onap.policy.pap.main.PapConstants; @@ -109,7 +109,7 @@ public class PdpStatusMessageHandler { private List> createSupportedPolictTypesPair(final PdpStatus message) { final List> supportedPolicyTypesPair = new ArrayList<>(); - for (final PolicyTypeIdent policyTypeIdent : message.getSupportedPolicyTypes()) { + for (final ToscaPolicyTypeIdentifier policyTypeIdent : message.getSupportedPolicyTypes()) { supportedPolicyTypesPair.add(Pair.of(policyTypeIdent.getName(), policyTypeIdent.getVersion())); } return supportedPolicyTypesPair; @@ -219,7 +219,8 @@ public class PdpStatusMessageHandler { update.setName(pdpInstanceId); update.setPdpGroup(pdpGroupName); update.setPdpSubgroup(subGroup.getPdpType()); - update.setPolicies(subGroup.getPolicies()); + // TODO: create code for fetching ToscaPolicy from DB and setting here. + // update.setPolicies(subGroup.getPolicies()); LOGGER.debug("Created PdpUpdate message - {}", update); return update; } diff --git a/main/src/main/java/org/onap/policy/pap/main/comm/msgdata/UpdateData.java b/main/src/main/java/org/onap/policy/pap/main/comm/msgdata/UpdateData.java index 4be057b7..f439d254 100644 --- a/main/src/main/java/org/onap/policy/pap/main/comm/msgdata/UpdateData.java +++ b/main/src/main/java/org/onap/policy/pap/main/comm/msgdata/UpdateData.java @@ -24,6 +24,7 @@ import java.util.ArrayList; import java.util.List; import org.onap.policy.models.pdp.concepts.PdpStatus; import org.onap.policy.models.pdp.concepts.PdpUpdate; +import org.onap.policy.models.pdp.concepts.ToscaPolicyIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.policy.pap.main.parameters.PdpModifyRequestMapParams; @@ -61,18 +62,32 @@ public abstract class UpdateData extends MessageData { } // see if the other has any policies that this does not have - ArrayList lst = new ArrayList<>(response.getPolicies()); + ArrayList lst = new ArrayList<>(response.getPolicies()); List mypolicies = update.getPolicies(); if (mypolicies.size() != lst.size()) { return "policies do not match"; } - lst.removeAll(update.getPolicies()); + lst.removeAll(convertToscaPolicyToToscaPolicyIndentifier(update.getPolicies())); if (!lst.isEmpty()) { return "policies do not match"; } return null; } + + /** + * Converts a ToscaPolicy list to ToscaPolicyIdentifier list. + * + * @param toscaPolicies the list of ToscaPolicy + * @return the ToscaPolicyIdentifier list + */ + private List convertToscaPolicyToToscaPolicyIndentifier(List toscaPolicies) { + final List toscaPolicyIdentifiers = new ArrayList<>(); + for (final ToscaPolicy toscaPolicy : toscaPolicies) { + toscaPolicyIdentifiers.add(new ToscaPolicyIdentifier(toscaPolicy.getName(), toscaPolicy.getVersion())); + } + return toscaPolicyIdentifiers; + } } diff --git a/main/src/main/java/org/onap/policy/pap/main/internal/PdpDeployPolicies.java b/main/src/main/java/org/onap/policy/pap/main/internal/PdpDeployPolicies.java deleted file mode 100644 index bd3f7a6a..00000000 --- a/main/src/main/java/org/onap/policy/pap/main/internal/PdpDeployPolicies.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * ============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.pap.main.internal; - -import java.util.List; - -import lombok.Getter; -import lombok.Setter; -import lombok.ToString; -import org.onap.policy.models.pdp.concepts.PolicyIdentOptVersion; - -/** - * Request deploy or update a set of policies using the simple PDP Group deployment - * REST API. Only the "name" and "version" fields of a Policy are used, and only the - * "name" field is actually required. - */ -@Getter -@Setter -@ToString -public class PdpDeployPolicies { - private List policies; -} diff --git a/main/src/main/java/org/onap/policy/pap/main/mapper/Mapper.java b/main/src/main/java/org/onap/policy/pap/main/mapper/Mapper.java deleted file mode 100644 index 0ae179b4..00000000 --- a/main/src/main/java/org/onap/policy/pap/main/mapper/Mapper.java +++ /dev/null @@ -1,284 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * ONAP PAP - * ================================================================================ - * 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.pap.main.mapper; - -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Function; -import java.util.stream.Collectors; -import org.onap.policy.models.pdp.concepts.Pdp; -import org.onap.policy.models.pdp.concepts.PdpGroup; -import org.onap.policy.models.pdp.concepts.PdpGroups; -import org.onap.policy.models.pdp.concepts.PdpSubGroup; -import org.onap.policy.models.pdp.concepts.PolicyIdent; -import org.onap.policy.models.pdp.concepts.PolicyIdentOptVersion; -import org.onap.policy.models.pdp.concepts.PolicyTypeIdent; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.pap.main.internal.PdpDeployPolicies; - -/** - * Classes used to map internal PAP/PDP classes to/from external classes used by the PAP - * REST API. - */ -public class Mapper { - - private Mapper() { - super(); - } - - - // these methods map from internal to external - - /** - * Converts an internal PdpGroups to the corresponding external class. - * - * @return an external object, populated with data from this object - */ - public static org.onap.policy.models.pap.concepts.PdpGroups toExternal(PdpGroups source) { - - org.onap.policy.models.pap.concepts.PdpGroups target = new org.onap.policy.models.pap.concepts.PdpGroups(); - - target.setGroups(mapIt(source.getGroups(), Mapper::toExternal)); - - return target; - } - - /** - * Converts an internal PdpGroup to the corresponding external class. - * - * @return an external object, populated with data from this object - */ - public static org.onap.policy.models.pap.concepts.PdpGroup toExternal(PdpGroup source) { - - org.onap.policy.models.pap.concepts.PdpGroup target = new org.onap.policy.models.pap.concepts.PdpGroup(); - - target.setDescription(source.getDescription()); - target.setName(source.getName()); - target.setPdpGroupState(source.getPdpGroupState()); - target.setPdpSubgroups(mapIt(source.getPdpSubgroups(), Mapper::toExternal)); - target.setProperties(mapIt(source.getProperties())); - target.setVersion(source.getVersion()); - - return target; - } - - /** - * Converts an internal PdpSubGroup to the corresponding external class. - * - * @return an external object, populated with data from this object - */ - public static org.onap.policy.models.pap.concepts.PdpSubGroup toExternal(PdpSubGroup source) { - - org.onap.policy.models.pap.concepts.PdpSubGroup target = new org.onap.policy.models.pap.concepts.PdpSubGroup(); - - target.setCurrentInstanceCount(source.getCurrentInstanceCount()); - target.setDesiredInstanceCount(source.getDesiredInstanceCount()); - target.setPdpInstances(mapIt(source.getPdpInstances(), Mapper::toExternal)); - target.setPdpType(source.getPdpType()); - target.setPolicies(mapIt(source.getPolicies(), Mapper::toExternal)); - target.setProperties(mapIt(source.getProperties())); - target.setSupportedPolicyTypes(mapIt(source.getSupportedPolicyTypes(), Mapper::toExternal)); - - return target; - } - - /** - * Converts an internal policy to the corresponding external class. - * - * @return an external object, populated with data from this object - */ - public static org.onap.policy.models.pap.concepts.Policy toExternal(ToscaPolicy source) { - - org.onap.policy.models.pap.concepts.Policy target = new org.onap.policy.models.pap.concepts.Policy(); - - target.setName(source.getName()); - target.setPolicyVersion(source.getVersion()); - target.setPolicyType(source.getType()); - target.setPolicyTypeVersion(source.getTypeVersion()); - - // TODO setPolicyTypeImpl - - return target; - } - - /** - * Converts an internal PDP instance details to the corresponding external class. - * - * @return an external object, populated with data from this object - */ - public static org.onap.policy.models.pap.concepts.PdpInstanceDetails toExternal(Pdp source) { - - org.onap.policy.models.pap.concepts.PdpInstanceDetails target = - new org.onap.policy.models.pap.concepts.PdpInstanceDetails(); - - target.setHealthy(source.getHealthy()); - target.setInstanceId(source.getInstanceId()); - target.setMessage(source.getMessage()); - target.setPdpState(source.getPdpState()); - - return target; - } - - /** - * Converts an internal policy identifier to the corresponding external class. - * - * @return an external object, populated with data from this object - */ - public static org.onap.policy.models.pap.concepts.PolicyIdent toExternal(PolicyIdent source) { - - org.onap.policy.models.pap.concepts.PolicyIdent target = new org.onap.policy.models.pap.concepts.PolicyIdent(); - - target.setName(source.getName()); - target.setVersion(source.getVersion()); - - return target; - } - - /** - * Converts an internal policy type identifier to the corresponding external class. - * - * @return an external object, populated with data from this object - */ - public static org.onap.policy.models.pap.concepts.PolicyTypeIdent toExternal(PolicyTypeIdent source) { - - org.onap.policy.models.pap.concepts.PolicyTypeIdent target = - new org.onap.policy.models.pap.concepts.PolicyTypeIdent(); - - target.setName(source.getName()); - target.setVersion(source.getVersion()); - - return target; - } - - /** - * Converts an internal policy identifier, with optional version, to the corresponding - * external class. - * - * @return an external object, populated with data from this object - */ - public static org.onap.policy.models.pap.concepts.PolicyIdentOptVersion toExternal(PolicyIdentOptVersion source) { - - org.onap.policy.models.pap.concepts.PolicyIdentOptVersion target = - new org.onap.policy.models.pap.concepts.PolicyIdentOptVersion(); - - target.setName(source.getName()); - target.setVersion(source.getVersion()); - - return target; - } - - - // these methods map from external to internal - - /** - * Converts an external PdpDeployPolicies to the corresponding internal class. - * - * @return an internal object, populated with data from this object - */ - public static PdpDeployPolicies toInternal(org.onap.policy.models.pap.concepts.PdpDeployPolicies source) { - PdpDeployPolicies target = new PdpDeployPolicies(); - - target.setPolicies(mapIt(source.getPolicies(), Mapper::toInternal)); - - return target; - } - - /** - * Converts an external PDP instance details to the corresponding internal class. - * - * @return an internal object, populated with data from this object - */ - public static Pdp toInternal(org.onap.policy.models.pap.concepts.PdpInstanceDetails source) { - Pdp target = new Pdp(); - - target.setHealthy(source.getHealthy()); - target.setInstanceId(source.getInstanceId()); - target.setMessage(source.getMessage()); - target.setPdpState(source.getPdpState()); - - return target; - } - - /** - * Converts an external policy identifier to the corresponding internal class. - * - * @return an internal object, populated with data from this object - */ - public static PolicyIdent toInternal(org.onap.policy.models.pap.concepts.PolicyIdent source) { - PolicyIdent target = new PolicyIdent(); - - target.setName(source.getName()); - target.setVersion(source.getVersion()); - - return target; - } - - /** - * Converts an external policy type identifier to the corresponding internal class. - * - * @return an internal object, populated with data from this object - */ - public static PolicyTypeIdent toInternal(org.onap.policy.models.pap.concepts.PolicyTypeIdent source) { - PolicyTypeIdent target = new PolicyTypeIdent(); - - target.setName(source.getName()); - target.setVersion(source.getVersion()); - - return target; - } - - /** - * Converts an external policy identifier, with optional version, to the corresponding - * internal class. - * - * @return an internal object, populated with data from this object - */ - public static PolicyIdentOptVersion toInternal(org.onap.policy.models.pap.concepts.PolicyIdentOptVersion source) { - PolicyIdentOptVersion target = new PolicyIdentOptVersion(); - - target.setName(source.getName()); - target.setVersion(source.getVersion()); - - return target; - } - - /** - * Maps a list of one type of object to a list of another type of object. - * - * @param source list of items to be mapped - * @param mapper function to map an item to an object of the target type - * @return a list of objects of the new type - */ - private static List mapIt(List source, Function mapper) { - return source.stream().map(mapper).collect(Collectors.toList()); - } - - /** - * Creates a copy of a map. - * - * @param map map to be copied - * @return a copy of the map - */ - private static Map mapIt(Map map) { - return new LinkedHashMap<>(map); - } -} diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupDeployControllerV1.java b/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupDeployControllerV1.java index 3de39465..b60f6d11 100644 --- a/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupDeployControllerV1.java +++ b/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupDeployControllerV1.java @@ -28,16 +28,19 @@ import io.swagger.annotations.Authorization; import io.swagger.annotations.Extension; import io.swagger.annotations.ExtensionProperty; import io.swagger.annotations.ResponseHeader; + import java.util.UUID; + import javax.ws.rs.HeaderParam; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; + import org.apache.commons.lang3.tuple.Pair; import org.onap.policy.models.pap.concepts.PdpGroupDeployResponse; -import org.onap.policy.models.pap.concepts.PdpGroups; import org.onap.policy.models.pap.concepts.PdpPolicies; +import org.onap.policy.models.pdp.concepts.PdpGroups; /** * Class to provide REST end points for PAP component to deploy a PDP group. diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupDeployProvider.java b/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupDeployProvider.java index a6424fce..dc38e01b 100644 --- a/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupDeployProvider.java +++ b/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupDeployProvider.java @@ -21,10 +21,11 @@ package org.onap.policy.pap.main.rest; import javax.ws.rs.core.Response; + import org.apache.commons.lang3.tuple.Pair; import org.onap.policy.models.pap.concepts.PdpGroupDeployResponse; -import org.onap.policy.models.pap.concepts.PdpGroups; import org.onap.policy.models.pap.concepts.PdpPolicies; +import org.onap.policy.models.pdp.concepts.PdpGroups; /** * Provider for PAP component to deploy PDP groups. diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupQueryControllerV1.java b/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupQueryControllerV1.java index ae4ef1d9..fb0c2f12 100644 --- a/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupQueryControllerV1.java +++ b/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupQueryControllerV1.java @@ -38,7 +38,7 @@ import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import org.apache.commons.lang3.tuple.Pair; -import org.onap.policy.models.pap.concepts.PdpGroups; +import org.onap.policy.models.pdp.concepts.PdpGroups; /** * Class to provide REST end points for PAP component to query details of all PDP groups. diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupQueryProvider.java b/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupQueryProvider.java index d37409bf..4dd42af4 100644 --- a/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupQueryProvider.java +++ b/main/src/main/java/org/onap/policy/pap/main/rest/PdpGroupQueryProvider.java @@ -23,7 +23,7 @@ package org.onap.policy.pap.main.rest; import javax.ws.rs.core.Response; import org.apache.commons.lang3.tuple.Pair; -import org.onap.policy.models.pap.concepts.PdpGroups; +import org.onap.policy.models.pdp.concepts.PdpGroups; /** * Provider for PAP component to query details of all PDP groups. diff --git a/main/src/test/java/org/onap/policy/pap/main/comm/PdpModifyRequestMapTest.java b/main/src/test/java/org/onap/policy/pap/main/comm/PdpModifyRequestMapTest.java index c2993528..91d7d435 100644 --- a/main/src/test/java/org/onap/policy/pap/main/comm/PdpModifyRequestMapTest.java +++ b/main/src/test/java/org/onap/policy/pap/main/comm/PdpModifyRequestMapTest.java @@ -42,6 +42,7 @@ import java.util.List; import java.util.Map; import java.util.Queue; import java.util.function.Consumer; + import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentCaptor; @@ -54,6 +55,7 @@ import org.onap.policy.models.pdp.concepts.PdpMessage; import org.onap.policy.models.pdp.concepts.PdpStateChange; import org.onap.policy.models.pdp.concepts.PdpStatus; import org.onap.policy.models.pdp.concepts.PdpUpdate; +import org.onap.policy.models.pdp.concepts.ToscaPolicyIdentifier; import org.onap.policy.models.pdp.enums.PdpState; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.policy.pap.main.PapConstants; @@ -132,7 +134,7 @@ public class PdpModifyRequestMapTest { response.setState(PdpState.SAFE); response.setPdpGroup(update.getPdpGroup()); response.setPdpSubgroup(update.getPdpSubgroup()); - response.setPolicies(update.getPolicies()); + response.setPolicies(convertToscaPolicyToToscaPolicyIndentifier()); map = new PdpModifyRequestMap(makeParameters()) { @@ -583,4 +585,18 @@ public class PdpModifyRequestMapTest { return cng; } + + /** + * Converts a ToscaPolicy list to ToscaPolicyIdentifier list. + * + * @return the ToscaPolicyIdentifier list + */ + private List convertToscaPolicyToToscaPolicyIndentifier() { + final List toscaPolicies = update.getPolicies(); + final List toscaPolicyIdentifiers = new ArrayList<>(); + for (final ToscaPolicy toscaPolicy : toscaPolicies) { + toscaPolicyIdentifiers.add(new ToscaPolicyIdentifier(toscaPolicy.getName(), toscaPolicy.getVersion())); + } + return toscaPolicyIdentifiers; + } } diff --git a/main/src/test/java/org/onap/policy/pap/main/comm/msgdata/UpdateDataTest.java b/main/src/test/java/org/onap/policy/pap/main/comm/msgdata/UpdateDataTest.java index 06a3bf01..127843a0 100644 --- a/main/src/test/java/org/onap/policy/pap/main/comm/msgdata/UpdateDataTest.java +++ b/main/src/test/java/org/onap/policy/pap/main/comm/msgdata/UpdateDataTest.java @@ -28,10 +28,13 @@ import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.Arrays; +import java.util.List; + import org.junit.Before; import org.junit.Test; import org.onap.policy.models.pdp.concepts.PdpStatus; import org.onap.policy.models.pdp.concepts.PdpUpdate; +import org.onap.policy.models.pdp.concepts.ToscaPolicyIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; import org.onap.policy.pap.main.comm.TimerManager; import org.onap.policy.pap.main.parameters.PdpModifyRequestMapParams; @@ -69,7 +72,7 @@ public class UpdateDataTest { response.setName(MY_NAME); response.setPdpGroup(update.getPdpGroup()); response.setPdpSubgroup(update.getPdpSubgroup()); - response.setPolicies(update.getPolicies()); + response.setPolicies(convertToscaPolicyToToscaPolicyIndentifier(update.getPolicies())); data = new MyData(update); } @@ -112,15 +115,16 @@ public class UpdateDataTest { @Test public void testUpdateDataCheckResponse_MismatchedPoliciesLength() { - response.setPolicies(Arrays.asList(update.getPolicies().get(0))); + response.setPolicies(convertToscaPolicyToToscaPolicyIndentifier(Arrays.asList(update.getPolicies().get(0)))); assertEquals("policies do not match", data.checkResponse(response)); } @Test public void testUpdateDataCheckResponse_MismatchedPolicies() { - ArrayList policies = new ArrayList<>(update.getPolicies()); - policies.set(0, makePolicy(DIFFERENT, "10.0.0")); + ArrayList policies = + new ArrayList<>(convertToscaPolicyToToscaPolicyIndentifier(update.getPolicies())); + policies.set(0, new ToscaPolicyIdentifier(DIFFERENT, "10.0.0")); response.setPolicies(policies); @@ -180,4 +184,18 @@ public class UpdateDataTest { // do nothing } } + + /** + * Converts a ToscaPolicy list to ToscaPolicyIdentifier list. + * + * @param toscaPolicies the list of ToscaPolicy + * @return the ToscaPolicyIdentifier list + */ + private List convertToscaPolicyToToscaPolicyIndentifier(List toscaPolicies) { + final List toscaPolicyIdentifiers = new ArrayList<>(); + for (final ToscaPolicy toscaPolicy : toscaPolicies) { + toscaPolicyIdentifiers.add(new ToscaPolicyIdentifier(toscaPolicy.getName(), toscaPolicy.getVersion())); + } + return toscaPolicyIdentifiers; + } } diff --git a/main/src/test/java/org/onap/policy/pap/main/mapper/MapperTest.java b/main/src/test/java/org/onap/policy/pap/main/mapper/MapperTest.java deleted file mode 100644 index 350bd509..00000000 --- a/main/src/test/java/org/onap/policy/pap/main/mapper/MapperTest.java +++ /dev/null @@ -1,418 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * ONAP PAP - * ================================================================================ - * 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.pap.main.mapper; - -import static org.junit.Assert.assertEquals; - -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; -import java.util.function.BiConsumer; -import org.junit.Test; -import org.onap.policy.models.pdp.concepts.Pdp; -import org.onap.policy.models.pdp.concepts.PdpGroup; -import org.onap.policy.models.pdp.concepts.PdpGroups; -import org.onap.policy.models.pdp.concepts.PdpSubGroup; -import org.onap.policy.models.pdp.concepts.PolicyIdent; -import org.onap.policy.models.pdp.concepts.PolicyIdentOptVersion; -import org.onap.policy.models.pdp.concepts.PolicyTypeIdent; -import org.onap.policy.models.pdp.enums.PdpHealthStatus; -import org.onap.policy.models.pdp.enums.PdpState; -import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy; -import org.onap.policy.pap.main.internal.PdpDeployPolicies; -import org.powermock.reflect.Whitebox; - -public class MapperTest { - private static final String MY_NAME = "my-name"; - private static final String MY_VERSION = "10.11.12"; - private static final PdpHealthStatus MY_HEALTH = PdpHealthStatus.TEST_IN_PROGRESS; - private static final String MY_INSTANCE = "my_1"; - private static final String MY_MESSAGE = "my message"; - private static final PdpState MY_STATE = PdpState.SAFE; - private static final int CURRENT_COUNT = 1; - private static final int DESIRED_COUNT = 2; - private static final String PDP_TYPE1 = "drools"; - private static final String PROPKEY1 = "prop-a"; - private static final String PROPVAL1 = "value-a"; - private static final String PROPKEY2 = "prop-b"; - private static final String PROPVAL2 = "value-b"; - private static final String MY_DESCRIPTION = "my description"; - - @Test - public void testConstructor() throws Exception { - Whitebox.invokeConstructor(Mapper.class); - } - - @Test - public void testPdpDeployPolicies() { - - // TO-INTERNAL - - // test populated object - org.onap.policy.models.pap.concepts.PdpDeployPolicies external = - new org.onap.policy.models.pap.concepts.PdpDeployPolicies(); - - external.setPolicies(Arrays.asList(makePolicyIdentOptVersion(1), makePolicyIdentOptVersion(2))); - compareWithExternal(external, Mapper.toInternal(external)); - } - - private org.onap.policy.models.pap.concepts.PolicyIdentOptVersion makePolicyIdentOptVersion(int count) { - - org.onap.policy.models.pap.concepts.PolicyIdentOptVersion type = - new org.onap.policy.models.pap.concepts.PolicyIdentOptVersion(); - - - type.setName(MY_NAME + "-id-" + count); - type.setVersion(count + ".1.2"); - - return type; - } - - @Test - public void testPdpGroups() { - - // TO-EXTERNAL - - // test populated object - PdpGroups internal = new PdpGroups(); - internal.setGroups(Arrays.asList(makeGroup(1), makeGroup(2))); - - compareWithInternal(internal, Mapper.toExternal(internal)); - } - - private PdpGroup makeGroup(int count) { - PdpGroup group = new PdpGroup(); - - group.setDescription(MY_DESCRIPTION + "-" + count); - group.setName(MY_NAME); - group.setVersion(MY_VERSION); - group.setPdpGroupState(MY_STATE); - - int inc = count + 1; - group.setPdpSubgroups(Arrays.asList(makeSubGroup(count * 10), makeSubGroup(inc * 10))); - group.setProperties(makeProperties()); - - return group; - } - - private PdpSubGroup makeSubGroup(int count) { - PdpSubGroup subgroup = new PdpSubGroup(); - - subgroup.setCurrentInstanceCount(CURRENT_COUNT); - subgroup.setDesiredInstanceCount(DESIRED_COUNT); - - int inc = count + 1; - subgroup.setPdpInstances(Arrays.asList(makePdp(count), makePdp(inc))); - subgroup.setPdpType(PDP_TYPE1); - subgroup.setPolicies(Arrays.asList(makePolicy(count, count), makePolicy(inc, inc))); - subgroup.setProperties(makeProperties()); - subgroup.setSupportedPolicyTypes(Arrays.asList(makePolicyType(count), makePolicyType(inc))); - - return subgroup; - } - - private Pdp makePdp(int count) { - Pdp object = new Pdp(); - - object.setHealthy(MY_HEALTH); - object.setInstanceId(MY_INSTANCE + count); - object.setMessage(MY_MESSAGE); - object.setPdpState(MY_STATE); - - return object; - } - - private PolicyTypeIdent makePolicyType(int count) { - PolicyTypeIdent type = new PolicyTypeIdent(); - - type.setName(MY_NAME + "-type-" + count); - type.setVersion(count + ".1.2"); - - return type; - } - - private Map makeProperties() { - Map map = new TreeMap<>(); - - map.put(PROPKEY1, PROPVAL1); - map.put(PROPKEY2, PROPVAL2); - - return map; - } - - @Test - public void testPdpGroup() { - - // TO-EXTERNAL - - // test populated object - PdpGroup internal = makeGroup(1); - compareWithInternal(internal, Mapper.toExternal(internal)); - } - - @Test - public void testPdpSubGroup() { - - // TO-EXTERNAL - - // test populated object - PdpSubGroup internal = makeSubGroup(1); - compareWithInternal(internal, Mapper.toExternal(internal)); - } - - @Test - public void testPolicy() { - - // TO-EXTERNAL - - // test populated object - ToscaPolicy internal = makePolicy(1, 1); - compareWithInternal(internal, Mapper.toExternal(internal)); - } - - private ToscaPolicy makePolicy(int count, int typeCount) { - ToscaPolicy policy = new ToscaPolicy(); - - policy.setName(MY_NAME + "-policy-" + count); - policy.setVersion("1.2." + count); - policy.setType(MY_NAME + "-type-" + typeCount); - policy.setTypeVersion("1.2." + typeCount); - - return policy; - } - - @Test - public void testPdpInstanceDetails() { - - // TO-EXTERNAL - - // test populated object - Pdp internal = makePdp(1); - compareWithInternal(internal, Mapper.toExternal(internal)); - - - // TO-INTERNAL - - // test populated object - org.onap.policy.models.pap.concepts.PdpInstanceDetails external = - new org.onap.policy.models.pap.concepts.PdpInstanceDetails(); - external.setHealthy(MY_HEALTH); - external.setInstanceId(MY_INSTANCE); - external.setMessage(MY_MESSAGE); - external.setPdpState(MY_STATE); - compareWithExternal(external, Mapper.toInternal(external)); - } - - @Test - public void testPolicyIdent() { - - // TO-EXTERNAL - - // first test default object - PolicyIdent internal = new PolicyIdent(); - org.onap.policy.models.pap.concepts.PolicyIdent external = Mapper.toExternal(internal); - compareWithInternal(internal, external); - - // now test populated object - internal.setName(MY_NAME); - internal.setVersion(MY_VERSION); - external = Mapper.toExternal(internal); - compareWithInternal(internal, external); - - - // TO-INTERNAL - - external = new org.onap.policy.models.pap.concepts.PolicyIdent(); - external.setName(MY_NAME); - external.setVersion(MY_VERSION); - compareWithExternal(external, Mapper.toInternal(external)); - } - - @Test - public void testPolicyTypeIdent() { - - // TO-EXTERNAL - - // first test default object - PolicyTypeIdent internal = new PolicyTypeIdent(); - org.onap.policy.models.pap.concepts.PolicyTypeIdent external = Mapper.toExternal(internal); - compareWithInternal(internal, external); - - // now test populated object - internal.setName(MY_NAME); - internal.setVersion(MY_VERSION); - external = Mapper.toExternal(internal); - compareWithInternal(internal, external); - - - // TO-INTERNAL - - external = new org.onap.policy.models.pap.concepts.PolicyTypeIdent(); - external.setName(MY_NAME); - external.setVersion(MY_VERSION); - compareWithExternal(external, Mapper.toInternal(external)); - } - - @Test - public void testPolicyIdentOptVersion() { - - // TO-EXTERNAL - - PolicyIdentOptVersion internal = new PolicyIdentOptVersion(); - internal.setName(MY_NAME); - internal.setVersion(MY_VERSION); - org.onap.policy.models.pap.concepts.PolicyIdentOptVersion external = Mapper.toExternal(internal); - compareWithInternal(internal, external); - - - // TO-INTERNAL - - external = new org.onap.policy.models.pap.concepts.PolicyIdentOptVersion(); - external.setName(MY_NAME); - external.setVersion(MY_VERSION); - compareWithExternal(external, Mapper.toInternal(external)); - } - - - /** - * Compares the items in two lists. - * - * @param expected the expected items - * @param actual the actual items - * @param compareItem function to compare an expected item with an actual item - */ - private static void compareList(List expected, List actual, BiConsumer compareItem) { - - assertEquals(expected.size(), actual.size()); - - Iterator expIterator = expected.iterator(); - for (R actualItem : actual) { - L expectedItem = expIterator.next(); - compareItem.accept(expectedItem, actualItem); - } - } - - - // compares actual internal objects with expected external objects - - private static void compareWithExternal(org.onap.policy.models.pap.concepts.PolicyIdent expected, - PolicyIdent actual) { - - assertEquals(expected.getName(), actual.getName()); - assertEquals(expected.getVersion(), actual.getVersion()); - } - - private static void compareWithExternal(org.onap.policy.models.pap.concepts.PolicyTypeIdent expected, - PolicyTypeIdent actual) { - - assertEquals(expected.getName(), actual.getName()); - assertEquals(expected.getVersion(), actual.getVersion()); - } - - private static void compareWithExternal(org.onap.policy.models.pap.concepts.PolicyIdentOptVersion expected, - PolicyIdentOptVersion actual) { - - assertEquals(expected.getName(), actual.getName()); - assertEquals(expected.getVersion(), actual.getVersion()); - } - - private static void compareWithExternal(org.onap.policy.models.pap.concepts.PdpDeployPolicies expected, - PdpDeployPolicies actual) { - - compareList(expected.getPolicies(), actual.getPolicies(), MapperTest::compareWithExternal); - } - - private static void compareWithExternal(org.onap.policy.models.pap.concepts.PdpInstanceDetails expected, - Pdp actual) { - - assertEquals(expected.getHealthy(), actual.getHealthy()); - assertEquals(expected.getInstanceId(), actual.getInstanceId()); - assertEquals(expected.getMessage(), actual.getMessage()); - assertEquals(expected.getPdpState(), actual.getPdpState()); - } - - // compares actual external objects with expected internal objects - - private static void compareWithInternal(PolicyIdent expected, - org.onap.policy.models.pap.concepts.PolicyIdent actual) { - - assertEquals(expected.getName(), actual.getName()); - assertEquals(expected.getVersion(), actual.getVersion()); - } - - private static void compareWithInternal(PolicyTypeIdent expected, - org.onap.policy.models.pap.concepts.PolicyTypeIdent actual) { - - assertEquals(expected.getName(), actual.getName()); - assertEquals(expected.getVersion(), actual.getVersion()); - } - - private static void compareWithInternal(PolicyIdentOptVersion expected, - org.onap.policy.models.pap.concepts.PolicyIdentOptVersion actual) { - - assertEquals(expected.getName(), actual.getName()); - assertEquals(expected.getVersion(), actual.getVersion()); - } - - private static void compareWithInternal(PdpGroups expected, org.onap.policy.models.pap.concepts.PdpGroups actual) { - compareList(expected.getGroups(), actual.getGroups(), MapperTest::compareWithInternal); - } - - private static void compareWithInternal(PdpGroup expected, org.onap.policy.models.pap.concepts.PdpGroup actual) { - assertEquals(expected.getDescription(), actual.getDescription()); - assertEquals(expected.getName(), actual.getName()); - assertEquals(expected.getVersion(), actual.getVersion()); - assertEquals(expected.getPdpGroupState(), actual.getPdpGroupState()); - compareList(expected.getPdpSubgroups(), actual.getPdpSubgroups(), MapperTest::compareWithInternal); - assertEquals(expected.getProperties(), actual.getProperties()); - } - - private static void compareWithInternal(PdpSubGroup expected, - org.onap.policy.models.pap.concepts.PdpSubGroup actual) { - - assertEquals(expected.getCurrentInstanceCount(), actual.getCurrentInstanceCount()); - assertEquals(expected.getDesiredInstanceCount(), actual.getDesiredInstanceCount()); - compareList(expected.getPdpInstances(), actual.getPdpInstances(), MapperTest::compareWithInternal); - assertEquals(expected.getPdpType(), actual.getPdpType()); - compareList(expected.getPolicies(), actual.getPolicies(), MapperTest::compareWithInternal); - assertEquals(expected.getProperties(), actual.getProperties()); - compareList(expected.getSupportedPolicyTypes(), actual.getSupportedPolicyTypes(), - MapperTest::compareWithInternal); - } - - private static void compareWithInternal(ToscaPolicy expected, org.onap.policy.models.pap.concepts.Policy actual) { - assertEquals(expected.getName(), actual.getName()); - assertEquals(expected.getVersion(), actual.getPolicyVersion()); - assertEquals(expected.getType(), actual.getPolicyType()); - assertEquals(expected.getTypeVersion(), actual.getPolicyTypeVersion()); - } - - private static void compareWithInternal(Pdp expected, - org.onap.policy.models.pap.concepts.PdpInstanceDetails actual) { - - assertEquals(expected.getHealthy(), actual.getHealthy()); - assertEquals(expected.getInstanceId(), actual.getInstanceId()); - assertEquals(expected.getMessage(), actual.getMessage()); - assertEquals(expected.getPdpState(), actual.getPdpState()); - } -} diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupDeployControllerV1.java b/main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupDeployControllerV1.java index b6d0f1d7..e02e85c1 100644 --- a/main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupDeployControllerV1.java +++ b/main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupDeployControllerV1.java @@ -32,11 +32,11 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import org.junit.Test; -import org.onap.policy.models.pap.concepts.PdpGroup; import org.onap.policy.models.pap.concepts.PdpGroupDeployResponse; import org.onap.policy.models.pap.concepts.PdpPolicies; -import org.onap.policy.models.pap.concepts.PdpSubGroup; import org.onap.policy.models.pap.concepts.Policy; +import org.onap.policy.models.pdp.concepts.PdpGroup; +import org.onap.policy.models.pdp.concepts.PdpSubGroup; public class TestPdpGroupDeployControllerV1 extends CommonPapRestServer { diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupQueryControllerV1.java b/main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupQueryControllerV1.java index f0bc12bd..869bc198 100644 --- a/main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupQueryControllerV1.java +++ b/main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupQueryControllerV1.java @@ -27,7 +27,7 @@ import javax.ws.rs.client.Invocation; import javax.ws.rs.core.Response; import org.junit.Test; -import org.onap.policy.models.pap.concepts.PdpGroups; +import org.onap.policy.models.pdp.concepts.PdpGroups; /** * Class to perform unit test of {@link PdpGroupQueryControllerV1}. -- cgit 1.2.3-korg