summaryrefslogtreecommitdiffstats
path: root/main/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/test/java')
-rw-r--r--main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupDeployProvider.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupDeployProvider.java b/main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupDeployProvider.java
index a7f48ff3..575dfefc 100644
--- a/main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupDeployProvider.java
+++ b/main/src/test/java/org/onap/policy/pap/main/rest/TestPdpGroupDeployProvider.java
@@ -55,6 +55,7 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier;
import org.onap.policy.models.tosca.authorative.concepts.ToscaPolicy;
public class TestPdpGroupDeployProvider extends ProviderSuper {
+
private static final String EXPECTED_EXCEPTION = "expected exception";
private static final String POLICY2_NAME = "policyB";
@@ -475,6 +476,44 @@ public class TestPdpGroupDeployProvider extends ProviderSuper {
}
/**
+ * Tests deployPolicies() when the policies are invalid.
+ */
+ @Test
+ public void testDeployPoliciesInvalidPolicies() throws Exception {
+ // valid list
+ PdpDeployPolicies policies0 = loadFile("PapPoliciesList.json", PdpDeployPolicies.class);
+ assertThatCode(() -> prov.deployPolicies(policies0)).doesNotThrowAnyException();
+
+ // null list
+ PdpDeployPolicies policies = new PdpDeployPolicies();
+ assertThatThrownBy(() -> prov.deployPolicies(policies)).isInstanceOf(PfModelException.class)
+ .hasMessageContaining("policies");
+
+ // list containing null item
+ PdpDeployPolicies policies2 = loadFile("PapPoliciesNullItem.json", PdpDeployPolicies.class);
+ assertThatThrownBy(() -> prov.deployPolicies(policies2)).isInstanceOf(PfModelException.class)
+ .hasMessageContaining("policies").hasMessageContaining("null");
+
+ // list containing a policy with a null name
+ PdpDeployPolicies policies3 = loadFile("PapPoliciesNullPolicyName.json", PdpDeployPolicies.class);
+ assertThatThrownBy(() -> prov.deployPolicies(policies3)).isInstanceOf(PfModelException.class)
+ .hasMessageContaining("policies").hasMessageContaining("name").hasMessageContaining("null")
+ .hasMessageNotContaining("\"value\"");
+
+ // list containing a policy with an invalid name
+ PdpDeployPolicies policies4 = loadFile("PapPoliciesInvalidPolicyName.json", PdpDeployPolicies.class);
+ assertThatThrownBy(() -> prov.deployPolicies(policies4)).isInstanceOf(PfModelException.class)
+ .hasMessageContaining("policies").hasMessageContaining("name").hasMessageContaining("$ abc")
+ .hasMessageNotContaining("version");
+
+ // list containing a policy with an invalid version
+ PdpDeployPolicies policies5 = loadFile("PapPoliciesInvalidPolicyVersion.json", PdpDeployPolicies.class);
+ assertThatThrownBy(() -> prov.deployPolicies(policies5)).isInstanceOf(PfModelException.class)
+ .hasMessageContaining("policies").hasMessageContaining("version").hasMessageContaining("abc123")
+ .hasMessageNotContaining("name");
+ }
+
+ /**
* Tests deployPolicies() when the supported policy type uses a wild-card.
*
* @throws Exception if an error occurs