summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPamela Dragosh <pdragosh@research.att.com>2020-05-11 13:26:40 +0000
committerGerrit Code Review <gerrit@onap.org>2020-05-11 13:26:40 +0000
commit6ee3629b07f2167c9c3253142ea8e4d17a4848d5 (patch)
tree3db7ce1afedeffabefcbc180fed0ef54726b5825
parent8ec210e41d3532a97a6bcd7dbd9a408059140947 (diff)
parent52170568d84bc50ce0119249d387bbf342c2bc7a (diff)
Merge "Policy DB contents removed on DB deadlock"
-rw-r--r--models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java78
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider.java121
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProvider.java29
-rw-r--r--models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaServiceTemplateProvider.java63
-rw-r--r--models-tosca/src/test/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProviderPolicyTypeTest.java52
-rw-r--r--models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider4LegacyOperationalTest.java34
-rw-r--r--models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java11
-rw-r--r--models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaServiceTemplateProviderTest.java18
8 files changed, 201 insertions, 205 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 388b6ad98..84d772224 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
@@ -103,7 +103,7 @@ public class DatabasePolicyModelsProviderTest {
}).hasMessageMatching("^parameters is marked .*on.*ull but is null$");
PolicyModelsProvider databaseProvider =
- new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
+ new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
parameters.setDatabaseUrl("jdbc://www.acmecorp.nonexist");
@@ -137,7 +137,7 @@ public class DatabasePolicyModelsProviderTest {
public void testProviderMethodsNull() throws Exception {
PolicyModelsProvider databaseProvider =
- new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
+ new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
assertThatThrownBy(() -> {
databaseProvider.getFilteredPolicyTypes(null);
@@ -205,7 +205,7 @@ public class DatabasePolicyModelsProviderTest {
assertThatThrownBy(() -> {
databaseProvider.getOperationalPolicy("", null);
- }).hasMessage("no policy found for policy: :null");
+ }).hasMessage("service template not found in database");
assertThatThrownBy(() -> {
databaseProvider.createOperationalPolicy(null);
@@ -313,7 +313,7 @@ public class DatabasePolicyModelsProviderTest {
@Test
public void testProviderMethodsNotInit() throws Exception {
PolicyModelsProvider databaseProvider =
- new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
+ new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
databaseProvider.close();
@@ -325,15 +325,15 @@ public class DatabasePolicyModelsProviderTest {
@Test
public void testProviderMethods() throws PfModelException {
PolicyModelsProvider databaseProvider =
- new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
+ new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
assertThatThrownBy(() -> databaseProvider.getPolicyTypes(NAME, VERSION_100))
- .hasMessage("service template not found in database");
+ .hasMessage("service template not found in database");
assertTrue(databaseProvider.getPolicyTypeList(NAME, VERSION_100).isEmpty());
assertThatThrownBy(() -> databaseProvider.getFilteredPolicyTypes(ToscaPolicyTypeFilter.builder().build()))
- .hasMessage("service template not found in database");
+ .hasMessage("service template not found in database");
assertTrue(databaseProvider.getFilteredPolicyTypeList(ToscaPolicyTypeFilter.builder().build()).isEmpty());
@@ -346,15 +346,15 @@ public class DatabasePolicyModelsProviderTest {
}).hasMessage("no policy types specified on service template");
assertThatThrownBy(() -> databaseProvider.deletePolicyType(NAME, VERSION_100))
- .hasMessage("service template not found in database");
+ .hasMessage("service template not found in database");
assertThatThrownBy(() -> databaseProvider.getPolicies(NAME, VERSION_100))
- .hasMessage("service template not found in database");
+ .hasMessage("service template not found in database");
assertTrue(databaseProvider.getPolicyList(NAME, VERSION_100).isEmpty());
assertThatThrownBy(() -> databaseProvider.getFilteredPolicies(ToscaPolicyFilter.builder().build()))
- .hasMessage("service template not found in database");
+ .hasMessage("service template not found in database");
assertTrue(databaseProvider.getFilteredPolicyList(ToscaPolicyFilter.builder().build()).isEmpty());
@@ -367,15 +367,15 @@ public class DatabasePolicyModelsProviderTest {
}).hasMessage("topology template not specified on service template");
assertThatThrownBy(() -> databaseProvider.deletePolicy("Policy", "0.0.0").getToscaTopologyTemplate())
- .hasMessage("service template not found in database");
+ .hasMessage("service template not found in database");
assertThatThrownBy(() -> {
databaseProvider.getOperationalPolicy(POLICY_ID, null);
- }).hasMessage("no policy found for policy: policy_id:null");
+ }).hasMessage("service template not found in database");
assertThatThrownBy(() -> {
databaseProvider.getOperationalPolicy(POLICY_ID, "10");
- }).hasMessage("no policy found for policy: policy_id:10");
+ }).hasMessage("service template not found in database");
assertThatThrownBy(() -> {
databaseProvider.createOperationalPolicy(new LegacyOperationalPolicy());
@@ -387,7 +387,7 @@ public class DatabasePolicyModelsProviderTest {
assertThatThrownBy(() -> {
databaseProvider.deleteOperationalPolicy(POLICY_ID, "55");
- }).hasMessage("no policy found for policy: policy_id:55");
+ }).hasMessage("service template not found in database");
assertEquals(0, databaseProvider.getPdpGroups(NAME).size());
assertEquals(0, databaseProvider.getFilteredPdpGroups(PdpGroupFilter.builder().build()).size());
@@ -427,20 +427,20 @@ public class DatabasePolicyModelsProviderTest {
statisticsArrayList.add(pdpStatistics);
assertEquals(123,
- databaseProvider.createPdpGroups(groupList).get(0).getPdpSubgroups().get(0).getDesiredInstanceCount());
+ databaseProvider.createPdpGroups(groupList).get(0).getPdpSubgroups().get(0).getDesiredInstanceCount());
assertEquals(1, databaseProvider.getPdpGroups(GROUP).size());
pdpSubGroup.setDesiredInstanceCount(234);
databaseProvider.updatePdpSubGroup(GROUP, pdpSubGroup);
assertEquals(234,
- databaseProvider.getPdpGroups(GROUP).get(0).getPdpSubgroups().get(0).getDesiredInstanceCount());
+ databaseProvider.getPdpGroups(GROUP).get(0).getPdpSubgroups().get(0).getDesiredInstanceCount());
- assertEquals("Hello", databaseProvider.getPdpGroups(GROUP).get(0).getPdpSubgroups().get(0).getPdpInstances()
- .get(0).getMessage());
+ assertEquals("Hello",
+ databaseProvider.getPdpGroups(GROUP).get(0).getPdpSubgroups().get(0).getPdpInstances().get(0).getMessage());
pdp.setMessage("Howdy");
databaseProvider.updatePdp(GROUP, "type", pdp);
- assertEquals("Howdy", databaseProvider.getPdpGroups(GROUP).get(0).getPdpSubgroups().get(0).getPdpInstances()
- .get(0).getMessage());
+ assertEquals("Howdy",
+ databaseProvider.getPdpGroups(GROUP).get(0).getPdpSubgroups().get(0).getPdpInstances().get(0).getMessage());
assertThatThrownBy(() -> {
databaseProvider.deletePdpGroup(NAME);
@@ -454,30 +454,30 @@ public class DatabasePolicyModelsProviderTest {
assertEquals(NAME, databaseProvider.getPdpStatistics(null, null).get(0).getPdpInstanceId());
assertEquals(NAME, databaseProvider.getFilteredPdpStatistics(null, GROUP, null, null, null, ORDER, 0).get(0)
- .getPdpInstanceId());
+ .getPdpInstanceId());
assertEquals(0,
- databaseProvider.getFilteredPdpStatistics(null, GROUP, null, new Date(), null, ORDER, 0).size());
+ databaseProvider.getFilteredPdpStatistics(null, GROUP, null, new Date(), null, ORDER, 0).size());
assertEquals(NAME, databaseProvider.getFilteredPdpStatistics(null, GROUP, null, null, new Date(), ORDER, 0)
- .get(0).getPdpInstanceId());
+ .get(0).getPdpInstanceId());
assertEquals(0,
- databaseProvider.getFilteredPdpStatistics(null, GROUP, null, new Date(), new Date(), ORDER, 0).size());
+ databaseProvider.getFilteredPdpStatistics(null, GROUP, null, new Date(), new Date(), ORDER, 0).size());
assertEquals(NAME, databaseProvider.getFilteredPdpStatistics(NAME, GROUP, null, null, null, ORDER, 0).get(0)
- .getPdpInstanceId());
+ .getPdpInstanceId());
assertEquals(0,
- databaseProvider.getFilteredPdpStatistics(NAME, GROUP, null, new Date(), new Date(), ORDER, 0).size());
+ databaseProvider.getFilteredPdpStatistics(NAME, GROUP, null, new Date(), new Date(), ORDER, 0).size());
assertEquals(NAME, databaseProvider.getFilteredPdpStatistics(NAME, GROUP, "type", null, null, ORDER, 0).get(0)
- .getPdpInstanceId());
- assertEquals(0, databaseProvider.getFilteredPdpStatistics(NAME, GROUP, "type", new Date(), new Date(), ORDER, 0)
- .size());
+ .getPdpInstanceId());
+ assertEquals(0,
+ databaseProvider.getFilteredPdpStatistics(NAME, GROUP, "type", new Date(), new Date(), ORDER, 0).size());
assertEquals(NAME, databaseProvider.getFilteredPdpStatistics(NAME, GROUP, "type", null, null, ORDER, 1).get(0)
- .getPdpInstanceId());
+ .getPdpInstanceId());
assertEquals(NAME, databaseProvider.getFilteredPdpStatistics(NAME, GROUP, "type", null, null, ORDER, 5).get(0)
- .getPdpInstanceId());
- assertEquals(0, databaseProvider.getFilteredPdpStatistics(NAME, GROUP, "type", new Date(), new Date(), ORDER, 5)
- .size());
+ .getPdpInstanceId());
+ assertEquals(0,
+ databaseProvider.getFilteredPdpStatistics(NAME, GROUP, "type", new Date(), new Date(), ORDER, 5).size());
assertEquals(NAME, databaseProvider.deletePdpStatistics(NAME, null).get(0).getPdpInstanceId());
assertEquals(0, databaseProvider.getPdpStatistics(null, null).size());
@@ -512,15 +512,15 @@ public class DatabasePolicyModelsProviderTest {
pdpGroups.add(pdpGroup);
PolicyModelsProvider databaseProvider =
- new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
+ new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
databaseProvider.createPdpGroups(pdpGroups);
assertThatThrownBy(() -> databaseProvider.deletePolicy("p0", "0.0.1"))
- .hasMessageContaining("policy is in use, it is deployed in PDP group pdpGroup subgroup pdpType");
+ .hasMessageContaining("policy is in use, it is deployed in PDP group pdpGroup subgroup pdpType");
assertThatThrownBy(() -> databaseProvider.deletePolicy("p3", "0.0.1"))
- .hasMessageContaining("service template not found in database");
+ .hasMessageContaining("service template not found in database");
databaseProvider.close();
}
@@ -547,15 +547,15 @@ public class DatabasePolicyModelsProviderTest {
pdpGroups.add(pdpGroup);
PolicyModelsProvider databaseProvider =
- new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
+ new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
databaseProvider.createPdpGroups(pdpGroups);
assertThatThrownBy(() -> databaseProvider.deletePolicyType("pt2", "0.0.1"))
- .hasMessageContaining("policy type is in use, it is referenced in PDP group pdpGroup subgroup pdpType");
+ .hasMessageContaining("policy type is in use, it is referenced in PDP group pdpGroup subgroup pdpType");
assertThatThrownBy(() -> databaseProvider.deletePolicyType("pt0", "0.0.1"))
- .hasMessageContaining("service template not found in database");
+ .hasMessageContaining("service template not found in database");
databaseProvider.close();
}
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider.java
index 314c7728d..44c086dc4 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider.java
@@ -1,6 +1,6 @@
/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2019 Nordix Foundation.
+ * Copyright (C) 2019-2020 Nordix Foundation.
* Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,7 +21,7 @@
package org.onap.policy.models.tosca.legacy.provider;
-import java.util.List;
+import java.util.Map;
import javax.ws.rs.core.Response;
@@ -33,11 +33,10 @@ import org.onap.policy.models.base.PfModelRuntimeException;
import org.onap.policy.models.dao.PfDao;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
import org.onap.policy.models.tosca.legacy.mapping.LegacyOperationalPolicyMapper;
-import org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicies;
import org.onap.policy.models.tosca.simple.concepts.JpaToscaPolicy;
import org.onap.policy.models.tosca.simple.concepts.JpaToscaServiceTemplate;
-import org.onap.policy.models.tosca.simple.concepts.JpaToscaTopologyTemplate;
import org.onap.policy.models.tosca.simple.provider.SimpleToscaProvider;
+import org.onap.policy.models.tosca.utils.ToscaUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -64,15 +63,15 @@ public class LegacyProvider {
* @throws PfModelException on errors getting policies
*/
public LegacyOperationalPolicy getOperationalPolicy(@NonNull final PfDao dao, @NonNull final String policyId,
- final String policyVersion) throws PfModelException {
+ final String policyVersion) throws PfModelException {
LOGGER.debug("->getOperationalPolicy: policyId={}, policyVersion={}", policyId, policyVersion);
- LegacyOperationalPolicy legacyOperationalPolicy = new LegacyOperationalPolicyMapper()
- .fromToscaServiceTemplate(getLegacyPolicy(dao, policyId, policyVersion));
+ LegacyOperationalPolicy legacyOperationalPolicy =
+ new LegacyOperationalPolicyMapper().fromToscaServiceTemplate(getLegacyPolicy(dao, policyId, policyVersion));
LOGGER.debug("<-getOperationalPolicy: policyId={}, policyVersion={}, legacyOperationalPolicy={}", policyId,
- policyVersion, legacyOperationalPolicy);
+ policyVersion, legacyOperationalPolicy);
return legacyOperationalPolicy;
}
@@ -85,17 +84,17 @@ public class LegacyProvider {
* @throws PfModelException on errors creating policies
*/
public LegacyOperationalPolicy createOperationalPolicy(@NonNull final PfDao dao,
- @NonNull final LegacyOperationalPolicy legacyOperationalPolicy) throws PfModelException {
+ @NonNull final LegacyOperationalPolicy legacyOperationalPolicy) throws PfModelException {
LOGGER.debug("->createOperationalPolicy: legacyOperationalPolicy={}", legacyOperationalPolicy);
JpaToscaServiceTemplate legacyOperationalServiceTemplate =
- new LegacyOperationalPolicyMapper().toToscaServiceTemplate(legacyOperationalPolicy);
+ new LegacyOperationalPolicyMapper().toToscaServiceTemplate(legacyOperationalPolicy);
new SimpleToscaProvider().createPolicies(dao, legacyOperationalServiceTemplate);
LegacyOperationalPolicy createdLegacyOperationalPolicy =
- new LegacyOperationalPolicyMapper().fromToscaServiceTemplate(legacyOperationalServiceTemplate);
+ new LegacyOperationalPolicyMapper().fromToscaServiceTemplate(legacyOperationalServiceTemplate);
LOGGER.debug("<-createOperationalPolicy: createdLegacyOperationalPolicy={}", createdLegacyOperationalPolicy);
return createdLegacyOperationalPolicy;
@@ -110,16 +109,16 @@ public class LegacyProvider {
* @throws PfModelException on errors updating policies
*/
public LegacyOperationalPolicy updateOperationalPolicy(@NonNull final PfDao dao,
- @NonNull final LegacyOperationalPolicy legacyOperationalPolicy) throws PfModelException {
+ @NonNull final LegacyOperationalPolicy legacyOperationalPolicy) throws PfModelException {
LOGGER.debug("->updateOperationalPolicy: legacyOperationalPolicy={}", legacyOperationalPolicy);
JpaToscaServiceTemplate incomingServiceTemplate =
- new LegacyOperationalPolicyMapper().toToscaServiceTemplate(legacyOperationalPolicy);
+ new LegacyOperationalPolicyMapper().toToscaServiceTemplate(legacyOperationalPolicy);
JpaToscaServiceTemplate outgoingingServiceTemplate =
- new SimpleToscaProvider().updatePolicies(dao, incomingServiceTemplate);
+ new SimpleToscaProvider().updatePolicies(dao, incomingServiceTemplate);
LegacyOperationalPolicy updatedLegacyOperationalPolicy =
- new LegacyOperationalPolicyMapper().fromToscaServiceTemplate(outgoingingServiceTemplate);
+ new LegacyOperationalPolicyMapper().fromToscaServiceTemplate(outgoingingServiceTemplate);
LOGGER.debug("<-updateOperationalPolicy: updatedLegacyOperationalPolicy={}", updatedLegacyOperationalPolicy);
return updatedLegacyOperationalPolicy;
@@ -135,15 +134,17 @@ public class LegacyProvider {
* @throws PfModelException on errors deleting policies
*/
public LegacyOperationalPolicy deleteOperationalPolicy(@NonNull final PfDao dao, @NonNull final String policyId,
- @NonNull final String policyVersion) throws PfModelException {
+ @NonNull final String policyVersion) throws PfModelException {
LOGGER.debug("->deleteOperationalPolicy: policyId={}, policyVersion={}", policyId, policyVersion);
- LegacyOperationalPolicy legacyOperationalPolicy = new LegacyOperationalPolicyMapper()
- .fromToscaServiceTemplate(deleteLegacyPolicy(dao, policyId, policyVersion));
+ JpaToscaServiceTemplate deleteServiceTemplate = new SimpleToscaProvider().deletePolicy(dao,
+ new PfConceptKey(policyId, policyVersion + LEGACY_MINOR_PATCH_SUFFIX));
+ LegacyOperationalPolicy legacyOperationalPolicy =
+ new LegacyOperationalPolicyMapper().fromToscaServiceTemplate(deleteServiceTemplate);
LOGGER.debug("<-deleteOperationalPolicy: policyId={}, policyVersion={}, legacyOperationalPolicy={}", policyId,
- policyVersion, legacyOperationalPolicy);
+ policyVersion, legacyOperationalPolicy);
return legacyOperationalPolicy;
}
@@ -154,63 +155,25 @@ public class LegacyProvider {
* @param policyId the policy ID to search for
* @param policyVersion the policy version to search for
* @return the JPA policy found
- * @throws PfModelRuntimeException if a policy is not found
+ * @throws PfModelException if a policy is not found
*/
- private JpaToscaServiceTemplate getLegacyPolicy(final PfDao dao, final String policyId,
- final String policyVersion) {
- JpaToscaPolicy foundPolicy = null;
+ private JpaToscaServiceTemplate getLegacyPolicy(final PfDao dao, final String policyId, final String policyVersion)
+ throws PfModelException {
+ JpaToscaServiceTemplate foundPolicyServiceTemplate = null;
if (policyVersion == null) {
- foundPolicy = getLatestPolicy(dao, policyId);
+ foundPolicyServiceTemplate = getLatestPolicy(dao, policyId);
} else {
- foundPolicy = dao.get(JpaToscaPolicy.class,
- new PfConceptKey(policyId, policyVersion + LEGACY_MINOR_PATCH_SUFFIX));
+ foundPolicyServiceTemplate =
+ new SimpleToscaProvider().getPolicies(dao, policyId, policyVersion + LEGACY_MINOR_PATCH_SUFFIX);
}
- if (foundPolicy == null) {
+ if (foundPolicyServiceTemplate == null) {
String errorMessage = NO_POLICY_FOUND_FOR_POLICY + policyId + ':' + policyVersion;
LOGGER.warn(errorMessage);
throw new PfModelRuntimeException(Response.Status.BAD_REQUEST, errorMessage);
}
- // Create the structure of the TOSCA service template to contain the policy type
- JpaToscaServiceTemplate serviceTemplate = new JpaToscaServiceTemplate();
- serviceTemplate.setTopologyTemplate(new JpaToscaTopologyTemplate());
- serviceTemplate.getTopologyTemplate().setPolicies(new JpaToscaPolicies());
- serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap().put(foundPolicy.getKey(), foundPolicy);
-
- return serviceTemplate;
- }
-
- /**
- * Delete a legacy policy.
- *
- * @param dao the DAO to use for the deletion
- * @param policyId the policy ID
- * @param policyVersion the policy version
- * @return a service template containing the policy that has been deleted
- */
- private JpaToscaServiceTemplate deleteLegacyPolicy(final PfDao dao, final String policyId,
- final String policyVersion) {
-
- final JpaToscaPolicy deletePolicy =
- dao.get(JpaToscaPolicy.class, new PfConceptKey(policyId, policyVersion + LEGACY_MINOR_PATCH_SUFFIX));
-
- if (deletePolicy == null) {
- String errorMessage = NO_POLICY_FOUND_FOR_POLICY + policyId + ':' + policyVersion;
- LOGGER.warn(errorMessage);
- throw new PfModelRuntimeException(Response.Status.BAD_REQUEST, errorMessage);
- }
-
- // Delete the policy
- dao.delete(deletePolicy);
-
- // Create the structure of the TOSCA service template to contain the policy type
- JpaToscaServiceTemplate serviceTemplate = new JpaToscaServiceTemplate();
- serviceTemplate.setTopologyTemplate(new JpaToscaTopologyTemplate());
- serviceTemplate.getTopologyTemplate().setPolicies(new JpaToscaPolicies());
- serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap().put(deletePolicy.getKey(), deletePolicy);
-
- return serviceTemplate;
+ return foundPolicyServiceTemplate;
}
/**
@@ -219,26 +182,36 @@ public class LegacyProvider {
* @param dao The DAO to read from
* @param policyId the ID of the policy
* @return the policy
+ * @throws PfModelException on exceptions getting the policies
*/
- private JpaToscaPolicy getLatestPolicy(final PfDao dao, final String policyId) {
+ private JpaToscaServiceTemplate getLatestPolicy(final PfDao dao, final String policyId) throws PfModelException {
// Get all the policies in the database and check the policy ID against the policies returned
- List<JpaToscaPolicy> policyList = dao.getAll(JpaToscaPolicy.class);
+ JpaToscaServiceTemplate serviceTemplate = new SimpleToscaProvider().getPolicies(dao, policyId, null);
+
+ if (!ToscaUtils.doPoliciesExist(serviceTemplate)) {
+ return null;
+ }
// Find the latest policy that matches the ID
- JpaToscaPolicy newestPolicy = null;
+ final Map<PfConceptKey, JpaToscaPolicy> policyMap =
+ serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap();
+ PfConceptKey newestPolicyKey = null;
- for (JpaToscaPolicy policy : policyList) {
+ for (JpaToscaPolicy policy : policyMap.values()) {
if (!policyId.equals(policy.getKey().getName())) {
continue;
}
// We found a matching policy
- if (newestPolicy == null || policy.getKey().isNewerThan(newestPolicy.getKey())) {
+ if (newestPolicyKey == null || policy.getKey().isNewerThan(newestPolicyKey)) {
// First policy found
- newestPolicy = policy;
+ newestPolicyKey = policy.getKey();
}
}
- return newestPolicy;
- }
+ final PfConceptKey newestPolicyFinalKey = newestPolicyKey;
+ policyMap.keySet().removeIf(key -> !key.equals(newestPolicyFinalKey));
+
+ return serviceTemplate;
+ }
}
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProvider.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProvider.java
index 4dbbc2dd5..f12f9884f 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProvider.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProvider.java
@@ -276,10 +276,16 @@ public class SimpleToscaProvider {
}
}
- dao.delete(JpaToscaDataType.class, dataTypeKey);
+ serviceTemplate.getDataTypes().getConceptMap().remove(dataTypeKey);
+ new SimpleToscaServiceTemplateProvider().write(dao, serviceTemplate);
+ dao.delete(dataType4Deletion);
- LOGGER.debug("<-deleteDataType: key={}, serviceTempalate={}", dataTypeKey, serviceTemplate);
- return serviceTemplate;
+ JpaToscaServiceTemplate deletedServiceTemplate = new JpaToscaServiceTemplate();
+ deletedServiceTemplate.setDataTypes(new JpaToscaDataTypes());
+ deletedServiceTemplate.getDataTypes().getConceptMap().put(dataTypeKey, dataType4Deletion);
+
+ LOGGER.debug("<-deleteDataType: key={}, serviceTempalate={}", dataTypeKey, deletedServiceTemplate);
+ return deletedServiceTemplate;
}
/**
@@ -427,8 +433,7 @@ public class SimpleToscaProvider {
throw new PfModelRuntimeException(Response.Status.NOT_FOUND, "no policy types found");
}
- JpaToscaEntityType<? extends ToscaEntity> policyType4Deletion =
- serviceTemplate.getPolicyTypes().get(policyTypeKey);
+ JpaToscaPolicyType policyType4Deletion = serviceTemplate.getPolicyTypes().get(policyTypeKey);
if (policyType4Deletion == null) {
throw new PfModelRuntimeException(Response.Status.NOT_FOUND,
POLICY_TYPE + policyTypeKey.getId() + NOT_FOUND);
@@ -453,12 +458,13 @@ public class SimpleToscaProvider {
}
}
- dao.delete(JpaToscaPolicyType.class, policyTypeKey);
+ serviceTemplate.getPolicyTypes().getConceptMap().remove(policyTypeKey);
+ new SimpleToscaServiceTemplateProvider().write(dao, serviceTemplate);
+ dao.delete(policyType4Deletion);
JpaToscaServiceTemplate deletedServiceTemplate = new JpaToscaServiceTemplate();
deletedServiceTemplate.setPolicyTypes(new JpaToscaPolicyTypes());
- deletedServiceTemplate.getPolicyTypes().getConceptMap().put(policyTypeKey,
- serviceTemplate.getPolicyTypes().getConceptMap().get(policyTypeKey));
+ deletedServiceTemplate.getPolicyTypes().getConceptMap().put(policyTypeKey, policyType4Deletion);
LOGGER.debug("<-deletePolicyType: key={}, serviceTempalate={}", policyTypeKey, deletedServiceTemplate);
return deletedServiceTemplate;
@@ -604,13 +610,14 @@ public class SimpleToscaProvider {
throw new PfModelRuntimeException(Response.Status.NOT_FOUND, "policy " + policyKey.getId() + NOT_FOUND);
}
- dao.delete(JpaToscaPolicy.class, policyKey);
+ serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap().remove(policyKey);
+ new SimpleToscaServiceTemplateProvider().write(dao, serviceTemplate);
+ dao.delete(policy4Deletion);
JpaToscaServiceTemplate deletedServiceTemplate = new JpaToscaServiceTemplate();
deletedServiceTemplate.setTopologyTemplate(new JpaToscaTopologyTemplate());
deletedServiceTemplate.getTopologyTemplate().setPolicies(new JpaToscaPolicies());
- deletedServiceTemplate.getTopologyTemplate().getPolicies().getConceptMap().put(policyKey,
- serviceTemplate.getTopologyTemplate().getPolicies().getConceptMap().get(policyKey));
+ deletedServiceTemplate.getTopologyTemplate().getPolicies().getConceptMap().put(policyKey, policy4Deletion);
LOGGER.debug("<-deletePolicy: key={}, serviceTempalate={}", policyKey, deletedServiceTemplate);
return deletedServiceTemplate;
diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaServiceTemplateProvider.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaServiceTemplateProvider.java
index a971b9af3..34a7e2cee 100644
--- a/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaServiceTemplateProvider.java
+++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaServiceTemplateProvider.java
@@ -20,6 +20,8 @@
package org.onap.policy.models.tosca.simple.provider;
+import javax.ws.rs.core.Response.Status;
+
import lombok.NonNull;
import org.onap.policy.models.base.PfConceptKey;
@@ -40,7 +42,7 @@ public class SimpleToscaServiceTemplateProvider {
// There is only one service template in the database becasue TOSCA does not specify names and versions on service
// templates.
private static final PfConceptKey DEFAULT_SERVICE_TEMPLATE_KEY =
- new PfConceptKey(JpaToscaServiceTemplate.DEFAULT_NAME, JpaToscaServiceTemplate.DEFAULT_VERSION);
+ new PfConceptKey(JpaToscaServiceTemplate.DEFAULT_NAME, JpaToscaServiceTemplate.DEFAULT_VERSION);
/**
* Get a service template from the database.
@@ -49,14 +51,20 @@ public class SimpleToscaServiceTemplateProvider {
* @return the Service Template read from the database
* @throws PfModelException on errors getting the service template
*/
- public JpaToscaServiceTemplate read(@NonNull final PfDao dao) throws PfModelException {
+ protected JpaToscaServiceTemplate read(@NonNull final PfDao dao) throws PfModelException {
LOGGER.debug("->read");
- // Get the service template
- JpaToscaServiceTemplate serviceTemplate = dao.get(JpaToscaServiceTemplate.class, DEFAULT_SERVICE_TEMPLATE_KEY);
+ try {
+ // Get the service template
+ JpaToscaServiceTemplate serviceTemplate =
+ dao.get(JpaToscaServiceTemplate.class, DEFAULT_SERVICE_TEMPLATE_KEY);
- LOGGER.debug("<-read: serviceTemplate={}", serviceTemplate);
- return serviceTemplate;
+ LOGGER.debug("<-read: serviceTemplate={}", serviceTemplate);
+ return serviceTemplate;
+ } catch (Exception dbException) {
+ throw new PfModelException(Status.INTERNAL_SERVER_ERROR, "database read error on service tempalate"
+ + DEFAULT_SERVICE_TEMPLATE_KEY.getId() + "\n" + dbException.getMessage(), dbException);
+ }
}
/**
@@ -67,21 +75,18 @@ public class SimpleToscaServiceTemplateProvider {
* @return the TOSCA service template overwritten by this method
* @throws PfModelException on errors writing the service template
*/
- public JpaToscaServiceTemplate write(@NonNull final PfDao dao,
- @NonNull final JpaToscaServiceTemplate serviceTemplate) throws PfModelException {
- LOGGER.debug("->write: serviceTempalate={}", serviceTemplate);
-
- JpaToscaServiceTemplate overwrittenServiceTemplate =
- dao.get(JpaToscaServiceTemplate.class, serviceTemplate.getKey());
-
- if (overwrittenServiceTemplate != null) {
- dao.delete(overwrittenServiceTemplate);
+ protected JpaToscaServiceTemplate write(@NonNull final PfDao dao,
+ @NonNull final JpaToscaServiceTemplate serviceTemplate) throws PfModelException {
+
+ try {
+ LOGGER.debug("->write: serviceTempalate={}", serviceTemplate);
+ JpaToscaServiceTemplate overwrittenServiceTemplate = dao.update(serviceTemplate);
+ LOGGER.debug("<-write: overwrittenServiceTemplate={}", overwrittenServiceTemplate);
+ return overwrittenServiceTemplate;
+ } catch (Exception dbException) {
+ throw new PfModelException(Status.INTERNAL_SERVER_ERROR, "database write error on service tempalate"
+ + serviceTemplate.getKey().getId() + "\n" + dbException.getMessage(), dbException);
}
-
- dao.create(serviceTemplate);
-
- LOGGER.debug("<-write: overwrittenServiceTemplate={}", overwrittenServiceTemplate);
- return overwrittenServiceTemplate;
}
/**
@@ -91,16 +96,20 @@ public class SimpleToscaServiceTemplateProvider {
* @return the Service Template stored in the database
* @throws PfModelException on errors getting the service template
*/
- public JpaToscaServiceTemplate delete(@NonNull final PfDao dao) throws PfModelException {
- LOGGER.debug("->delete");
+ protected JpaToscaServiceTemplate delete(@NonNull final PfDao dao) throws PfModelException {
+ try {
+ LOGGER.debug("->delete");
- JpaToscaServiceTemplate serviceTemplateToBeDeleted =
+ JpaToscaServiceTemplate serviceTemplateToBeDeleted =
dao.get(JpaToscaServiceTemplate.class, DEFAULT_SERVICE_TEMPLATE_KEY);
- dao.delete(serviceTemplateToBeDeleted);
+ dao.delete(serviceTemplateToBeDeleted);
- LOGGER.debug("<-delete: serviceTemplate={}", serviceTemplateToBeDeleted);
- return serviceTemplateToBeDeleted;
+ LOGGER.debug("<-delete: serviceTemplate={}", serviceTemplateToBeDeleted);
+ return serviceTemplateToBeDeleted;
+ } catch (Exception dbException) {
+ throw new PfModelException(Status.INTERNAL_SERVER_ERROR, "database delete error on service tempalate"
+ + DEFAULT_SERVICE_TEMPLATE_KEY.getId() + "\n" + dbException.getMessage(), dbException);
+ }
}
-
}
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 3f0d9e2a5..22b9ab04d 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
@@ -133,7 +133,7 @@ public class AuthorativeToscaProviderPolicyTypeTest {
assertNotNull(toscaServiceTemplate);
ToscaServiceTemplate createdServiceTemplate =
- new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplate);
+ new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplate);
PfConceptKey policyTypeKey = new PfConceptKey(POLICY_NO_VERSION_VERSION1);
@@ -142,15 +142,15 @@ public class AuthorativeToscaProviderPolicyTypeTest {
assertEquals(true, beforePolicyType.getName().equals(createdPolicyType.getName()));
assertEquals(0, ObjectUtils.compare(beforePolicyType.getDescription(), createdPolicyType.getDescription()));
- ToscaServiceTemplate gotServiceTemplate = new AuthorativeToscaProvider().getPolicyTypes(pfDao,
- policyTypeKey.getName(), policyTypeKey.getVersion());
+ ToscaServiceTemplate gotServiceTemplate =
+ new AuthorativeToscaProvider().getPolicyTypes(pfDao, policyTypeKey.getName(), policyTypeKey.getVersion());
ToscaPolicyType gotPolicyType = gotServiceTemplate.getPolicyTypes().get(policyTypeKey.getName());
assertEquals(true, beforePolicyType.getName().equals(gotPolicyType.getName()));
assertEquals(0, ObjectUtils.compare(beforePolicyType.getDescription(), createdPolicyType.getDescription()));
List<ToscaPolicyType> gotPolicyTypeList =
- new AuthorativeToscaProvider().getPolicyTypeList(pfDao, POLICY_NO_VERSION, VERSION_001);
+ new AuthorativeToscaProvider().getPolicyTypeList(pfDao, POLICY_NO_VERSION, VERSION_001);
assertEquals(2, gotPolicyTypeList.size());
assertEquals(true, beforePolicyType.getName().equals(gotPolicyType.getName()));
@@ -166,8 +166,9 @@ public class AuthorativeToscaProviderPolicyTypeTest {
assertEquals(2, gotPolicyTypeList.size());
assertEquals(true, beforePolicyType.getName().equals(gotPolicyType.getName()));
- assertThatThrownBy(() -> new AuthorativeToscaProvider().getPolicyTypeList(new DefaultPfDao(), POLICY_NO_VERSION,
- VERSION_001)).hasMessageContaining("Policy Framework DAO has not been initialized");
+ assertThatThrownBy(
+ () -> new AuthorativeToscaProvider().getPolicyTypeList(new DefaultPfDao(), POLICY_NO_VERSION, VERSION_001))
+ .hasMessageContaining("Policy Framework DAO has not been initialized");
assertTrue(new AuthorativeToscaProvider().getPolicyTypeList(pfDao, "i.dont.Exist", VERSION_001).isEmpty());
}
@@ -199,18 +200,17 @@ public class AuthorativeToscaProviderPolicyTypeTest {
}).hasMessageMatching("^filter is marked .*on.*ull but is null$");
assertThatThrownBy(() -> new AuthorativeToscaProvider().getFilteredPolicyTypeList(new DefaultPfDao(),
- ToscaPolicyTypeFilter.builder().name("i.dont.Exist").build()))
- .hasMessageContaining("Policy Framework DAO has not been initialized");
+ ToscaPolicyTypeFilter.builder().name("i.dont.Exist").build()))
+ .hasMessageContaining("Policy Framework DAO has not been initialized");
assertTrue(new AuthorativeToscaProvider()
- .getFilteredPolicyTypeList(pfDao, ToscaPolicyTypeFilter.builder().name("i.dont.Exist").build())
- .isEmpty());
+ .getFilteredPolicyTypeList(pfDao, ToscaPolicyTypeFilter.builder().name("i.dont.Exist").build()).isEmpty());
ToscaServiceTemplate toscaServiceTemplate = standardCoder.decode(yamlAsJsonString, ToscaServiceTemplate.class);
assertNotNull(toscaServiceTemplate);
ToscaServiceTemplate createdServiceTemplate =
- new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplate);
+ new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplate);
PfConceptKey policyTypeKey = new PfConceptKey(POLICY_NO_VERSION_VERSION1);
@@ -220,48 +220,48 @@ public class AuthorativeToscaProviderPolicyTypeTest {
assertEquals(0, ObjectUtils.compare(beforePolicyType.getDescription(), createdPolicyType.getDescription()));
ToscaServiceTemplate gotServiceTemplate =
- new AuthorativeToscaProvider().getFilteredPolicyTypes(pfDao, ToscaPolicyTypeFilter.builder().build());
+ new AuthorativeToscaProvider().getFilteredPolicyTypes(pfDao, ToscaPolicyTypeFilter.builder().build());
ToscaPolicyType gotPolicyType = gotServiceTemplate.getPolicyTypes().get(policyTypeKey.getName());
assertEquals(true, beforePolicyType.getName().equals(gotPolicyType.getName()));
assertEquals(0, ObjectUtils.compare(beforePolicyType.getDescription(), gotPolicyType.getDescription()));
gotServiceTemplate = new AuthorativeToscaProvider().getFilteredPolicyTypes(pfDao,
- ToscaPolicyTypeFilter.builder().name(policyTypeKey.getName()).build());
+ ToscaPolicyTypeFilter.builder().name(policyTypeKey.getName()).build());
gotPolicyType = gotServiceTemplate.getPolicyTypes().get(policyTypeKey.getName());
assertEquals(true, beforePolicyType.getName().equals(gotPolicyType.getName()));
assertEquals(0, ObjectUtils.compare(beforePolicyType.getDescription(), gotPolicyType.getDescription()));
gotServiceTemplate = new AuthorativeToscaProvider().getFilteredPolicyTypes(pfDao,
- ToscaPolicyTypeFilter.builder().name(policyTypeKey.getName()).version(VERSION_001).build());
+ ToscaPolicyTypeFilter.builder().name(policyTypeKey.getName()).version(VERSION_001).build());
gotPolicyType = gotServiceTemplate.getPolicyTypes().get(policyTypeKey.getName());
assertEquals(true, beforePolicyType.getName().equals(gotPolicyType.getName()));
assertEquals(0, ObjectUtils.compare(beforePolicyType.getDescription(), gotPolicyType.getDescription()));
List<ToscaPolicyType> gotPolicyTypeList =
- new AuthorativeToscaProvider().getPolicyTypeList(pfDao, POLICY_NO_VERSION, VERSION_001);
+ new AuthorativeToscaProvider().getPolicyTypeList(pfDao, POLICY_NO_VERSION, VERSION_001);
assertEquals(2, gotPolicyTypeList.size());
assertEquals(true, beforePolicyType.getName().equals(gotPolicyType.getName()));
- gotPolicyTypeList = new AuthorativeToscaProvider().getFilteredPolicyTypeList(pfDao,
- ToscaPolicyTypeFilter.builder().build());
+ gotPolicyTypeList =
+ new AuthorativeToscaProvider().getFilteredPolicyTypeList(pfDao, ToscaPolicyTypeFilter.builder().build());
assertEquals(2, gotPolicyTypeList.size());
assertEquals(true, beforePolicyType.getName().equals(gotPolicyType.getName()));
gotPolicyTypeList = new AuthorativeToscaProvider().getFilteredPolicyTypeList(pfDao,
- ToscaPolicyTypeFilter.builder().name(policyTypeKey.getName()).build());
+ ToscaPolicyTypeFilter.builder().name(policyTypeKey.getName()).build());
assertEquals(1, gotPolicyTypeList.size());
assertEquals(true, beforePolicyType.getName().equals(gotPolicyType.getName()));
gotPolicyTypeList = new AuthorativeToscaProvider().getFilteredPolicyTypeList(pfDao,
- ToscaPolicyTypeFilter.builder().name(policyTypeKey.getName()).version(VERSION_001).build());
+ ToscaPolicyTypeFilter.builder().name(policyTypeKey.getName()).version(VERSION_001).build());
assertEquals(1, gotPolicyTypeList.size());
assertEquals(true, beforePolicyType.getName().equals(gotPolicyType.getName()));
gotPolicyTypeList = new AuthorativeToscaProvider().getFilteredPolicyTypeList(pfDao,
- ToscaPolicyTypeFilter.builder().version("1.0.0").build());
+ ToscaPolicyTypeFilter.builder().version("1.0.0").build());
assertEquals(1, gotPolicyTypeList.size());
assertEquals(true, beforePolicyType.getName().equals(gotPolicyType.getName()));
}
@@ -294,7 +294,7 @@ public class AuthorativeToscaProviderPolicyTypeTest {
assertNotNull(toscaServiceTemplate);
ToscaServiceTemplate createdServiceTemplate =
- new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplate);
+ new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplate);
PfConceptKey policyTypeKey = new PfConceptKey(POLICY_NO_VERSION_VERSION1);
@@ -326,7 +326,7 @@ public class AuthorativeToscaProviderPolicyTypeTest {
assertNotNull(toscaServiceTemplate);
ToscaServiceTemplate createdServiceTemplate =
- new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplate);
+ new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplate);
PfConceptKey policyTypeKey = new PfConceptKey(POLICY_NO_VERSION_VERSION1);
@@ -336,7 +336,7 @@ public class AuthorativeToscaProviderPolicyTypeTest {
assertEquals(0, ObjectUtils.compare(beforePolicyType.getDescription(), createdPolicyType.getDescription()));
ToscaServiceTemplate updatedServiceTemplate =
- new AuthorativeToscaProvider().updatePolicyTypes(pfDao, toscaServiceTemplate);
+ new AuthorativeToscaProvider().updatePolicyTypes(pfDao, toscaServiceTemplate);
ToscaPolicyType updatedPolicy = updatedServiceTemplate.getPolicyTypes().get(policyTypeKey.getName());
assertEquals(true, beforePolicyType.getName().equals(updatedPolicy.getName()));
@@ -377,7 +377,7 @@ public class AuthorativeToscaProviderPolicyTypeTest {
assertNotNull(toscaServiceTemplate);
ToscaServiceTemplate createdServiceTemplate =
- new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplate);
+ new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplate);
PfConceptKey policyTypeKey = new PfConceptKey(POLICY_NO_VERSION_VERSION1);
@@ -386,8 +386,8 @@ public class AuthorativeToscaProviderPolicyTypeTest {
assertEquals(true, beforePolicyType.getName().equals(createdPolicyType.getName()));
assertEquals(0, ObjectUtils.compare(beforePolicyType.getDescription(), createdPolicyType.getDescription()));
- ToscaServiceTemplate deletedServiceTemplate = new AuthorativeToscaProvider().deletePolicyType(pfDao,
- policyTypeKey.getName(), policyTypeKey.getVersion());
+ ToscaServiceTemplate deletedServiceTemplate =
+ new AuthorativeToscaProvider().deletePolicyType(pfDao, policyTypeKey.getName(), policyTypeKey.getVersion());
ToscaPolicyType deletedPolicy = deletedServiceTemplate.getPolicyTypes().get(policyTypeKey.getName());
assertEquals(true, beforePolicyType.getName().equals(deletedPolicy.getName()));
diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider4LegacyOperationalTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider4LegacyOperationalTest.java
index 4d0fd6fd6..42996c3a1 100644
--- a/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider4LegacyOperationalTest.java
+++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/legacy/provider/LegacyProvider4LegacyOperationalTest.java
@@ -112,12 +112,12 @@ public class LegacyProvider4LegacyOperationalTest {
assertThatThrownBy(() -> {
new LegacyProvider().getOperationalPolicy(pfDao, "I Dont Exist", null);
- }).hasMessage("no policy found for policy: I Dont Exist:null");
+ }).hasMessage("service template not found in database");
createPolicyTypes();
LegacyOperationalPolicy originalLop =
- standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), LegacyOperationalPolicy.class);
+ standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), LegacyOperationalPolicy.class);
assertNotNull(originalLop);
@@ -126,7 +126,7 @@ public class LegacyProvider4LegacyOperationalTest {
assertEquals(originalLop, createdLop);
LegacyOperationalPolicy gotLop =
- new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
+ new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
assertEquals(gotLop, originalLop);
@@ -137,7 +137,7 @@ public class LegacyProvider4LegacyOperationalTest {
LegacyOperationalPolicy createdLopV2 = new LegacyProvider().createOperationalPolicy(pfDao, originalLop);
LegacyOperationalPolicy gotLopV2 =
- new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
+ new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
assertEquals(gotLopV2, createdLopV2);
}
@@ -158,7 +158,7 @@ public class LegacyProvider4LegacyOperationalTest {
createPolicyTypes();
LegacyOperationalPolicy originalLop =
- standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), LegacyOperationalPolicy.class);
+ standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), LegacyOperationalPolicy.class);
assertNotNull(originalLop);
@@ -167,7 +167,7 @@ public class LegacyProvider4LegacyOperationalTest {
assertEquals(originalLop, createdLop);
LegacyOperationalPolicy gotLop =
- new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
+ new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
assertEquals(gotLop, originalLop);
@@ -198,7 +198,7 @@ public class LegacyProvider4LegacyOperationalTest {
createPolicyTypes();
LegacyOperationalPolicy originalLop =
- standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), LegacyOperationalPolicy.class);
+ standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), LegacyOperationalPolicy.class);
assertNotNull(originalLop);
@@ -206,7 +206,7 @@ public class LegacyProvider4LegacyOperationalTest {
assertEquals(originalLop, createdLop);
LegacyOperationalPolicy gotLop =
- new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
+ new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
assertEquals(gotLop, originalLop);
originalLop.setContent("Some New Content");
@@ -214,7 +214,7 @@ public class LegacyProvider4LegacyOperationalTest {
assertEquals(originalLop, updatedLop);
LegacyOperationalPolicy gotUpdatedLop =
- new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
+ new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
assertEquals(gotUpdatedLop, originalLop);
assertEquals("Some New Content", gotUpdatedLop.getContent());
}
@@ -252,12 +252,12 @@ public class LegacyProvider4LegacyOperationalTest {
assertThatThrownBy(() -> {
new LegacyProvider().deleteOperationalPolicy(pfDao, "IDontExist", "0");
- }).hasMessage("no policy found for policy: IDontExist:0");
+ }).hasMessage("service template not found in database");
createPolicyTypes();
LegacyOperationalPolicy originalLop =
- standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), LegacyOperationalPolicy.class);
+ standardCoder.decode(ResourceUtils.getResourceAsString(VCPE_INPUT_JSON), LegacyOperationalPolicy.class);
assertNotNull(originalLop);
@@ -265,7 +265,7 @@ public class LegacyProvider4LegacyOperationalTest {
assertEquals(originalLop, createdLop);
LegacyOperationalPolicy gotLop =
- new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
+ new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
assertEquals(gotLop, originalLop);
@@ -279,12 +279,12 @@ public class LegacyProvider4LegacyOperationalTest {
}).hasMessageMatching("^policyVersion is marked .*on.*ull but is null$");
LegacyOperationalPolicy deletedLop =
- new LegacyProvider().deleteOperationalPolicy(pfDao, originalLop.getPolicyId(), "1");
+ new LegacyProvider().deleteOperationalPolicy(pfDao, originalLop.getPolicyId(), "1");
assertEquals(originalLop, deletedLop);
assertThatThrownBy(() -> {
new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
- }).hasMessage("no policy found for policy: operational.restart:null");
+ }).hasMessage("policies for operational.restart:null do not exist");
LegacyOperationalPolicy otherLop = new LegacyOperationalPolicy();
otherLop.setPolicyId("another-policy");
@@ -296,16 +296,16 @@ public class LegacyProvider4LegacyOperationalTest {
assertThatThrownBy(() -> {
new LegacyProvider().getOperationalPolicy(pfDao, originalLop.getPolicyId(), null);
- }).hasMessage("no policy found for policy: operational.restart:null");
+ }).hasMessage("policies for operational.restart:null do not exist");
}
private void createPolicyTypes() throws CoderException, PfModelException {
Object yamlObject = new Yaml()
- .load(ResourceUtils.getResourceAsString("policytypes/onap.policies.controlloop.Operational.yaml"));
+ .load(ResourceUtils.getResourceAsString("policytypes/onap.policies.controlloop.Operational.yaml"));
String yamlAsJsonString = new StandardCoder().encode(yamlObject);
ToscaServiceTemplate toscaServiceTemplatePolicyType =
- standardCoder.decode(yamlAsJsonString, ToscaServiceTemplate.class);
+ standardCoder.decode(yamlAsJsonString, ToscaServiceTemplate.class);
assertNotNull(toscaServiceTemplatePolicyType);
new AuthorativeToscaProvider().createPolicyTypes(pfDao, toscaServiceTemplatePolicyType);
diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java
index a258eedea..e216beada 100644
--- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java
+++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaProviderTest.java
@@ -24,6 +24,7 @@ package org.onap.policy.models.tosca.simple.provider;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import java.util.Properties;
@@ -182,8 +183,8 @@ public class SimpleToscaProviderTest {
deletedServiceTemplate = new SimpleToscaProvider().deleteDataType(pfDao, dataType0v2.getKey());
- assertEquals(dataType0, deletedServiceTemplate.getDataTypes().get(dataType0Key));
- assertEquals("Updated Description", deletedServiceTemplate.getDataTypes().get(dataType0Key).getDescription());
+ assertEquals(dataType0v2, deletedServiceTemplate.getDataTypes().get(dataType0v2.getKey()));
+ assertNull(deletedServiceTemplate.getDataTypes().get(dataType0v2.getKey()).getDescription());
assertThatThrownBy(() -> new SimpleToscaProvider().deleteDataType(pfDao, dataType0Key))
.hasMessage("data type DataType0:0.0.1 is in use, it is referenced in policy type pt0:0.0.2");
@@ -282,6 +283,10 @@ public class SimpleToscaProviderTest {
assertThatThrownBy(() -> new SimpleToscaProvider().deletePolicyType(pfDao, policyType0Key))
.hasMessage("no policy types found");
+
+ JpaToscaServiceTemplate newServiceTemplate =
+ new SimpleToscaProvider().createPolicyTypes(pfDao, serviceTemplate);
+ assertEquals(serviceTemplate, newServiceTemplate);
}
@Test
@@ -482,6 +487,8 @@ public class SimpleToscaProviderTest {
assertThatThrownBy(() -> new SimpleToscaProvider().deletePolicy(pfDao, policyKey))
.hasMessage("no policies found");
+
+ new SimpleToscaProvider().createPolicies(pfDao, originalServiceTemplate);
}
@Test
diff --git a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaServiceTemplateProviderTest.java b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaServiceTemplateProviderTest.java
index 791928a0e..ab46d082b 100644
--- a/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaServiceTemplateProviderTest.java
+++ b/models-tosca/src/test/java/org/onap/policy/models/tosca/simple/provider/SimpleToscaServiceTemplateProviderTest.java
@@ -89,10 +89,10 @@ public class SimpleToscaServiceTemplateProviderTest {
public void testCreateUpdateGetDeleteDataType() throws PfModelException {
JpaToscaServiceTemplate serviceTemplate = new JpaToscaServiceTemplate();
- JpaToscaServiceTemplate overwrittenServiceTemplate =
- new SimpleToscaServiceTemplateProvider().write(pfDao, serviceTemplate);
+ JpaToscaServiceTemplate dbServiceTemplate =
+ new SimpleToscaServiceTemplateProvider().write(pfDao, serviceTemplate);
- assertNull(overwrittenServiceTemplate);
+ assertEquals(serviceTemplate, dbServiceTemplate);
JpaToscaServiceTemplate readServiceTemplate = new SimpleToscaServiceTemplateProvider().read(pfDao);
assertEquals(serviceTemplate, readServiceTemplate);
@@ -105,8 +105,8 @@ public class SimpleToscaServiceTemplateProviderTest {
serviceTemplate.setDataTypes(new JpaToscaDataTypes());
serviceTemplate.getDataTypes().getConceptMap().put(dataType0Key, dataType0);
- overwrittenServiceTemplate = new SimpleToscaServiceTemplateProvider().write(pfDao, serviceTemplate);
- assertEquals(readServiceTemplate, overwrittenServiceTemplate);
+ dbServiceTemplate = new SimpleToscaServiceTemplateProvider().write(pfDao, serviceTemplate);
+ assertEquals(serviceTemplate, dbServiceTemplate);
readServiceTemplate = new SimpleToscaServiceTemplateProvider().read(pfDao);
assertEquals(serviceTemplate, readServiceTemplate);
@@ -117,8 +117,8 @@ public class SimpleToscaServiceTemplateProviderTest {
dataType0.setDescription("Updated Description");
- overwrittenServiceTemplate = new SimpleToscaServiceTemplateProvider().write(pfDao, serviceTemplate);
- assertEquals(readServiceTemplate, overwrittenServiceTemplate);
+ dbServiceTemplate = new SimpleToscaServiceTemplateProvider().write(pfDao, serviceTemplate);
+ assertEquals(serviceTemplate, dbServiceTemplate);
readServiceTemplate = new SimpleToscaServiceTemplateProvider().read(pfDao);
assertEquals(serviceTemplate, readServiceTemplate);
@@ -135,8 +135,8 @@ public class SimpleToscaServiceTemplateProviderTest {
serviceTemplate.getPolicyTypes().getConceptMap().put(policyType0Key, policyType0);
- overwrittenServiceTemplate = new SimpleToscaServiceTemplateProvider().write(pfDao, serviceTemplate);
- assertEquals(readServiceTemplate, overwrittenServiceTemplate);
+ dbServiceTemplate = new SimpleToscaServiceTemplateProvider().write(pfDao, serviceTemplate);
+ assertEquals(serviceTemplate, dbServiceTemplate);
readServiceTemplate = new SimpleToscaServiceTemplateProvider().read(pfDao);
assertEquals(serviceTemplate, readServiceTemplate);