+
+ assertEquals(1, deletedServiceTemplate.getToscaTopologyTemplate().getPoliciesAsMap().size());
+ }
+
+ @Test
+ public void testNamingPolicyVersions() throws PfModelException {
+ String policyYamlString = ResourceUtils.getResourceAsString("policies/sdnc.policy.naming.input.tosca.yaml");
+ ToscaServiceTemplate serviceTemplate =
+ yamlJsonTranslator.fromYaml(policyYamlString, ToscaServiceTemplate.class);
+
+ // Create policy types and data types
+ List<Map<String, ToscaPolicy>> policyMapList = serviceTemplate.getToscaTopologyTemplate().getPolicies();
+ databaseProvider.createPolicies(serviceTemplate);
+
+ // Clear the policy map list so we start from afresh with versions
+ ToscaPolicy namingPolicy = policyMapList.get(0).values().iterator().next();
+ policyMapList.clear();
+
+ // Create 21 more versions of the policy
+ for (int i = 2; i < 22; i++) {
+ ToscaPolicy clonedNamingPolicy = new ToscaPolicy(namingPolicy);
+ clonedNamingPolicy.setVersion(i + ".0.0");
+ Map<String, ToscaPolicy> policyMap = new LinkedHashMap<>(1);
+ policyMap.put(clonedNamingPolicy.getName(), clonedNamingPolicy);
+ policyMapList.add(policyMap);
+ }
+
+ databaseProvider.createPolicies(serviceTemplate);
+
+ for (int i = 1; i < 22; i++) {
+ ToscaServiceTemplate namingServiceTemplate =
+ databaseProvider.getPolicies("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP", i + ".0.0");
+ assertEquals(i + ".0.0", namingServiceTemplate.getToscaTopologyTemplate().getPolicies().get(0).values()
+ .iterator().next().getVersion());
+
+ ToscaTypedEntityFilter<ToscaPolicy> policyFilter = ToscaTypedEntityFilter.<ToscaPolicy>builder()
+ .name("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP").version(i + ".0.0").build();
+ namingServiceTemplate = databaseProvider.getFilteredPolicies(policyFilter);
+ assertEquals(i + ".0.0", namingServiceTemplate.getToscaTopologyTemplate().getPolicies().get(0).values()
+ .iterator().next().getVersion());
+ }
+
+ ToscaTypedEntityFilter<ToscaPolicy> policyFilter = ToscaTypedEntityFilter.<ToscaPolicy>builder()
+ .name("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP").version(ToscaTypedEntityFilter.LATEST_VERSION).build();
+ ToscaServiceTemplate namingServiceTemplate = databaseProvider.getFilteredPolicies(policyFilter);
+ assertEquals("21.0.0", namingServiceTemplate.getToscaTopologyTemplate().getPolicies().get(0).values().iterator()
+ .next().getVersion());
+
+ for (int i = 1; i < 22; i++) {
+ ToscaServiceTemplate deletedServiceTemplate =
+ databaseProvider.deletePolicy("SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP", i + ".0.0");
+ assertEquals(1, deletedServiceTemplate.getToscaTopologyTemplate().getPoliciesAsMap().size());
+ }