summaryrefslogtreecommitdiffstats
path: root/models-provider/src
diff options
context:
space:
mode:
Diffstat (limited to 'models-provider/src')
-rw-r--r--models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java49
-rw-r--r--models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java29
-rw-r--r--models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java32
-rw-r--r--models-provider/src/test/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderTest.java320
-rw-r--r--models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyBadProviderImpl.java20
-rw-r--r--models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderTest.java153
-rw-r--r--models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyLegacyGuardPersistenceTest.java143
-rw-r--r--models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyLegacyOperationalPersistenceTest.java15
8 files changed, 394 insertions, 367 deletions
diff --git a/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java b/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java
index 9bc49837e..103d761df 100644
--- a/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java
+++ b/models-provider/src/main/java/org/onap/policy/models/provider/PolicyModelsProvider.java
@@ -20,18 +20,21 @@
package org.onap.policy.models.provider;
+import java.util.Map;
+
import lombok.NonNull;
import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.base.PfModelException;
-import org.onap.policy.models.pap.concepts.PdpGroups;
-import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicy;
+import org.onap.policy.models.pdp.concepts.PdpGroups;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
/**
- * This interface describes the operations that are provided to users and components for reading
- * objects from and writing objects to the database.
+ * This interface describes the operations that are provided to users and components for reading objects from and
+ * writing objects to the database.
*
* @author Liam Fallon (liam.fallon@est.tech)
*/
@@ -46,9 +49,8 @@ public interface PolicyModelsProvider extends AutoCloseable {
/**
* Get policy types.
*
- * @param policyTypeKey the policy type key for the policy types to be retrieved. A null key
- * name returns all policy types. A null key version returns all versions of the policy
- * type name specified in the key.
+ * @param policyTypeKey the policy type key for the policy types to be retrieved. A null key name returns all policy
+ * types. A null key version returns all versions of the policy type name specified in the key.
* @return the policy types found
* @throws PfModelException on errors getting policy types
*/
@@ -57,8 +59,7 @@ public interface PolicyModelsProvider extends AutoCloseable {
/**
* Create policy types.
*
- * @param serviceTemplate the service template containing the definition of the policy types to
- * be created
+ * @param serviceTemplate the service template containing the definition of the policy types to be created
* @return the TOSCA service template containing the created policy types
* @throws PfModelException on errors creating policy types
*/
@@ -68,8 +69,7 @@ public interface PolicyModelsProvider extends AutoCloseable {
/**
* Create policy types.
*
- * @param serviceTemplate the service template containing the definition of the policy types to
- * be modified
+ * @param serviceTemplate the service template containing the definition of the policy types to be modified
* @return the TOSCA service template containing the modified policy types
* @throws PfModelException on errors updating policy types
*/
@@ -79,8 +79,8 @@ public interface PolicyModelsProvider extends AutoCloseable {
/**
* Delete policy types.
*
- * @param policyTypeKey the policy type key for the policy types to be deleted, if the version
- * of the key is null, all versions of the policy type are deleted.
+ * @param policyTypeKey the policy type key for the policy types to be deleted, if the version of the key is null,
+ * all versions of the policy type are deleted.
* @return the TOSCA service template containing the policy types that were deleted
* @throws PfModelException on errors deleting policy types
*/
@@ -89,8 +89,8 @@ public interface PolicyModelsProvider extends AutoCloseable {
/**
* Get policies.
*
- * @param policyKey the policy key for the policies to be retrieved. The parent name and version
- * must be specified. A null local name returns all policies for a parent policy type.
+ * @param policyKey the policy key for the policies to be retrieved. The parent name and version must be specified.
+ * A null local name returns all policies for a parent policy type.
* @return the policies found
* @throws PfModelException on errors getting policies
*/
@@ -99,8 +99,7 @@ public interface PolicyModelsProvider extends AutoCloseable {
/**
* Create policies.
*
- * @param serviceTemplate the service template containing the definitions of the new policies to
- * be created.
+ * @param serviceTemplate the service template containing the definitions of the new policies to be created.
* @return the TOSCA service template containing the policy types that were created
* @throws PfModelException on errors creating policies
*/
@@ -111,8 +110,7 @@ public interface PolicyModelsProvider extends AutoCloseable {
/**
* Update policies.
*
- * @param serviceTemplate the service template containing the definitions of the policies to be
- * updated.
+ * @param serviceTemplate the service template containing the definitions of the policies to be updated.
* @return the TOSCA service template containing the policies that were updated
* @throws PfModelException on errors updating policies
*/
@@ -173,7 +171,7 @@ public interface PolicyModelsProvider extends AutoCloseable {
* @return the policies found
* @throws PfModelException on errors getting policies
*/
- public LegacyGuardPolicy getGuardPolicy(@NonNull final String policyId) throws PfModelException;
+ public Map<String, LegacyGuardPolicyOutput> getGuardPolicy(@NonNull final String policyId) throws PfModelException;
/**
* Create legacy guard policy.
@@ -182,8 +180,8 @@ public interface PolicyModelsProvider extends AutoCloseable {
* @return the created policy
* @throws PfModelException on errors creating policies
*/
- public LegacyGuardPolicy createGuardPolicy(@NonNull final LegacyGuardPolicy legacyGuardPolicy)
- throws PfModelException;
+ public Map<String, LegacyGuardPolicyOutput> createGuardPolicy(
+ @NonNull final LegacyGuardPolicyInput legacyGuardPolicy) throws PfModelException;
/**
* Update legacy guard policy.
@@ -192,8 +190,8 @@ public interface PolicyModelsProvider extends AutoCloseable {
* @return the updated policy
* @throws PfModelException on errors updating policies
*/
- public LegacyGuardPolicy updateGuardPolicy(@NonNull final LegacyGuardPolicy legacyGuardPolicy)
- throws PfModelException;
+ public Map<String, LegacyGuardPolicyOutput> updateGuardPolicy(
+ @NonNull final LegacyGuardPolicyInput legacyGuardPolicy) throws PfModelException;
/**
* Delete legacy guard policy.
@@ -202,7 +200,8 @@ public interface PolicyModelsProvider extends AutoCloseable {
* @return the deleted policy
* @throws PfModelException on errors deleting policies
*/
- public LegacyGuardPolicy deleteGuardPolicy(@NonNull final String policyId) throws PfModelException;
+ public Map<String, LegacyGuardPolicyOutput> deleteGuardPolicy(@NonNull final String policyId)
+ throws PfModelException;
/**
* Get PDP groups.
diff --git a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java
index 43f75d2a9..078126243 100644
--- a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java
+++ b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DatabasePolicyModelsProviderImpl.java
@@ -23,6 +23,7 @@ package org.onap.policy.models.provider.impl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.Base64;
+import java.util.Map;
import javax.ws.rs.core.Response;
@@ -35,11 +36,12 @@ import org.onap.policy.models.dao.DaoParameters;
import org.onap.policy.models.dao.PfDao;
import org.onap.policy.models.dao.PfDaoFactory;
import org.onap.policy.models.dao.impl.DefaultPfDao;
-import org.onap.policy.models.pap.concepts.PdpGroups;
-import org.onap.policy.models.pap.provider.PapProvider;
+import org.onap.policy.models.pdp.concepts.PdpGroups;
+import org.onap.policy.models.pdp.provider.PdpProvider;
import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.provider.PolicyModelsProviderParameters;
-import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicy;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
import org.onap.policy.models.tosca.legacy.provider.LegacyProvider;
import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
@@ -214,27 +216,28 @@ public class DatabasePolicyModelsProviderImpl implements PolicyModelsProvider {
}
@Override
- public LegacyGuardPolicy getGuardPolicy(@NonNull final String policyId) throws PfModelException {
+ public Map<String, LegacyGuardPolicyOutput> getGuardPolicy(@NonNull final String policyId) throws PfModelException {
assertInitilized();
return new LegacyProvider().getGuardPolicy(pfDao, policyId);
}
@Override
- public LegacyGuardPolicy createGuardPolicy(@NonNull final LegacyGuardPolicy legacyGuardPolicy)
- throws PfModelException {
+ public Map<String, LegacyGuardPolicyOutput> createGuardPolicy(
+ @NonNull final LegacyGuardPolicyInput legacyGuardPolicy) throws PfModelException {
assertInitilized();
return new LegacyProvider().createGuardPolicy(pfDao, legacyGuardPolicy);
}
@Override
- public LegacyGuardPolicy updateGuardPolicy(@NonNull final LegacyGuardPolicy legacyGuardPolicy)
- throws PfModelException {
+ public Map<String, LegacyGuardPolicyOutput> updateGuardPolicy(
+ @NonNull final LegacyGuardPolicyInput legacyGuardPolicy) throws PfModelException {
assertInitilized();
return new LegacyProvider().updateGuardPolicy(pfDao, legacyGuardPolicy);
}
@Override
- public LegacyGuardPolicy deleteGuardPolicy(@NonNull final String policyId) throws PfModelException {
+ public Map<String, LegacyGuardPolicyOutput> deleteGuardPolicy(@NonNull final String policyId)
+ throws PfModelException {
assertInitilized();
return new LegacyProvider().deleteGuardPolicy(pfDao, policyId);
}
@@ -242,25 +245,25 @@ public class DatabasePolicyModelsProviderImpl implements PolicyModelsProvider {
@Override
public PdpGroups getPdpGroups(@NonNull String pdpGroupFilter) throws PfModelException {
assertInitilized();
- return new PapProvider().getPdpGroups(pfDao, pdpGroupFilter);
+ return new PdpProvider().getPdpGroups(pfDao, pdpGroupFilter);
}
@Override
public PdpGroups createPdpGroups(@NonNull PdpGroups pdpGroups) throws PfModelException {
assertInitilized();
- return new PapProvider().createPdpGroups(pfDao, pdpGroups);
+ return new PdpProvider().createPdpGroups(pfDao, pdpGroups);
}
@Override
public PdpGroups updatePdpGroups(@NonNull PdpGroups pdpGroups) throws PfModelException {
assertInitilized();
- return new PapProvider().updatePdpGroups(pfDao, pdpGroups);
+ return new PdpProvider().updatePdpGroups(pfDao, pdpGroups);
}
@Override
public PdpGroups deletePdpGroups(@NonNull String pdpGroupFilter) throws PfModelException {
assertInitilized();
- return new PapProvider().deletePdpGroups(pfDao, pdpGroupFilter);
+ return new PdpProvider().deletePdpGroups(pfDao, pdpGroupFilter);
}
/**
diff --git a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java
index 8d833a53d..36fb01c27 100644
--- a/models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java
+++ b/models-provider/src/main/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderImpl.java
@@ -23,16 +23,20 @@ package org.onap.policy.models.provider.impl;
import com.google.gson.Gson;
+import java.util.HashMap;
+import java.util.Map;
+
import javax.ws.rs.core.Response;
import lombok.NonNull;
import org.onap.policy.common.utils.resources.ResourceUtils;
import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.base.PfModelRuntimeException;
-import org.onap.policy.models.pap.concepts.PdpGroups;
+import org.onap.policy.models.pdp.concepts.PdpGroups;
import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.provider.PolicyModelsProviderParameters;
-import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicy;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
import org.onap.policy.models.tosca.simple.serialization.ToscaServiceTemplateMessageBodyHandler;
@@ -49,8 +53,7 @@ public class DummyPolicyModelsProviderImpl implements PolicyModelsProvider {
*
* @param parameters the parameters for the provider
*/
- public DummyPolicyModelsProviderImpl(@NonNull final PolicyModelsProviderParameters parameters) {
- }
+ public DummyPolicyModelsProviderImpl(@NonNull final PolicyModelsProviderParameters parameters) {}
@Override
public void init() throws PfModelException {
@@ -130,25 +133,26 @@ public class DummyPolicyModelsProviderImpl implements PolicyModelsProvider {
}
@Override
- public LegacyGuardPolicy getGuardPolicy(@NonNull final String policyId) throws PfModelException {
- return new LegacyGuardPolicy();
+ public Map<String, LegacyGuardPolicyOutput> getGuardPolicy(@NonNull final String policyId) throws PfModelException {
+ return new HashMap<>();
}
@Override
- public LegacyGuardPolicy createGuardPolicy(@NonNull final LegacyGuardPolicy legacyGuardPolicy)
- throws PfModelException {
- return legacyGuardPolicy;
+ public Map<String, LegacyGuardPolicyOutput> createGuardPolicy(
+ @NonNull final LegacyGuardPolicyInput legacyGuardPolicy) throws PfModelException {
+ return new HashMap<>();
}
@Override
- public LegacyGuardPolicy updateGuardPolicy(@NonNull final LegacyGuardPolicy legacyGuardPolicy)
- throws PfModelException {
- return legacyGuardPolicy;
+ public Map<String, LegacyGuardPolicyOutput> updateGuardPolicy(
+ @NonNull final LegacyGuardPolicyInput legacyGuardPolicy) throws PfModelException {
+ return new HashMap<>();
}
@Override
- public LegacyGuardPolicy deleteGuardPolicy(@NonNull final String policyId) throws PfModelException {
- return new LegacyGuardPolicy();
+ public Map<String, LegacyGuardPolicyOutput> deleteGuardPolicy(@NonNull final String policyId)
+ throws PfModelException {
+ return new HashMap<>();
}
@Override
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 e4ecb9d1d..1631d9bb1 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
@@ -20,9 +20,8 @@
package org.onap.policy.models.provider.impl;
-import static org.junit.Assert.assertEquals;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
import static org.junit.Assert.fail;
import java.util.Base64;
@@ -30,11 +29,11 @@ import java.util.Base64;
import org.junit.Before;
import org.junit.Test;
import org.onap.policy.models.base.PfConceptKey;
-import org.onap.policy.models.pap.concepts.PdpGroups;
+import org.onap.policy.models.pdp.concepts.PdpGroups;
import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.provider.PolicyModelsProviderFactory;
import org.onap.policy.models.provider.PolicyModelsProviderParameters;
-import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicy;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
import org.slf4j.Logger;
@@ -69,12 +68,11 @@ public class DatabasePolicyModelsProviderTest {
new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
parameters.setDatabaseUrl("jdbc://www.acmecorp.nonexist");
- try {
+
+ assertThatThrownBy(() -> {
databaseProvider.init();
- fail("test should throw an exception");
- } catch (Exception pfme) {
- assertEquals("could not connect to database with URL \"jdbc://www.acmecorp.nonexist\"", pfme.getMessage());
- }
+ }).hasMessage("could not connect to database with URL \"jdbc://www.acmecorp.nonexist\"");
+
parameters.setDatabaseUrl("jdbc:h2:mem:testdb");
try {
@@ -85,13 +83,13 @@ public class DatabasePolicyModelsProviderTest {
}
parameters.setPersistenceUnit("WileECoyote");
- try {
+
+ String errorMessage = "could not create Data Access Object (DAO) using url "
+ + "\"jdbc:h2:mem:testdb\" and persistence unit \"WileECoyote\"";
+ assertThatThrownBy(() -> {
databaseProvider.init();
- fail("test should throw an exception");
- } catch (Exception pfme) {
- assertEquals("could not create Data Access Object (DAO) using url "
- + "\"jdbc:h2:mem:testdb\" and persistence unit \"WileECoyote\"", pfme.getMessage());
- }
+ }).hasMessage(errorMessage);
+
parameters.setPersistenceUnit("ToscaConceptTest");
try {
@@ -107,15 +105,12 @@ public class DatabasePolicyModelsProviderTest {
fail("test shold not throw an exception here");
}
- try {
+ assertThatThrownBy(() -> {
DatabasePolicyModelsProviderImpl databaseProviderImpl = (DatabasePolicyModelsProviderImpl) databaseProvider;
databaseProvider.init();
databaseProviderImpl.setConnection(new DummyConnection());
databaseProvider.close();
- fail("test should throw an exception");
- } catch (Exception pfme) {
- assertEquals("could not close connection to database with URL \"jdbc:h2:mem:testdb\"", pfme.getMessage());
- }
+ }).hasMessage("could not close connection to database with URL \"jdbc:h2:mem:testdb\"");
}
@Test
@@ -124,144 +119,99 @@ public class DatabasePolicyModelsProviderTest {
new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
databaseProvider.init();
- try {
+ assertThatThrownBy(() -> {
databaseProvider.getPolicyTypes(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyTypeKey is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("policyTypeKey is marked @NonNull but is null");
+
+
+ assertThatThrownBy(() -> {
databaseProvider.createPolicyTypes(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("serviceTemplate is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("serviceTemplate is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.updatePolicyTypes(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("serviceTemplate is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("serviceTemplate is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.deletePolicyTypes(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyTypeKey is marked @NonNull but is null", npe.getMessage());
- }
+ }).hasMessage("policyTypeKey is marked @NonNull but is null");
- try {
+ assertThatThrownBy(() -> {
databaseProvider.getPolicies(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyKey is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("policyKey is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.createPolicies(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("serviceTemplate is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("serviceTemplate is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.updatePolicies(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("serviceTemplate is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("serviceTemplate is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.deletePolicies(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyKey is marked @NonNull but is null", npe.getMessage());
- }
+ }).hasMessage("policyKey is marked @NonNull but is null");
- try {
+ assertThatThrownBy(() -> {
databaseProvider.getOperationalPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyId is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("policyId is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.createOperationalPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("legacyOperationalPolicy is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("legacyOperationalPolicy is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.updateOperationalPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("legacyOperationalPolicy is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("legacyOperationalPolicy is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.deleteOperationalPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyId is marked @NonNull but is null", npe.getMessage());
- }
+ }).hasMessage("policyId is marked @NonNull but is null");
- try {
+ assertThatThrownBy(() -> {
databaseProvider.getGuardPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyId is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("policyId is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.createGuardPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("legacyGuardPolicy is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("legacyGuardPolicy is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.updateGuardPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("legacyGuardPolicy is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("legacyGuardPolicy is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.deleteGuardPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyId is marked @NonNull but is null", npe.getMessage());
- }
+ }).hasMessage("policyId is marked @NonNull but is null");
- try {
+ assertThatThrownBy(() -> {
databaseProvider.getPdpGroups(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("pdpGroupFilter is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("pdpGroupFilter is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.createPdpGroups(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("pdpGroups is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("pdpGroups is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.updatePdpGroups(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("pdpGroups is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("pdpGroups is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
databaseProvider.deletePdpGroups(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("pdpGroupFilter is marked @NonNull but is null", npe.getMessage());
- }
+ }).hasMessage("pdpGroupFilter is marked @NonNull but is null");
databaseProvider.close();
+
}
@Test
public void testProviderMethodsNotInit() throws Exception {
PolicyModelsProvider databaseProvider =
new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
- try {
+
+ assertThatThrownBy(() -> {
databaseProvider.getPolicyTypes(new PfConceptKey());
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policy models provider is not initilaized", npe.getMessage());
- }
+ }).hasMessage("policy models provider is not initilaized");
}
@Test
@@ -270,81 +220,69 @@ public class DatabasePolicyModelsProviderTest {
new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters)) {
databaseProvider.init();
- try {
+ assertThatThrownBy(() -> {
databaseProvider.getPolicyTypes(new PfConceptKey());
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policy type not found: NULL:0.0.0", npe.getMessage());
- }
- try {
+ }).hasMessage("policy type not found: NULL:0.0.0");
+
+ assertThatThrownBy(() -> {
databaseProvider.createPolicyTypes(new ToscaServiceTemplate());
- } catch (Exception npe) {
- assertEquals("no policy types specified on service template", npe.getMessage());
- }
- try {
+ }).hasMessage("no policy types specified on service template");
+
+ assertThatThrownBy(() -> {
databaseProvider.updatePolicyTypes(new ToscaServiceTemplate());
- } catch (Exception npe) {
- assertEquals("no policy types specified on service template", npe.getMessage());
- }
- try {
+ }).hasMessage("no policy types specified on service template");
+
+ assertThatThrownBy(() -> {
databaseProvider.deletePolicyTypes(new PfConceptKey());
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policy type not found: NULL:0.0.0", npe.getMessage());
- }
+ }).hasMessage("policy type not found: NULL:0.0.0");
- try {
+ assertThatThrownBy(() -> {
databaseProvider.getPolicies(new PfConceptKey());
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policy not found: NULL:0.0.0", npe.getMessage());
- }
- try {
+ }).hasMessage("policy not found: NULL:0.0.0");
+
+ assertThatThrownBy(() -> {
databaseProvider.createPolicies(new ToscaServiceTemplate());
- } catch (Exception npe) {
- assertEquals("topology template not specified on service template", npe.getMessage());
- }
- try {
+ }).hasMessage("topology template not specified on service template");
+
+ assertThatThrownBy(() -> {
databaseProvider.updatePolicies(new ToscaServiceTemplate());
- } catch (Exception npe) {
- assertEquals("topology template not specified on service template", npe.getMessage());
- }
- try {
+ }).hasMessage("topology template not specified on service template");
+
+ assertThatThrownBy(() -> {
databaseProvider.deletePolicies(new PfConceptKey());
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policy not found: NULL:0.0.0", npe.getMessage());
- }
-
- try {
- assertNull(databaseProvider.getOperationalPolicy("policy_id"));
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("no policy found for policy ID: policy_id", npe.getMessage());
- }
- try {
- assertNull(databaseProvider.createOperationalPolicy(new LegacyOperationalPolicy()));
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("name is marked @NonNull but is null", npe.getMessage());
- }
- try {
- assertNull(databaseProvider.updateOperationalPolicy(new LegacyOperationalPolicy()));
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("no policy found for policy ID: null", npe.getMessage());
- }
- try {
- assertNull(databaseProvider.deleteOperationalPolicy("policy_id"));
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("no policy found for policy ID: policy_id", npe.getMessage());
- }
-
- assertNull(databaseProvider.getGuardPolicy("policy_id"));
- assertNull(databaseProvider.createGuardPolicy(new LegacyGuardPolicy()));
- assertNull(databaseProvider.updateGuardPolicy(new LegacyGuardPolicy()));
- assertNull(databaseProvider.deleteGuardPolicy("policy_id"));
+ }).hasMessage("policy not found: NULL:0.0.0");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.getOperationalPolicy("policy_id");
+ }).hasMessage("no policy found for policy ID: policy_id");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.createOperationalPolicy(new LegacyOperationalPolicy());
+ }).hasMessage("name is marked @NonNull but is null");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.updateOperationalPolicy(new LegacyOperationalPolicy());
+ }).hasMessage("no policy found for policy ID: null");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.deleteOperationalPolicy("policy_id");
+ }).hasMessage("no policy found for policy ID: policy_id");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.getGuardPolicy("policy_id");
+ }).hasMessage("no policy found for policy ID: policy_id");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.createGuardPolicy(new LegacyGuardPolicyInput());
+ }).hasMessage("policy type for guard policy \"null\" unknown");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.updateGuardPolicy(new LegacyGuardPolicyInput());
+ }).hasMessage("policy type for guard policy \"null\" unknown");
+
+ assertThatThrownBy(() -> {
+ databaseProvider.deleteGuardPolicy("policy_id");
+ }).hasMessage("no policy found for policy ID: policy_id");
assertNotNull(databaseProvider.getPdpGroups("filter"));
assertNotNull(databaseProvider.createPdpGroups(new PdpGroups()));
diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyBadProviderImpl.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyBadProviderImpl.java
index fb0a2416e..f8602e65c 100644
--- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyBadProviderImpl.java
+++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyBadProviderImpl.java
@@ -20,6 +20,8 @@
package org.onap.policy.models.provider.impl;
+import java.util.Map;
+
import javax.ws.rs.core.Response;
import lombok.NonNull;
@@ -27,9 +29,10 @@ import lombok.NonNull;
import org.onap.policy.models.base.PfConceptKey;
import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.base.PfModelRuntimeException;
-import org.onap.policy.models.pap.concepts.PdpGroups;
+import org.onap.policy.models.pdp.concepts.PdpGroups;
import org.onap.policy.models.provider.PolicyModelsProvider;
-import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicy;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
@@ -47,8 +50,7 @@ public class DummyBadProviderImpl implements PolicyModelsProvider {
public void close() throws Exception {}
@Override
- public void init() throws PfModelException {
- }
+ public void init() throws PfModelException {}
@Override
public ToscaServiceTemplate getPolicyTypes(@NonNull PfConceptKey policyTypeKey) throws PfModelException {
@@ -115,22 +117,24 @@ public class DummyBadProviderImpl implements PolicyModelsProvider {
}
@Override
- public LegacyGuardPolicy getGuardPolicy(@NonNull String policyId) throws PfModelException {
+ public Map<String, LegacyGuardPolicyOutput> getGuardPolicy(@NonNull String policyId) throws PfModelException {
return null;
}
@Override
- public LegacyGuardPolicy createGuardPolicy(@NonNull LegacyGuardPolicy legacyGuardPolicy) throws PfModelException {
+ public Map<String, LegacyGuardPolicyOutput> createGuardPolicy(@NonNull LegacyGuardPolicyInput legacyGuardPolicy)
+ throws PfModelException {
return null;
}
@Override
- public LegacyGuardPolicy updateGuardPolicy(@NonNull LegacyGuardPolicy legacyGuardPolicy) throws PfModelException {
+ public Map<String, LegacyGuardPolicyOutput> updateGuardPolicy(@NonNull LegacyGuardPolicyInput legacyGuardPolicy)
+ throws PfModelException {
return null;
}
@Override
- public LegacyGuardPolicy deleteGuardPolicy(@NonNull String policyId) throws PfModelException {
+ public Map<String, LegacyGuardPolicyOutput> deleteGuardPolicy(@NonNull String policyId) throws PfModelException {
return null;
}
diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderTest.java
index bf3382fdc..de61dc0ab 100644
--- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderTest.java
+++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/DummyPolicyModelsProviderTest.java
@@ -20,17 +20,18 @@
package org.onap.policy.models.provider.impl;
+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.fail;
import org.junit.Test;
import org.onap.policy.models.base.PfConceptKey;
-import org.onap.policy.models.pap.concepts.PdpGroups;
+import org.onap.policy.models.pdp.concepts.PdpGroups;
import org.onap.policy.models.provider.PolicyModelsProvider;
import org.onap.policy.models.provider.PolicyModelsProviderFactory;
import org.onap.policy.models.provider.PolicyModelsProviderParameters;
-import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicy;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
import org.onap.policy.models.tosca.simple.concepts.ToscaServiceTemplate;
@@ -86,8 +87,8 @@ public class DummyPolicyModelsProviderTest {
assertNotNull(dummyProvider.deleteOperationalPolicy("policy_id"));
assertNotNull(dummyProvider.getGuardPolicy("policy_id"));
- assertNotNull(dummyProvider.createGuardPolicy(new LegacyGuardPolicy()));
- assertNotNull(dummyProvider.updateGuardPolicy(new LegacyGuardPolicy()));
+ assertNotNull(dummyProvider.createGuardPolicy(new LegacyGuardPolicyInput()));
+ assertNotNull(dummyProvider.updateGuardPolicy(new LegacyGuardPolicyInput()));
assertNotNull(dummyProvider.deleteGuardPolicy("policy_id"));
assertNotNull(dummyProvider.getPdpGroups("filter"));
@@ -95,134 +96,70 @@ public class DummyPolicyModelsProviderTest {
assertNotNull(dummyProvider.updatePdpGroups(new PdpGroups()));
assertNotNull(dummyProvider.deletePdpGroups("filter"));
- try {
+ assertThatThrownBy(() -> {
dummyProvider.getPolicyTypes(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyTypeKey is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("policyTypeKey is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.createPolicyTypes(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("serviceTemplate is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("serviceTemplate is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.updatePolicyTypes(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("serviceTemplate is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("serviceTemplate is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.deletePolicyTypes(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyTypeKey is marked @NonNull but is null", npe.getMessage());
- }
+ }).hasMessage("policyTypeKey is marked @NonNull but is null");
- try {
+ assertThatThrownBy(() -> {
dummyProvider.getPolicies(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyKey is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("policyKey is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.createPolicies(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("serviceTemplate is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("serviceTemplate is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.updatePolicies(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("serviceTemplate is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("serviceTemplate is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.deletePolicies(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyKey is marked @NonNull but is null", npe.getMessage());
- }
+ }).hasMessage("policyKey is marked @NonNull but is null");
- try {
+ assertThatThrownBy(() -> {
dummyProvider.getOperationalPolicy(null);
-
-
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyId is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("policyId is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.createOperationalPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("legacyOperationalPolicy is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("legacyOperationalPolicy is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.updateOperationalPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("legacyOperationalPolicy is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("legacyOperationalPolicy is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.deleteOperationalPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyId is marked @NonNull but is null", npe.getMessage());
- }
+ }).hasMessage("policyId is marked @NonNull but is null");
- try {
+ assertThatThrownBy(() -> {
dummyProvider.getGuardPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyId is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("policyId is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.createGuardPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("legacyGuardPolicy is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("legacyGuardPolicy is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.updateGuardPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("legacyGuardPolicy is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("legacyGuardPolicy is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.deleteGuardPolicy(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("policyId is marked @NonNull but is null", npe.getMessage());
- }
-
- try {
-
+ }).hasMessage("policyId is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.getPdpGroups(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("pdpGroupFilter is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("pdpGroupFilter is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.createPdpGroups(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("pdpGroups is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("pdpGroups is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.updatePdpGroups(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("pdpGroups is marked @NonNull but is null", npe.getMessage());
- }
- try {
+ }).hasMessage("pdpGroups is marked @NonNull but is null");
+ assertThatThrownBy(() -> {
dummyProvider.deletePdpGroups(null);
- fail("test should throw an exception");
- } catch (Exception npe) {
- assertEquals("pdpGroupFilter is marked @NonNull but is null", npe.getMessage());
- }
+ }).hasMessage("pdpGroupFilter is marked @NonNull but is null");
dummyProvider.close();
}
diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyLegacyGuardPersistenceTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyLegacyGuardPersistenceTest.java
new file mode 100644
index 000000000..2cb787d00
--- /dev/null
+++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyLegacyGuardPersistenceTest.java
@@ -0,0 +1,143 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.models.provider.impl;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+import java.util.Base64;
+import java.util.Map;
+
+import lombok.NonNull;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.policy.common.utils.coder.StandardCoder;
+import org.onap.policy.common.utils.resources.ResourceUtils;
+import org.onap.policy.models.base.PfModelException;
+import org.onap.policy.models.provider.PolicyModelsProvider;
+import org.onap.policy.models.provider.PolicyModelsProviderFactory;
+import org.onap.policy.models.provider.PolicyModelsProviderParameters;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
+import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyOutput;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Test persistence of monitoring policies to and from the database.
+ *
+ * @author Liam Fallon (liam.fallon@est.tech)
+ */
+public class PolicyLegacyGuardPersistenceTest {
+ // Logger for this class
+ private static final Logger LOGGER = LoggerFactory.getLogger(PolicyLegacyGuardPersistenceTest.class);
+
+ private StandardCoder standardCoder;
+
+ private PolicyModelsProvider databaseProvider;
+
+ // @formatter:off
+ private String[] policyInputResourceNames = {
+ "policies/vDNS.policy.guard.frequency.input.json",
+ "policies/vDNS.policy.guard.minmax.input.json"
+ };
+
+ private String[] policyOutputResourceNames = {
+ "policies/vDNS.policy.guard.frequency.output.json",
+ "policies/vDNS.policy.guard.minmax.output.json"
+ };
+ // @formatter:on
+
+ /**
+ * Initialize provider.
+ *
+ * @throws PfModelException on exceptions in the tests
+ */
+ @Before
+ public void setupParameters() throws PfModelException {
+ PolicyModelsProviderParameters parameters = new PolicyModelsProviderParameters();
+ parameters.setDatabaseUrl("jdbc:h2:mem:testdb");
+ parameters.setDatabaseUser("policy");
+ parameters.setDatabasePassword(Base64.getEncoder().encodeToString("P01icY".getBytes()));
+ parameters.setPersistenceUnit("ToscaConceptTest");
+
+ databaseProvider = new PolicyModelsProviderFactory().createPolicyModelsProvider(parameters);
+ databaseProvider.init();
+ }
+
+ /**
+ * Set up standard coder.
+ */
+ @Before
+ public void setupStandardCoder() {
+ standardCoder = new StandardCoder();
+ }
+
+ @After
+ public void teardown() throws Exception {
+ databaseProvider.close();
+ }
+
+ @Test
+ public void testPolicyPersistence() {
+ try {
+ for (int i = 0; i < policyInputResourceNames.length; i++) {
+ String policyInputString = ResourceUtils.getResourceAsString(policyInputResourceNames[i]);
+ String policyOutputString = ResourceUtils.getResourceAsString(policyOutputResourceNames[i]);
+ testJsonStringPolicyPersistence(policyInputString, policyOutputString);
+ }
+ } catch (Exception exc) {
+ LOGGER.warn("error processing policies", exc);
+ fail("test should not throw an exception");
+ }
+ }
+
+ /**
+ * Check persistence of a policy.
+ *
+ * @param policyInputString the policy as a string
+ * @param policyOutputString the expected output string
+ * @throws Exception any exception thrown
+ */
+ public void testJsonStringPolicyPersistence(@NonNull final String policyInputString,
+ final String policyOutputString) throws Exception {
+ LegacyGuardPolicyInput gip = standardCoder.decode(policyInputString, LegacyGuardPolicyInput.class);
+
+ assertNotNull(gip);
+
+ Map<String, LegacyGuardPolicyOutput> createdGopm = databaseProvider.createGuardPolicy(gip);
+ assertEquals(gip.getPolicyId(), createdGopm.keySet().iterator().next());
+ assertEquals(gip.getContent(),
+ createdGopm.get(gip.getPolicyId()).getProperties().values().iterator().next());
+
+ Map<String, LegacyGuardPolicyOutput> gotGopm = databaseProvider.getGuardPolicy(gip.getPolicyId());
+ assertEquals(gip.getPolicyId(), gotGopm.keySet().iterator().next());
+ assertEquals(gip.getContent(),
+ gotGopm.get(gip.getPolicyId()).getProperties().values().iterator().next());
+
+ String actualRetrievedJson = standardCoder.encode(gotGopm);
+
+ // All of this dash/underscore stuff is to avoid a checkstyle error around escaping unicode characters
+ assertEquals(policyOutputString.replaceAll("\\s+", ""), actualRetrievedJson.replaceAll("\\s+", ""));
+ }
+}
diff --git a/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyLegacyOperationalPersistenceTest.java b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyLegacyOperationalPersistenceTest.java
index 90d00fc58..60d577cb9 100644
--- a/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyLegacyOperationalPersistenceTest.java
+++ b/models-provider/src/test/java/org/onap/policy/models/provider/impl/PolicyLegacyOperationalPersistenceTest.java
@@ -24,8 +24,6 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
-import com.google.gson.Gson;
-
import java.util.Base64;
import lombok.NonNull;
@@ -33,6 +31,7 @@ import lombok.NonNull;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
+import org.onap.policy.common.utils.coder.StandardCoder;
import org.onap.policy.common.utils.resources.ResourceUtils;
import org.onap.policy.models.base.PfModelException;
import org.onap.policy.models.provider.PolicyModelsProvider;
@@ -51,7 +50,7 @@ public class PolicyLegacyOperationalPersistenceTest {
// Logger for this class
private static final Logger LOGGER = LoggerFactory.getLogger(PolicyLegacyOperationalPersistenceTest.class);
- private Gson gson;
+ private StandardCoder standardCoder;
private PolicyModelsProvider databaseProvider;
@@ -87,11 +86,11 @@ public class PolicyLegacyOperationalPersistenceTest {
}
/**
- * Set up GSON.
+ * Set up standard coder.
*/
@Before
- public void setupGson() {
- gson = new Gson();
+ public void setupStandardCoder() {
+ standardCoder = new StandardCoder();
}
@After
@@ -122,7 +121,7 @@ public class PolicyLegacyOperationalPersistenceTest {
*/
public void testJsonStringPolicyPersistence(@NonNull final String policyInputString,
final String policyOutputString) throws Exception {
- LegacyOperationalPolicy lop = gson.fromJson(policyInputString, LegacyOperationalPolicy.class);
+ LegacyOperationalPolicy lop = standardCoder.decode(policyInputString, LegacyOperationalPolicy.class);
assertNotNull(lop);
@@ -132,7 +131,7 @@ public class PolicyLegacyOperationalPersistenceTest {
LegacyOperationalPolicy gotLop = databaseProvider.getOperationalPolicy(lop.getPolicyId());
assertEquals(gotLop, lop);
- String actualRetrievedJson = gson.toJson(gotLop);
+ String actualRetrievedJson = standardCoder.encode(gotLop);
// All of this dash/underscore stuff is to avoid a checkstyle error around escaping unicode characters
assertEquals(