Push and unpush to support multiple policies
[policy/engine.git] / ONAP-PDP-REST / src / test / java / org / onap / policy / pdp / rest / api / test / PolicyEngineServicesTest.java
index f6513d1..f08ef03 100644 (file)
@@ -4,6 +4,8 @@
  * ================================================================================
  * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
+ * Modifications Copyright (C) 2019 Samsung
+ * ================================================================================
  * 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
@@ -17,6 +19,7 @@
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
+
 package org.onap.policy.pdp.rest.api.test;
 
 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
@@ -176,10 +179,6 @@ public class PolicyEngineServicesTest {
         mockMvc.perform(post("/listPolicy").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
                 .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
                 .andExpect(status().isOk());
-        pep.setPolicyName("*");
-        mockMvc.perform(post("/listPolicy").content(PolicyUtils.objectToJsonString(pep)).headers(headers)
-                .header(UUIDHEADER, UUID.randomUUID()).contentType(MediaType.APPLICATION_JSON))
-                .andExpect(status().is4xxClientError());
     }
 
     @Test
@@ -311,6 +310,13 @@ public class PolicyEngineServicesTest {
         mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
                 .andExpect(status().isBadRequest());
+        pep.setPolicyName("com.");
+        mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+        pep.setPolicyName("com.test");
+        pep.setPolicyType("");
+        mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
         pep.setPolicyName("scopeless");
         mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
@@ -343,6 +349,9 @@ public class PolicyEngineServicesTest {
         mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
         pep.setPolicyType("Firewall");
+        mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+        pep.setPolicyType("Optimization");
         mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
         pep.setPdpGroup("default");
@@ -352,6 +361,14 @@ public class PolicyEngineServicesTest {
         pep.setRequestID(UUID.randomUUID());
         mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+        pep.setPolicyType("Base,Base");
+        pep.setPolicyName("com.test1,com.test2");
+        mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+        pep.setPolicyType("Base,Base,  ");
+        pep.setPolicyName("com.test1,com.test2,com.test3");
+        mockMvc.perform(put("/pushPolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
     }
 
     @Test
@@ -366,14 +383,28 @@ public class PolicyEngineServicesTest {
         mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
                 .andExpect(status().isBadRequest());
+
         pep.setPolicyName("testing");
+        pep.setPolicyType("Base");
+        pep.setPolicyComponent("PDP");
+        mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test123"))
+                .andExpect(status().isBadRequest());
+        pep.setPdpGroup("default");
+        mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test123"))
+                .andExpect(status().isBadRequest());
+        pep.setPolicyName("com.Config_test.1.xml");
+        mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test123"))
+                .andExpect(status().isBadRequest());
+        pep.setPolicyName("testing. ");
         mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, "test123"))
                 .andExpect(status().isBadRequest());
         pep.setPolicyName("testscope.name");
         mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
-        pep.setPolicyName("testscope.name");
         pep.setPolicyType("wrong");
         pep.setRequestID(UUID.randomUUID());
         mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
@@ -381,15 +412,23 @@ public class PolicyEngineServicesTest {
         pep.setPolicyType("BRMS_PARAM");
         pep.setPolicyComponent("wrong");
         pep.setRequestID(null);
+        mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
+        pep.setPolicyType("BRMS_PARAM");
+        pep.setPolicyComponent("PDP");
         mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
         pep.setPolicyType("BRMS_RAW");
         pep.setPolicyComponent("PDP");
+        pep.setPolicyName("testscope.name");
         mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
                 .andExpect(status().isBadRequest());
         pep.setPolicyType("MicroService");
-        pep.setPolicyComponent("PAP");
+        mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+                .andExpect(status().isBadRequest());
+        pep.setPolicyType("Optimization");
         mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
                 .andExpect(status().isBadRequest());
@@ -401,6 +440,7 @@ public class PolicyEngineServicesTest {
                 .andExpect(status().isBadRequest());
         pep.setPolicyType("ClosedLoop_Fault");
         pep.setDeleteCondition(DeletePolicyCondition.ONE);
+        pep.setPolicyName("test.test");
         mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
                 .andExpect(status().isBadRequest());
@@ -411,12 +451,12 @@ public class PolicyEngineServicesTest {
                 .andExpect(status().isBadRequest());
         pep.setPolicyType("Decision");
         pep.setPolicyComponent("PDP");
-        pep.setPolicyName("test.xml");
+        pep.setPolicyName("test.test");
         mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
                 .andExpect(status().isBadRequest());
         pep.setPolicyType("Action");
-        pep.setPolicyName("scope.Config_test.xml");
+        pep.setPolicyName("scope.test");
         mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
                 .andExpect(status().isBadRequest());
@@ -448,6 +488,28 @@ public class PolicyEngineServicesTest {
         mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
                 .andExpect(status().isBadRequest());
+        pep.setPolicyComponent("PDP");
+        pep.setPolicyName("com.test1,com.test2");
+        pep.setPolicyType("Base,Base");
+        mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+                .andExpect(status().isBadRequest());
+        pep.setPolicyName("com.test1,com.test2");
+        pep.setPolicyType("Base,Base,  ");
+        mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+                .andExpect(status().isBadRequest());
+        pep.setPolicyName("com.test1,com.test2,  ");
+        pep.setPolicyType("Base,Base,  ");
+        mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+                .andExpect(status().isBadRequest());
+        pep.setPolicyComponent("PAP");
+        pep.setPolicyName("com.test1,com.test2");
+        pep.setPolicyType("Base,Base");
+        mockMvc.perform(delete("/deletePolicy").content(PolicyUtils.objectToJsonString(pep))
+                .contentType(MediaType.APPLICATION_JSON).headers(headers).header(UUIDHEADER, UUID.randomUUID()))
+                .andExpect(status().isBadRequest());
     }
 
     @Test
@@ -531,8 +593,12 @@ public class PolicyEngineServicesTest {
         mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
         pep.setRiskLevel(null);
-        pep.setConfigBody(
-                "package droolsexample\n\n import com.sample.ItemCity;\nimport java.math.BigDecimal;\nrule \"Nagpur Medicine Item\"\n\n   when\n      item : ItemCity(purchaseCity == ItemCity.City.NAGPUR,\n         typeofItem == ItemCity.Type.MEDICINES)\n   then\n      BigDecimal tax = new BigDecimal(0.0);\n      item.setLocalTax(tax.multiply(item.getSellPrice()));\nend");
+        pep.setConfigBody("package droolsexample\n\n import com.sample.ItemCity;\nimport java.math.BigDecimal;\n"
+                + "rule \"Nagpur Medicine Item\"\n\n   when\n"
+                + "      item : ItemCity(purchaseCity == ItemCity.City.NAGPUR,\n"
+                + "         typeofItem == ItemCity.Type.MEDICINES)\n   then\n"
+                + "      BigDecimal tax = new BigDecimal(0.0);\n"
+                + "      item.setLocalTax(tax.multiply(item.getSellPrice()));\nend");
         mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
         pep.setRiskLevel("5");
@@ -728,8 +794,8 @@ public class PolicyEngineServicesTest {
         pep.setRiskLevel("4");
         mockMvc.perform(put("/createPolicy").content(PolicyUtils.objectToJsonString(pep))
                 .contentType(MediaType.APPLICATION_JSON).headers(headers)).andExpect(status().isBadRequest());
-        pep.setConfigBody(
-                "{\"service\":\"test\",\"uuid\":\"test\",\"location\":\"test\",\"configName\":\"test\",\"description\":\"test\",\"priority\":\"test\",\"version\":\"test\"}");
+        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().isBadRequest());
     }