Removing legacy guard from policy/api
[policy/api.git] / main / src / test / java / org / onap / policy / api / main / rest / TestApiRestServer.java
index 291bddd..9474814 100644 (file)
@@ -38,7 +38,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
-
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.TrustManager;
 import javax.ws.rs.client.Client;
@@ -47,7 +46,6 @@ import javax.ws.rs.client.Entity;
 import javax.ws.rs.client.Invocation;
 import javax.ws.rs.client.WebTarget;
 import javax.ws.rs.core.Response;
-
 import org.glassfish.jersey.client.ClientProperties;
 import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
 import org.junit.AfterClass;
@@ -71,7 +69,6 @@ import org.onap.policy.models.base.PfModelException;
 import org.onap.policy.models.errors.concepts.ErrorResponse;
 import org.onap.policy.models.provider.PolicyModelsProviderParameters;
 import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate;
-import org.onap.policy.models.tosca.legacy.concepts.LegacyGuardPolicyInput;
 import org.onap.policy.models.tosca.legacy.concepts.LegacyOperationalPolicy;
 
 /**
@@ -110,6 +107,9 @@ public class TestApiRestServer {
     private static final String POLICYTYPES_DROOLS_VERSION = POLICYTYPES_DROOLS + "/versions/1.0.0";
     private static final String POLICYTYPES_DROOLS_VERSION_LATEST = POLICYTYPES_DROOLS + "/versions/latest";
 
+    private static final String POLICYTYPES_NAMING_VERSION =
+            POLICYTYPES + "/onap.policies.Naming/versions/1.0.0";
+
     private static final String POLICYTYPES_TCA_POLICIES =
             "policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies";
     private static final String POLICYTYPES_TCA_POLICIES_VCPE =
@@ -120,27 +120,10 @@ public class TestApiRestServer {
             + "onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/onap.restart.tca/versions/2.0.0";
     private static final String POLICYTYPES_TCA_POLICIES_VCPE_LATEST = "policytypes/"
             + "onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/onap.restart.tca/versions/latest";
-    private static final String POLICYTYPES_TCA_POLICIES_VCPE_DEPLOYED = "policytypes/"
-            + "onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/onap.restart.tca/versions/deployed";
 
     private static final String POLICYTYPES_DROOLS_POLICIES_VCPE_VERSION =
             POLICYTYPES_DROOLS_VERSION + "/policies/" + OP_POLICY_NAME_VCPE + "/versions/1.0.0";
 
-    private static final String GUARD_POLICIES = "policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies";
-    private static final String GUARD_POLICIES_VDNS_FL_LATEST =
-            "policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/guard.frequency.scaleout"
-                    + "/versions/latest";
-    private static final String GUARD_POLICIES_VDNS_FL_DEPLOYED =
-            "policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/guard.frequency.scaleout"
-                    + "/versions/deployed";
-    private static final String GUARD_POLICIES_VDNS_MINMAX_LATEST =
-            "policytypes/onap.policies.controlloop.Guard/versions/1.0.0/policies/guard.minmax.scaleout"
-                    + "/versions/latest";
-    private static final String GUARD_POLICIES_VDNS_FL_VERSION = "policytypes/"
-            + "onap.policies.controlloop.Guard/versions/1.0.0/policies/guard.frequency.scaleout/versions/1";
-    private static final String GUARD_POLICIES_VDNS_MINMAX_VERSION =
-            "policytypes/" + "onap.policies.controlloop.Guard/versions/1.0.0/policies/guard.minmax.scaleout/versions/1";
-
     private static final String OPS_POLICIES =
             "policytypes/onap.policies.controlloop.Operational/versions/1.0.0/policies";
     private static final String OPS_POLICIES_VCPE_LATEST =
@@ -191,9 +174,10 @@ public class TestApiRestServer {
         LEGACY_POLICYTYPE_OP_RESOURCE,
         TOSCA_POLICYTYPE_OP_RESOURCE,
         "policytypes/onap.policies.controlloop.operational.common.Drools.yaml",
-        "policytypes/onap.policies.controlloop.guard.Blacklist.yaml",
-        "policytypes/onap.policies.controlloop.guard.FrequencyLimiter.yaml",
-        "policytypes/onap.policies.controlloop.guard.MinMax.yaml",
+        "policytypes/onap.policies.controlloop.guard.Common.yaml",
+        "policytypes/onap.policies.controlloop.guard.common.Blacklist.yaml",
+        "policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter.yaml",
+        "policytypes/onap.policies.controlloop.guard.common.MinMax.yaml",
         "policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml",
         "policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml",
         "policytypes/onap.policies.optimization.resource.DistancePolicy.yaml",
@@ -212,11 +196,6 @@ public class TestApiRestServer {
     private static final String TOSCA_POLICY_OP_DROOLS_VCPE_RESOURSE_YAML =
         "policies/vCPE.policy.operational.input.tosca.yaml";
 
-    private static final String[] LEGACY_GUARD_POLICY_RESOURCE_NAMES = {
-        "policies/vDNS.policy.guard.frequency.input.json",
-        "policies/vDNS.policy.guard.minmax.input.json"
-    };
-
     private static final String[] LEGACY_OPERATIONAL_POLICY_RESOURCE_NAMES = {
         "policies/vCPE.policy.operational.legacy.input.json",
         "policies/vDNS.policy.operational.legacy.input.json",
@@ -252,7 +231,8 @@ public class TestApiRestServer {
         providerParams.setDatabaseUser("policy");
         providerParams.setDatabasePassword(Base64.getEncoder().encodeToString("P01icY".getBytes()));
         providerParams.setPersistenceUnit("ToscaConceptTest");
-        apiParamGroup = new ApiParameterGroup("ApiGroup", null, providerParams, Collections.emptyList());
+        apiParamGroup = new ApiParameterGroup("ApiGroup", null, providerParams,
+                Collections.emptyList(), Collections.emptyList());
         ParameterService.register(apiParamGroup, true);
 
         policyTypeProvider = new PolicyTypeProvider();
@@ -317,9 +297,9 @@ public class TestApiRestServer {
         String firstPolicyType = response.getPolicyTypes().keySet().iterator().next();
         response.getPolicyTypes().put(firstPolicyType, null);
         Response rawResponse2 = createResource(POLICYTYPES, standardCoder.encode(response));
-        assertEquals(Response.Status.BAD_REQUEST.getStatusCode(), rawResponse2.getStatus());
+        assertEquals(Response.Status.NOT_FOUND.getStatusCode(), rawResponse2.getStatus());
         ErrorResponse errorResponse = rawResponse2.readEntity(ErrorResponse.class);
-        assertEquals("no policy types specified in the service template", errorResponse.getErrorMessage());
+        assertEquals("no policy types specified on service template", errorResponse.getErrorMessage());
     }
 
     @Test
@@ -368,20 +348,6 @@ public class TestApiRestServer {
         assertThat(errorResponse.getErrorMessage()).contains("policy type NULL:1.0.0 referenced in policy not found");
     }
 
-    @Test
-    public void testCreateGuardPolicies() throws Exception {
-        for (String resrcName : LEGACY_GUARD_POLICY_RESOURCE_NAMES) {
-            Response rawResponse = createGuardPolicy(GUARD_POLICIES, resrcName);
-            assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-        }
-
-        Response rawResponse = deleteResource(GUARD_POLICIES_VDNS_FL_VERSION, APP_JSON);
-        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-
-        rawResponse = deleteResource(GUARD_POLICIES_VDNS_MINMAX_VERSION, APP_JSON);
-        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-    }
-
     @Test
     public void testCreateOperationalPolicies() throws Exception {
         for (String resrcName : LEGACY_OPERATIONAL_POLICY_RESOURCE_NAMES) {
@@ -504,7 +470,14 @@ public class TestApiRestServer {
     }
 
     private void testReadPolicyTypes(String mediaType) throws Exception {
-        Response rawResponse = readResource(POLICYTYPES, mediaType);
+        Response rawResponse = readResource("policytypes/onap.policies.optimization.resource.HpaPolicy", mediaType);
+        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+        ToscaServiceTemplate namingServiceTemplate = rawResponse.readEntity(ToscaServiceTemplate.class);
+        assertNotNull(namingServiceTemplate);
+        assertEquals(3, namingServiceTemplate.getPolicyTypesAsMap().size());
+        assertEquals(5, namingServiceTemplate.getDataTypesAsMap().size());
+
+        rawResponse = readResource(POLICYTYPES, mediaType);
         assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
         ToscaServiceTemplate response = rawResponse.readEntity(ToscaServiceTemplate.class);
         assertFalse(response.getPolicyTypes().isEmpty());
@@ -535,6 +508,9 @@ public class TestApiRestServer {
 
         rawResponse = readResource(POLICYTYPES_DROOLS_VERSION_LATEST, mediaType);
         assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+
+        rawResponse = readResource(POLICYTYPES_NAMING_VERSION, mediaType);
+        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
     }
 
     @Test
@@ -602,6 +578,36 @@ public class TestApiRestServer {
         assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
     }
 
+    @Test
+    public void testNamingPolicyGet() throws Exception {
+
+        Response rawResponse = readResource("policytypes/onap.policies.Naming/versions/1.0.0/"
+                + "policies/SDNC_Policy.ONAP_VNF_NAMING_TIMESTAMP/versions/1.0.0", APP_JSON);
+        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+
+        ToscaServiceTemplate namingServiceTemplate = rawResponse.readEntity(ToscaServiceTemplate.class);
+        assertEquals(1, namingServiceTemplate.getToscaTopologyTemplate().getPoliciesAsMap().size());
+        assertEquals(1, namingServiceTemplate.getPolicyTypesAsMap().size());
+        assertEquals(3, namingServiceTemplate.getDataTypesAsMap().size());
+
+        rawResponse = readResource("policytypes/onap.policies.Naming/versions/1.0.0/"
+                + "policies/SDNC_Policy.ONAP_VNF_NAMING_TIMESTAMP/versions/latest", APP_JSON);
+        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+
+        namingServiceTemplate = rawResponse.readEntity(ToscaServiceTemplate.class);
+        assertEquals(1, namingServiceTemplate.getToscaTopologyTemplate().getPoliciesAsMap().size());
+        assertEquals(1, namingServiceTemplate.getPolicyTypesAsMap().size());
+        assertEquals(3, namingServiceTemplate.getDataTypesAsMap().size());
+
+        rawResponse = readResource("policytypes/onap.policies.Naming/versions/1.0.0/policies", APP_JSON);
+        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+
+        namingServiceTemplate = rawResponse.readEntity(ToscaServiceTemplate.class);
+        assertEquals(1, namingServiceTemplate.getToscaTopologyTemplate().getPoliciesAsMap().size());
+        assertEquals(1, namingServiceTemplate.getPolicyTypesAsMap().size());
+        assertEquals(3, namingServiceTemplate.getDataTypesAsMap().size());
+    }
+
     @Test
     public void testDeletePoliciesJson() throws Exception {
         testDeletePolicies(APP_JSON);
@@ -616,7 +622,7 @@ public class TestApiRestServer {
         Response rawResponse = deleteResource(POLICYTYPES_TCA_POLICIES_VCPE_VERSION1, mediaType);
         assertEquals(Response.Status.NOT_FOUND.getStatusCode(), rawResponse.getStatus());
         ErrorResponse error = rawResponse.readEntity(ErrorResponse.class);
-        assertEquals("policies for onap.restart.tca:1.0.0 do not exist", error.getErrorMessage());
+        assertEquals("policy onap.restart.tca:1.0.0 not found", error.getErrorMessage());
     }
 
     @Test
@@ -648,8 +654,8 @@ public class TestApiRestServer {
         assertEquals(Response.Status.NOT_FOUND.getStatusCode(), rawResponse.getStatus());
         ErrorResponse errorResponse = rawResponse.readEntity(ErrorResponse.class);
         assertEquals(
-                "policy with ID onap.restart.tca:1.0.0 and type "
-                        + "onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 does not exist",
+                "policies for filter ToscaPolicyFilter(name=onap.restart.tca, version=1.0.0, versionPrefix=null, "
+                        + "type=onap.policies.monitoring.cdap.tca.hi.lo.app, typeVersion=1.0.0) do not exist",
                 errorResponse.getErrorMessage());
 
         rawResponse = deleteResource(POLICYTYPES_TCA_POLICIES_VCPE_VERSION2, mediaType);
@@ -697,41 +703,6 @@ public class TestApiRestServer {
         assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
     }
 
-    @Test
-    public void testReadGuardPoliciesJson() throws Exception {
-        testReadGuardPolicies(APP_JSON);
-    }
-
-    @Test
-    public void testReadGuardPoliciesYaml() throws Exception {
-        testReadGuardPolicies(APP_YAML);
-    }
-
-    private void testReadGuardPolicies(String mediaType) throws Exception {
-        for (String resrcName : LEGACY_GUARD_POLICY_RESOURCE_NAMES) {
-            Response rawResponse = createGuardPolicy(GUARD_POLICIES, resrcName);
-            assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-        }
-
-        Response rawResponse = readResource(GUARD_POLICIES_VDNS_FL_LATEST, mediaType);
-        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-
-        rawResponse = readResource(GUARD_POLICIES_VDNS_FL_VERSION, mediaType);
-        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-
-        rawResponse = readResource(GUARD_POLICIES_VDNS_MINMAX_LATEST, mediaType);
-        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-
-        rawResponse = readResource(GUARD_POLICIES_VDNS_MINMAX_VERSION, mediaType);
-        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-
-        rawResponse = deleteResource(GUARD_POLICIES_VDNS_FL_VERSION, mediaType);
-        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-
-        rawResponse = deleteResource(GUARD_POLICIES_VDNS_MINMAX_VERSION, APP_JSON);
-        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-    }
-
     @Test
     public void testReadOperationalPoliciesJson() throws Exception {
         testReadOperationalPolicies(APP_JSON);
@@ -777,49 +748,6 @@ public class TestApiRestServer {
 
     }
 
-    @Test
-    public void testDeleteGuardPolicyJson() throws Exception {
-        testDeleteGuardPolicy(APP_JSON);
-    }
-
-    @Test
-    public void testDeleteGuardPolicyYaml() throws Exception {
-        testDeleteGuardPolicy(APP_YAML);
-    }
-
-    private void testDeleteGuardPolicy(String mediaType) throws Exception {
-        for (String resrcName : LEGACY_GUARD_POLICY_RESOURCE_NAMES) {
-            Response rawResponse = createGuardPolicy(GUARD_POLICIES, resrcName);
-            assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-        }
-
-        Response rawResponse = deleteResource(GUARD_POLICIES_VDNS_FL_VERSION, mediaType);
-        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-
-        rawResponse = deleteResource(GUARD_POLICIES_VDNS_MINMAX_VERSION, APP_JSON);
-        assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
-    }
-
-    @Test
-    public void testGetDeployedVersionsOfGuardPolicyJson() throws Exception {
-        testGetDeployedVersionsOfGuardPolicy(APP_JSON);
-    }
-
-    @Test
-    public void testGetDeployedVersionsOfGuardPolicyYaml() throws Exception {
-        testGetDeployedVersionsOfGuardPolicy(APP_YAML);
-    }
-
-    private void testGetDeployedVersionsOfGuardPolicy(String mediaType) throws Exception {
-        Response rawResponse = readResource(GUARD_POLICIES_VDNS_FL_DEPLOYED, mediaType);
-        assertEquals(Response.Status.NOT_FOUND.getStatusCode(), rawResponse.getStatus());
-        ErrorResponse errorResponse = rawResponse.readEntity(ErrorResponse.class);
-        assertEquals(
-                "could not find policy with ID guard.frequency.scaleout and type "
-                        + "onap.policies.controlloop.guard.FrequencyLimiter:1.0.0 deployed in any pdp group",
-                errorResponse.getErrorMessage());
-    }
-
     @Test
     public void testDeleteOperationalPolicyJson() throws Exception {
         testDeleteOperationalPolicy(APP_JSON);
@@ -837,26 +765,6 @@ public class TestApiRestServer {
         assertEquals("no policy found for policy: operational.restart:1", error.getErrorMessage());
     }
 
-    @Test
-    public void testGetDeployedVersionsOfPolicyJson() throws Exception {
-        testGetDeployedVersionsOfPolicy(APP_JSON);
-    }
-
-    @Test
-    public void testGetDeployedVersionsOfPolicyYaml() throws Exception {
-        testGetDeployedVersionsOfPolicy(APP_YAML);
-    }
-
-    private void testGetDeployedVersionsOfPolicy(String mediaType) throws Exception {
-        Response rawResponse = readResource(POLICYTYPES_TCA_POLICIES_VCPE_DEPLOYED, mediaType);
-        assertEquals(Response.Status.NOT_FOUND.getStatusCode(), rawResponse.getStatus());
-        ErrorResponse errorResponse = rawResponse.readEntity(ErrorResponse.class);
-        assertEquals(
-                "could not find policy with ID onap.restart.tca and type "
-                        + "onap.policies.monitoring.cdap.tca.hi.lo.app:1.0.0 deployed in any pdp group",
-                errorResponse.getErrorMessage());
-    }
-
     @Test
     public void testGetLatestVersionOfOperationalPolicyJson() throws Exception {
         testGetLatestVersionOfOperationalPolicy(APP_JSON);
@@ -940,27 +848,6 @@ public class TestApiRestServer {
         return invocationBuilder.post(entity);
     }
 
-    private Response createGuardPolicy(String endpoint, String resourceName) throws Exception {
-
-        String mediaType = APP_JSON; // default media type
-        LegacyGuardPolicyInput rawGuardPolicy = new LegacyGuardPolicyInput();
-        if (resourceName.endsWith(".json")) {
-            rawGuardPolicy =
-                    standardCoder.decode(ResourceUtils.getResourceAsString(resourceName), LegacyGuardPolicyInput.class);
-        } else if (resourceName.endsWith(".yaml") || resourceName.endsWith(".yml")) {
-            mediaType = APP_YAML;
-            rawGuardPolicy = standardYamlCoder.decode(ResourceUtils.getResourceAsString(resourceName),
-                    LegacyGuardPolicyInput.class);
-        }
-
-        final Invocation.Builder invocationBuilder;
-
-        invocationBuilder = sendHttpsRequest(endpoint, mediaType);
-
-        Entity<LegacyGuardPolicyInput> entity = Entity.entity(rawGuardPolicy, mediaType);
-        return invocationBuilder.post(entity);
-    }
-
     private Response createOperationalPolicy(String endpoint, String resourceName) throws Exception {
 
         String mediaType = APP_JSON; // default media type