Created a new simplified API for creating policies
[policy/api.git] / main / src / test / java / org / onap / policy / api / main / rest / TestApiRestServer.java
index b065277..6e51e36 100644 (file)
@@ -151,6 +151,7 @@ public class TestApiRestServer {
             + "onap.policies.controlloop.Operational/versions/1.0.0/policies/operational.scaleout/versions/1";
     private static final String OPS_POLICIES_VFIREWALL_VERSION = "policytypes/"
             + "onap.policies.controlloop.Operational/versions/1.0.0/policies/operational.modifyconfig/versions/1";
+    private static final String POLICIES = "policies";
 
     private static final String KEYSTORE = System.getProperty("user.dir") + "/src/test/resources/ssl/policy-keystore";
     private static final CommonTestData COMMON_TEST_DATA = new CommonTestData();
@@ -170,6 +171,11 @@ public class TestApiRestServer {
         "policies/vFirewall.policy.monitoring.input.tosca.yaml"
     };
 
+    private String[] toscaPoliciesResourceNames = {
+        "policies/vCPE.policies.optimization.input.tosca.json",
+        "policies/vCPE.policies.optimization.input.tosca.yaml"
+    };
+
     private String[] toscaPolicyTypeResourceNames = {
         "policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app.yaml",
         "policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml",
@@ -291,6 +297,44 @@ public class TestApiRestServer {
         }
     }
 
+    @Test
+    public void testCreatePoliciesPersistent() throws Exception {
+        setupParameters(); // setup DB
+        main = startApiService(true);
+        for (String resrcName : toscaPolicyResourceNames) {
+            Response rawResponse = createResource(POLICYTYPES_TCA_POLICIES, resrcName, true);
+            assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+            ToscaServiceTemplate response = rawResponse.readEntity(ToscaServiceTemplate.class);
+            assertNotNull(response);
+            assertFalse(response.getToscaTopologyTemplate().getPolicies().isEmpty());
+        }
+    }
+
+    @Test
+    public void testSimpleCreatePolicies() throws Exception {
+        main = startApiService(true);
+        for (String resrcName : toscaPoliciesResourceNames) {
+            Response rawResponse = createResource(POLICIES, resrcName, true);
+            assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), rawResponse.getStatus());
+            ErrorResponse error = rawResponse.readEntity(ErrorResponse.class);
+            assertEquals("policy type onap.policies.optimization.AffinityPolicy:0.0.0 for "
+                + "policy OSDF_CASABLANCA.Affinity_vCPE_1:1.0.0 does not exist", error.getErrorMessage());
+        }
+    }
+
+    @Test
+    public void testSimpleCreatePoliciesPersistent() throws Exception {
+        setupParameters(); // setup DB
+        main = startApiService(true);
+        for (String resrcName : toscaPoliciesResourceNames) {
+            Response rawResponse = createResource(POLICIES, resrcName, true);
+            assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+            ToscaServiceTemplate response = rawResponse.readEntity(ToscaServiceTemplate.class);
+            assertNotNull(response);
+            assertFalse(response.getToscaTopologyTemplate().getPolicies().isEmpty());
+        }
+    }
+
     @Test
     public void testCreateGuardPolicies() {
         try {
@@ -377,6 +421,44 @@ public class TestApiRestServer {
         }
     }
 
+    @Test
+    public void testHttpsCreatePoliciesPersistent() throws Exception {
+        setupParameters(); // setup DB
+        main = startApiService(false);
+        for (String resrcName : toscaPolicyResourceNames) {
+            Response rawResponse = createResource(POLICYTYPES_TCA_POLICIES, resrcName, false);
+            assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+            ToscaServiceTemplate response = rawResponse.readEntity(ToscaServiceTemplate.class);
+            assertNotNull(response);
+            assertFalse(response.getToscaTopologyTemplate().getPolicies().isEmpty());
+        }
+    }
+
+    @Test
+    public void testHttpsSimpleCreatePolicies() throws Exception {
+        main = startApiService(false);
+        for (String resrcName : toscaPoliciesResourceNames) {
+            Response rawResponse = createResource(POLICIES, resrcName, false);
+            assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), rawResponse.getStatus());
+            ErrorResponse error = rawResponse.readEntity(ErrorResponse.class);
+            assertEquals("policy type onap.policies.optimization.AffinityPolicy:0.0.0 for "
+                + "policy OSDF_CASABLANCA.Affinity_vCPE_1:1.0.0 does not exist", error.getErrorMessage());
+        }
+    }
+
+    @Test
+    public void testHttpsSimpleCreatePoliciesPersistent() throws Exception {
+        setupParameters(); // setup DB
+        main = startApiService(false);
+        for (String resrcName : toscaPoliciesResourceNames) {
+            Response rawResponse = createResource(POLICIES, resrcName, false);
+            assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+            ToscaServiceTemplate response = rawResponse.readEntity(ToscaServiceTemplate.class);
+            assertNotNull(response);
+            assertFalse(response.getToscaTopologyTemplate().getPolicies().isEmpty());
+        }
+    }
+
     @Test
     public void testHttpsCreateGuardPolicies() {
         try {