X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=ONAP-REST%2Fsrc%2Ftest%2Fjava%2Forg%2Fonap%2Fpolicy%2Frest%2Futil%2FPolicyValidationTest.java;h=ef825a4aed9e51c943bd4fd07cef3989f2d83894;hb=refs%2Fchanges%2F65%2F98965%2F1;hp=3efb825b4d0f1201d43a3ba8f60cc16b094a9c9d;hpb=35f44d97d569ef4da46d17c30cae71e75bcfe0c9;p=policy%2Fengine.git
diff --git a/ONAP-REST/src/test/java/org/onap/policy/rest/util/PolicyValidationTest.java b/ONAP-REST/src/test/java/org/onap/policy/rest/util/PolicyValidationTest.java
index 3efb825b4..ef825a4ae 100644
--- a/ONAP-REST/src/test/java/org/onap/policy/rest/util/PolicyValidationTest.java
+++ b/ONAP-REST/src/test/java/org/onap/policy/rest/util/PolicyValidationTest.java
@@ -41,6 +41,7 @@ import org.junit.Test;
import org.onap.policy.api.PolicyConfigType;
import org.onap.policy.api.PolicyParameters;
import org.onap.policy.common.utils.resources.TextFileUtils;
+import org.onap.policy.rest.adapter.ClosedLoopFaultTrapDatas;
import org.onap.policy.rest.adapter.PolicyRestAdapter;
public class PolicyValidationTest {
@@ -341,4 +342,747 @@ public class PolicyValidationTest {
responseString = validation.validatePolicy(policyData).toString();
assertThat(responseString).contains("Field 3 value has special characters");
}
+
+ @Test
+ public void testPolicyConfigBaseValidation() throws IOException {
+ PolicyValidation validation = new PolicyValidation();
+ PolicyRestAdapter policyData = new PolicyRestAdapter();
+ policyData.setPolicyName("ALegalPolicyName");
+ policyData.setPolicyDescription("A Valid Description");
+
+ String responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success", responseString);
+
+ policyData.setApiflag("API");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success", responseString);
+
+ policyData.setPolicyType("Config");
+ policyData.setConfigPolicyType("Base");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Onap Name Should not be empty");
+
+ policyData.setOnapName("%%%$$$$");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("OnapName:The Value in Required Field");
+
+ policyData.setOnapName("AValidOnapName");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Risk Level Should not be Empty");
+
+ policyData.setRiskType("%%%$$$$");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("RiskType:The Value in Required Field");
+
+ policyData.setRiskType("AValidRiskType");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Risk Level Should not be Empty");
+
+ policyData.setRiskLevel("%%%$$$$");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("RiskLevel:The Value in Required Field");
+
+ policyData.setRiskLevel("AValidRiskLevel");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Guard Value Should not be Empty");
+
+ policyData.setGuard("%%%$$$$");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Guard:The Value in Required Field");
+
+ policyData.setGuard("AValidGuard");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Config Name Should not be Empty");
+
+ policyData.setConfigName("%%%$$$$");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("ConfigName:The Value in Required Field");
+
+ policyData.setConfigName("AValidConfigName");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Config Type Should not be Empty");
+
+ policyData.setConfigType("%%%$$$$");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("ConfigType:The Value in Required Field");
+
+ policyData.setConfigType("AValidConfigType");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Config Body Should not be Empty");
+
+ policyData.setConfigBodyData("");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Config Body Should not be Empty");
+
+ policyData.setConfigBodyData("%%%$$$$");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setConfigType(null);
+ policyData.setConfigBodyData("ValidConfigBodyData");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Config Type Should not be Empty");
+
+ policyData.setConfigType("JSON");
+ policyData.setConfigBodyData("{");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Config Body: JSON Content is not valid");
+
+ policyData.setConfigBodyData("ValidConfigBodyData");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setConfigType("XML");
+ policyData.setConfigBodyData("{");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Config Body: XML Content data is not valid");
+
+ policyData.setConfigBodyData("value");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setConfigType("PROPERTIES");
+ policyData.setConfigBodyData("{");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Config Body: Property data is not valid");
+
+ policyData.setConfigBodyData("propertyName=PropertyValue");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+ }
+
+ @Test
+ public void testPolicyConfigFirewallValidation() throws IOException {
+ PolicyValidation validation = new PolicyValidation();
+ PolicyRestAdapter policyData = new PolicyRestAdapter();
+ policyData.setPolicyName("ALegalPolicyName");
+ policyData.setPolicyDescription("A Valid Description");
+
+ String responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success", responseString);
+
+ policyData.setApiflag("API");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success", responseString);
+
+ // Invalid values tested in config base test
+ policyData.setOnapName("AValidOnapName");
+ policyData.setRiskType("AValidRiskType");
+ policyData.setRiskLevel("AValidRiskLevel");
+ policyData.setGuard("AValidGuard");
+ assertEquals("success", responseString);
+
+ policyData.setPolicyType("Config");
+ policyData.setConfigPolicyType("Firewall Config");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Config Name is required");
+
+ policyData.setConfigName("");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Config Name is required");
+
+ policyData.setConfigName("%%%$$$$");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("ConfigName:The Value in Required Field");
+
+ policyData.setConfigName("AValidConfigName");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Security Zone is required");
+
+ policyData.setSecurityZone("");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Security Zone is required");
+
+ policyData.setSecurityZone("AValidSeurityZone");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+ }
+
+ @Test
+ public void testPolicyConfigBRMSValidation() throws IOException {
+ PolicyValidation validation = new PolicyValidation();
+ PolicyRestAdapter policyData = new PolicyRestAdapter();
+ policyData.setPolicyName("ALegalPolicyName");
+ policyData.setPolicyDescription("A Valid Description");
+
+ String responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success", responseString);
+
+ policyData.setApiflag("API");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success", responseString);
+
+ // Invalid values tested in config base test
+ policyData.setOnapName("AValidOnapName");
+ policyData.setRiskType("AValidRiskType");
+ policyData.setRiskLevel("AValidRiskLevel");
+ policyData.setGuard("AValidGuard");
+ assertEquals("success", responseString);
+
+ policyData.setPolicyType("Config");
+ policyData.setConfigPolicyType("BRMS_Param");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("BRMS Template is required");
+
+ policyData.setRuleName("");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("BRMS Template is required");
+
+ policyData.setRuleName("AValidRuleName");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+ policyData.setRuleName(null);
+
+ policyData.setConfigPolicyType("BRMS_Raw");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Raw Rule is required");
+
+ policyData.setConfigBodyData("");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Raw Rule is required");
+
+ policyData.setConfigBodyData("InvalidConfigBodyData");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("expecting one of the following tokens");
+
+ policyData.setConfigBodyData("import org.onap.policy.test.DummyTestSomething;");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+ }
+
+ @Test
+ public void testPolicyConfigCloseLoopPmValidation() throws IOException {
+ PolicyValidation validation = new PolicyValidation();
+ PolicyRestAdapter policyData = new PolicyRestAdapter();
+ policyData.setPolicyName("ALegalPolicyName");
+ policyData.setPolicyDescription("A Valid Description");
+
+ String responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success", responseString);
+
+ policyData.setApiflag("API");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success", responseString);
+
+ // Invalid values tested in config base test
+ policyData.setOnapName("AValidOnapName");
+ policyData.setRiskType("AValidRiskType");
+ policyData.setRiskLevel("AValidRiskLevel");
+ policyData.setGuard("AValidGuard");
+ assertEquals("success", responseString);
+
+ policyData.setPolicyType("Config");
+ policyData.setConfigPolicyType("ClosedLoop_PM");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("ServiceType PolicyName is required");
+
+ Map serviceTypePolicyName = null;
+ policyData.setServiceTypePolicyName(serviceTypePolicyName);
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("ServiceType PolicyName is required");
+
+ serviceTypePolicyName = new LinkedHashMap<>();
+ policyData.setServiceTypePolicyName(serviceTypePolicyName);
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("ServiceType PolicyName is required");
+
+ serviceTypePolicyName.put("AKey", "AValue");
+ policyData.setServiceTypePolicyName(serviceTypePolicyName);
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("ServiceType PolicyName is required");
+ serviceTypePolicyName.clear();
+
+ serviceTypePolicyName.put("serviceTypePolicyName", "");
+ policyData.setServiceTypePolicyName(serviceTypePolicyName);
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("ServiceType PolicyName is required");
+
+ serviceTypePolicyName.put("serviceTypePolicyName", "AValidserviceTypePolicyName");
+ policyData.setServiceTypePolicyName(serviceTypePolicyName);
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Select at least one D2");
+
+ policyData.setJsonBody("");
+ assertNull(validation.validatePolicy(policyData));
+
+ policyData.setJsonBody("InvalidConfigBodyData");
+ assertNull(validation.validatePolicy(policyData));
+
+ policyData.setJsonBody("{}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Select at least one D2");
+
+ policyData.setJsonBody("{\"gamma\": false}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Select at least one D2");
+
+ policyData.setJsonBody("{\"gamma\": true}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"mcr\": false}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Select at least one D2");
+
+ policyData.setJsonBody("{\"mcr\": true}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"trinity\": false}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Select at least one D2");
+
+ policyData.setJsonBody("{\"trinity\": true}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"vDNS\": false}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Select at least one D2");
+
+ policyData.setJsonBody("{\"vDNS\": true}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"vUSP\": false}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Select at least one D2");
+
+ policyData.setJsonBody("{\"vUSP\": true}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"trinity\": true, \"emailAddress\": null}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"trinity\": true, \"emailAddress\": \"\"}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Email Address is not Valid");
+
+ policyData.setJsonBody("{\"trinity\": true, \"emailAddress\": \"%%%$$$\"}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Email Address is not Valid");
+
+ policyData.setJsonBody("{\"trinity\": true, \"emailAddress\": \"dorothy@emealdcity.oz\"}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"trinity\": true, \"geoLink\": null}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"trinity\": true, \"geoLink\": \"\"}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"trinity\": true, \"geoLink\": \"$$$%%%\"}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("The Value in Required Field");
+
+ policyData.setJsonBody("{\"trinity\": true, \"geoLink\": \"AValidGeoLink\"}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"trinity\": true, \"attributes\": null}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"trinity\": true, \"attributes\": {}}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"trinity\": true, \"attributes\": {\"an0\":\"av0\"}}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+
+ policyData.setJsonBody("{\"trinity\": true, \"attributes\": {\"an0\":\"$$$%%%\"}}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("value has spaces or invalid characters");
+
+ policyData.setJsonBody("{\"trinity\": true, \"attributes\": {\"Message\":\"$$$%%%\"}}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success@#", responseString);
+ }
+
+ @Test
+ public void testPolicyConfigCloseLoopFaultValidation() throws IOException {
+ PolicyValidation validation = new PolicyValidation();
+ PolicyRestAdapter policyData = new PolicyRestAdapter();
+ policyData.setPolicyName("ALegalPolicyName");
+ policyData.setPolicyDescription("A Valid Description");
+
+ String responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success", responseString);
+
+ policyData.setApiflag("API");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertEquals("success", responseString);
+
+ // Invalid values tested in config base test
+ policyData.setOnapName("AValidOnapName");
+ policyData.setRiskType("AValidRiskType");
+ policyData.setRiskLevel("AValidRiskLevel");
+ policyData.setGuard("AValidGuard");
+ assertEquals("success", responseString);
+
+ policyData.setPolicyType("Config");
+ policyData.setConfigPolicyType("ClosedLoop_Fault");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Select at least one D2");
+
+ policyData.setJsonBody("");
+ assertNull(validation.validatePolicy(policyData));
+
+ policyData.setJsonBody("InvalidConfigBodyData");
+ assertNull(validation.validatePolicy(policyData));
+
+ policyData.setJsonBody("{}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("There were no conditions provided in configBody json");
+
+ policyData.setJsonBody("{\"conditions\": null}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("There were no conditions provided in configBody json");
+
+ policyData.setJsonBody("{\"conditions\": \"\"}");
+ responseString = validation.validatePolicy(policyData).toString();
+ assertThat(responseString).contains("Select At least one Condition");
+
+ policyData.setJsonBody("{\"conditions\": \"AValidCondition\"}");
+ assertNull(validation.validatePolicy(policyData));
+
+ policyData.setApiflag("NOAPI");
+
+ policyData.setJsonBody("");
+ assertNull(validation.validatePolicy(policyData));
+
+ policyData.setJsonBody("InvalidConfigBodyData");
+ assertNull(validation.validatePolicy(policyData));
+
+ ClosedLoopFaultTrapDatas trapDatas = new ClosedLoopFaultTrapDatas();
+ policyData.setTrapDatas(trapDatas);
+
+ ClosedLoopFaultTrapDatas faultDatas = new ClosedLoopFaultTrapDatas();
+ policyData.setFaultDatas(faultDatas);
+
+ policyData.setJsonBody("{}");
+ assertThat(responseString).contains("Select At least one Condition");
+
+ List