MS Model Input Validation
[policy/engine.git] / ONAP-PDP-REST / src / test / java / org / onap / policy / pdp / rest / api / test / PolicyEngineServicesTest.java
index fe4ce05..471f1a9 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP-PDP-REST
  * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -55,6 +55,7 @@ import org.onap.policy.pdp.rest.api.models.ConfigFirewallPolicyAPIRequest;
 import org.onap.policy.pdp.rest.api.models.ConfigNameRequest;
 import org.onap.policy.pdp.rest.api.models.ConfigPolicyAPIRequest;
 import org.onap.policy.pdp.rest.api.services.CreateUpdatePolicyServiceImpl;
+import org.onap.policy.pdp.rest.api.services.NotificationService;
 import org.onap.policy.pdp.rest.config.PDPRestConfig;
 import org.onap.policy.utils.PolicyUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -167,9 +168,9 @@ public class PolicyEngineServicesTest {
                mockMvc.perform(get("/getMetrics")).andExpect(status().isBadRequest());
                mockMvc.perform(get("/getMetrics").header(CLIENTAUTHHEADER, "Basic 123")).andExpect(status().isUnauthorized());
                //Service Tests. 
-               mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, "123")).andExpect(status().isOk());
-               mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isOk());
-               mockMvc.perform(get("/getMetrics").headers(headers)).andExpect(status().isOk());
+               mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, "123")).andExpect(status().isBadRequest());
+               mockMvc.perform(get("/getMetrics").headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
+               mockMvc.perform(get("/getMetrics").headers(headers)).andExpect(status().isBadRequest());
        }
        
        @Test
@@ -195,9 +196,11 @@ public class PolicyEngineServicesTest {
        
        @Test
        public void getNotificationTopicValidPassTest() throws Exception{
+        // Values can be polluted due to failure tests and need to be reloaded. 
            XACMLProperties.reloadProperties();
         System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, "src/test/resources/notification.xacml.pdp.properties");
         XACMLProperties.getProperties();
+        NotificationService.reloadProps();
                // Add a Topic. 
                mockMvc.perform(post("/getNotification").headers(headers).header(UUIDHEADER, "123").content("test")).andExpect(status().isOk());
                // Try to add same topic should fail.  
@@ -450,9 +453,9 @@ public class PolicyEngineServicesTest {
                pep.setAttributes(attributes);
                pep.setRiskLevel("5");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                // Checks for BRMS Raw Policy
                pep.setPolicyConfigType(PolicyConfigType.BRMS_RAW);
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
@@ -466,9 +469,9 @@ public class PolicyEngineServicesTest {
                                .headers(headers)).andExpect(status().isBadRequest());
                pep.setRiskLevel("5");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
        }
        
        @Test
@@ -502,11 +505,11 @@ public class PolicyEngineServicesTest {
                                .headers(headers)).andExpect(status().isBadRequest());
                pep.setConfigName("configName");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                pep.setConfigBody("{'test':'test}");
                pep.setConfigBodyType(PolicyType.JSON);
                mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                Map<AttributeType, Map<String,String>> attributes = new HashMap<>();
                Map<String,String> matching = new HashMap<>();
                matching.put("key", "value");
@@ -514,7 +517,7 @@ public class PolicyEngineServicesTest {
                pep.setAttributes(attributes);
                pep.setConfigBody("testBody");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
        }
        
        @Test
@@ -543,15 +546,15 @@ public class PolicyEngineServicesTest {
                                .headers(headers)).andExpect(status().isBadRequest());
                pep.setConfigBody("{\"onapname\":\"test\"}");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                pep.setRiskLevel("test");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
                                .headers(headers)).andExpect(status().isBadRequest());
                pep.setRiskLevel("4");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
        }
        
        @Test
@@ -585,15 +588,15 @@ public class PolicyEngineServicesTest {
                                .headers(headers)).andExpect(status().isBadRequest());
                pep.setConfigBody("{\"onapname\":\"test\", \"serviceTypePolicyName\":\"value\"}");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                pep.setRiskLevel("test");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
                                .headers(headers)).andExpect(status().isBadRequest());
                pep.setRiskLevel("4");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
        }
        
        @Test
@@ -623,9 +626,9 @@ public class PolicyEngineServicesTest {
                                .headers(headers)).andExpect(status().isBadRequest());
                pep.setConfigBody("{\"configName\":\"test\"}");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
        }
        
        @Test
@@ -656,10 +659,10 @@ public class PolicyEngineServicesTest {
                                .headers(headers)).andExpect(status().isBadRequest());
                pep.setRiskLevel("4");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                pep.setConfigBody("{\"service\":\"test\",\"uuid\":\"test\",\"location\":\"test\",\"configName\":\"test\",\"description\":\"test\",\"priority\":\"test\",\"version\":\"test\"}");
                mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
        }
        
        @Test
@@ -696,27 +699,27 @@ public class PolicyEngineServicesTest {
                                .headers(headers)).andExpect(status().isBadRequest());
                pep.setActionPerformer("PEP");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                // Checks for Decision Policy. 
                pep.setPolicyClass(PolicyClass.Decision);
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
                                .headers(headers)).andExpect(status().isBadRequest());
                pep.setOnapName("xyz");
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                attributes.remove(AttributeType.MATCHING);
                attributes.put(AttributeType.SETTINGS, matching);
                pep.setAttributes(attributes);
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                attributes.put(AttributeType.MATCHING, matching);
                pep.setAttributes(attributes);
                mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                mockMvc.perform(put("/updatePolicy").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
        }
        
        @Test
@@ -740,7 +743,7 @@ public class PolicyEngineServicesTest {
                                .headers(headers)).andExpect(status().isBadRequest());
                pep.setDictionaryJson("{\"test\":\"value\"}");
                mockMvc.perform(put("/createDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isInternalServerError());
+                               .headers(headers).header(UUIDHEADER, UUID.randomUUID())).andExpect(status().isBadRequest());
                pep.setDictionaryJson("test123");
                mockMvc.perform(put("/updateDictionaryItem").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
                                .headers(headers).header(UUIDHEADER, "123")).andExpect(status().isBadRequest());
@@ -763,10 +766,10 @@ public class PolicyEngineServicesTest {
                                .headers(headers).header(UUIDHEADER, UUID.randomUUID().toString())).andExpect(status().isBadRequest());
                pep.setDictionary("OnapName");
                mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
                pep.setRequestID(UUID.randomUUID());
                mockMvc.perform(post("/getDictionaryItems").content(PolicyUtils.objectToJsonString(pep)).contentType(MediaType.APPLICATION_JSON)
-                               .headers(headers)).andExpect(status().isInternalServerError());
+                               .headers(headers)).andExpect(status().isBadRequest());
        }
        
        @Test