From 1d59343e1c0b2077137a16f83bd0da21cdc2741f Mon Sep 17 00:00:00 2001 From: Chenfei Gao Date: Mon, 17 Jun 2019 16:54:28 -0400 Subject: Fix the bug of cannot return multiple versions of particular tosca policy and policy type Issue-ID: POLICY-1807 Change-Id: I831c720993930a911d301a82b59a74cda7cb0c50 Signed-off-by: Chenfei Gao --- .../impl/DatabasePolicyModelsProviderTest.java | 4 ++-- .../models/provider/impl/PolicyPersistenceTest.java | 18 ++++++++++++++++-- .../authorative/provider/AuthorativeToscaProvider.java | 10 ++++++---- .../AuthorativeToscaProviderPolicyTypeTest.java | 2 +- 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java index 565b3fe13..c188560e5 100644 --- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java +++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java @@ -403,7 +403,7 @@ public class DatabasePolicyModelsProviderTest { assertTrue(databaseProvider.getPolicyTypes("name", "1.0.0").getPolicyTypes().isEmpty()); assertEquals(0, databaseProvider.getPolicyTypeList("name", "1.0.0").size()); assertEquals(0, databaseProvider.getFilteredPolicyTypes(ToscaPolicyTypeFilter.builder().build()) - .getPolicyTypes().get(0).size()); + .getPolicyTypes().size()); assertEquals(0, databaseProvider.getFilteredPolicyTypeList(ToscaPolicyTypeFilter.builder().build()).size()); assertThatThrownBy(() -> { @@ -422,7 +422,7 @@ public class DatabasePolicyModelsProviderTest { databaseProvider.getPolicies("name", "1.0.0").getToscaTopologyTemplate().getPolicies().isEmpty()); assertEquals(0, databaseProvider.getPolicyList("name", "1.0.0").size()); assertEquals(0, databaseProvider.getFilteredPolicies(ToscaPolicyFilter.builder().build()) - .getToscaTopologyTemplate().getPolicies().get(0).size()); + .getToscaTopologyTemplate().getPolicies().size()); assertEquals(0, databaseProvider.getFilteredPolicyList(ToscaPolicyFilter.builder().build()).size()); assertThatThrownBy(() -> { diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyPersistenceTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyPersistenceTest.java index 7fa21b021..a08ad6669 100644 --- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyPersistenceTest.java +++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyPersistenceTest.java @@ -27,6 +27,7 @@ import static org.junit.Assert.fail; import com.google.gson.GsonBuilder; import java.util.Base64; +import java.util.List; import java.util.Map; import lombok.NonNull; @@ -162,8 +163,9 @@ public class PolicyPersistenceTest { gotToscaServiceTemplate = databaseProvider.getFilteredPolicies(ToscaPolicyFilter.builder().build()); - assertEquals(gotToscaServiceTemplate.getToscaTopologyTemplate().getPolicies().get(0) - .get(policy.getName()).getType(), policy.getType()); + assertEquals(getToscaPolicyFromMapList( + gotToscaServiceTemplate.getToscaTopologyTemplate().getPolicies(), policy.getName()).getType(), + policy.getType()); gotToscaServiceTemplate = databaseProvider.getFilteredPolicies( ToscaPolicyFilter.builder().name(policy.getName()).version(policy.getVersion()).build()); @@ -174,6 +176,18 @@ public class PolicyPersistenceTest { } } + private ToscaPolicy getToscaPolicyFromMapList(List> toscaPolicyMapList, + String policyName) { + ToscaPolicy toscaPolicy = new ToscaPolicy(); + for (Map policyMap: toscaPolicyMapList) { + if (policyMap.get(policyName) != null) { + toscaPolicy = policyMap.get(policyName); + break; + } + } + return toscaPolicy; + } + private void createPolicyTypes() throws CoderException, PfModelException { Object yamlObject = new Yaml().load( ResourceUtils.getResourceAsString("policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app.yaml")); diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProvider.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProvider.java index 0fae304c3..cd73ae599 100644 --- a/models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProvider.java +++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProvider.java @@ -368,15 +368,17 @@ public class AuthorativeToscaProvider { /** * Return the contents of a list of concepts as a list of maps of concepts. * - * @param comceptList the concept list - * @return the concept map + * @param conceptList the concept list + * @return the list of concept map */ private List> asConceptMap(List conceptList) { - Map conceptMap = new LinkedHashMap<>(); + List> toscaEntityMapList = new ArrayList<>(); for (T concept : conceptList) { + Map conceptMap = new LinkedHashMap<>(); conceptMap.put(concept.getName(), concept); + toscaEntityMapList.add(conceptMap); } - return Collections.singletonList(conceptMap); + return toscaEntityMapList; } } diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProviderPolicyTypeTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProviderPolicyTypeTest.java index ded2cdee2..4ae56149a 100644 --- a/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProviderPolicyTypeTest.java +++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProviderPolicyTypeTest.java @@ -207,7 +207,7 @@ public class AuthorativeToscaProviderPolicyTypeTest { ToscaServiceTemplate gotServiceTemplate = new AuthorativeToscaProvider().getFilteredPolicyTypes(pfDao, ToscaPolicyTypeFilter.builder().build()); - ToscaPolicyType gotPolicyType = gotServiceTemplate.getPolicyTypes().get(0).get(policyTypeKey.getName()); + ToscaPolicyType gotPolicyType = gotServiceTemplate.getPolicyTypes().get(1).get(policyTypeKey.getName()); assertEquals(true, beforePolicyType.getName().equals(gotPolicyType.getName())); assertEquals(0, ObjectUtils.compare(beforePolicyType.getDescription(), gotPolicyType.getDescription())); -- cgit 1.2.3-korg