aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/test/java/org/onap
diff options
context:
space:
mode:
authorputhuparambil.aditya <aditya.puthuparambil@bell.ca>2020-07-17 11:13:49 +0100
committerputhuparambil.aditya <aditya.puthuparambil@bell.ca>2020-07-24 11:14:52 +0100
commit478ac7c72dba1c26e7a79a08d50b6fd14441bf2a (patch)
tree5ab59a46fd8eba49a6641cd7ade8ab95cb95c9f0 /main/src/test/java/org/onap
parentf655bbd5cf8c28fda08ea6a130ec314b21725cb6 (diff)
Fetch and Delete policy API with PolicyName and PolicyVersion
Issue-ID: POLICY-2585 Signed-off-by: puthuparambil.aditya <aditya.puthuparambil@bell.ca> Change-Id: Icabde6463105ed382c1e32b6f7c1319490a385b2
Diffstat (limited to 'main/src/test/java/org/onap')
-rw-r--r--main/src/test/java/org/onap/policy/api/main/rest/TestApiRestServer.java92
-rw-r--r--main/src/test/java/org/onap/policy/api/main/rest/TestApiStatisticsManager.java19
-rw-r--r--main/src/test/java/org/onap/policy/api/main/rest/provider/TestPolicyProvider.java110
3 files changed, 220 insertions, 1 deletions
diff --git a/main/src/test/java/org/onap/policy/api/main/rest/TestApiRestServer.java b/main/src/test/java/org/onap/policy/api/main/rest/TestApiRestServer.java
index 2f794fd7..01892be1 100644
--- a/main/src/test/java/org/onap/policy/api/main/rest/TestApiRestServer.java
+++ b/main/src/test/java/org/onap/policy/api/main/rest/TestApiRestServer.java
@@ -3,6 +3,7 @@
* Copyright (C) 2018 Samsung Electronics Co., Ltd. All rights reserved.
* Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
* Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2020 Bell Canada.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -47,6 +48,7 @@ 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 javax.ws.rs.core.Response.Status;
import org.glassfish.jersey.client.ClientProperties;
import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
import org.junit.AfterClass;
@@ -197,6 +199,8 @@ public class TestApiRestServer {
"policies/vCPE.policy.operational.legacy.input.json", "policies/vDNS.policy.operational.legacy.input.json",
"policies/vFirewall.policy.operational.legacy.input.json"};
+ private static final String POLICIES_VCPE_VERSION1 = "policies/onap.restart.tca/versions/1.0.0";
+
private static PolicyModelsProviderParameters providerParams;
private static ApiParameterGroup apiParamGroup;
private static PolicyProvider policyProvider;
@@ -335,6 +339,7 @@ public class TestApiRestServer {
.getResourceAsString(TOSCA_POLICY_RESOURCE_NAMES[TOSCA_POLICIES_RESOURCE_NAMES.length - 1]);
toscaPolicy = toscaPolicy.replaceAll("onap.policies.monitoring.cdap.tca.hi.lo.app", "IDontExist");
+ toscaPolicy = toscaPolicy.replaceAll("onap.restart.tca", "onap.restart.tca.IDontExist");
TextFileUtils.putStringAsTextFile(toscaPolicy, "src/test/resources/policies/BadTestPolicy.yaml");
Response rawResponse2 = createResource(POLICIES, "src/test/resources/policies/BadTestPolicy.yaml");
@@ -836,6 +841,93 @@ public class TestApiRestServer {
assertEquals("policy operational.scaleout:1.0.0 not found", errorResponse.getErrorMessage());
}
+ @Test
+ public void testGetPoliciesJson() throws Exception {
+ getPolicies(APP_JSON);
+ }
+
+ @Test
+ public void testGetPoliciesYaml() throws Exception {
+ getPolicies(APP_YAML);
+ }
+
+ private void getPolicies(String mediaType) throws Exception {
+ for (String resrcName : TOSCA_POLICYTYPE_RESOURCE_NAMES) {
+ Response rawResponse = createResource(POLICYTYPES, resrcName);
+ assertThat(rawResponse.getStatus()).isEqualTo(Response.Status.OK.getStatusCode());
+ ToscaServiceTemplate response = rawResponse.readEntity(ToscaServiceTemplate.class);
+ assertThat(response).isNotNull();
+ assertThat(response.getPolicyTypes()).isNotEmpty();
+ }
+ for (String resrcName : TOSCA_POLICY_RESOURCE_NAMES) {
+ Response rawResponse = createResource(POLICYTYPES_TCA_POLICIES, resrcName);
+ assertThat(rawResponse.getStatus()).isEqualTo(Response.Status.OK.getStatusCode());
+ }
+ Response rawResponse = readResource(POLICIES, mediaType);
+ assertThat(rawResponse.getStatus()).isEqualTo(Response.Status.OK.getStatusCode());
+ ToscaServiceTemplate response = rawResponse.readEntity(ToscaServiceTemplate.class);
+ assertThat(response.getToscaTopologyTemplate().getPolicies()).isNotEmpty();
+ }
+
+ @Test
+ public void testGetSpecificPolicyJson() throws Exception {
+ getSpecificPolicy(APP_JSON);
+ }
+
+ @Test
+ public void testGetSpecificPolicyYaml() throws Exception {
+ getSpecificPolicy(APP_YAML);
+ }
+
+ private void getSpecificPolicy(String mediaType) throws Exception {
+ for (String resrcName : TOSCA_POLICYTYPE_RESOURCE_NAMES) {
+ Response rawResponse = createResource(POLICYTYPES, resrcName);
+ assertThat(rawResponse.getStatus()).isEqualTo(Response.Status.OK.getStatusCode());
+ ToscaServiceTemplate response = rawResponse.readEntity(ToscaServiceTemplate.class);
+ assertThat(response).isNotNull();
+ assertThat(response.getPolicyTypes()).isNotEmpty();
+ }
+ for (String resrcName : TOSCA_POLICY_RESOURCE_NAMES) {
+ Response rawResponse = createResource(POLICYTYPES_TCA_POLICIES, resrcName);
+ assertThat(rawResponse.getStatus()).isEqualTo(Response.Status.OK.getStatusCode());
+ }
+ Response rawResponse = readResource(POLICIES_VCPE_VERSION1, mediaType);
+ assertThat(rawResponse.getStatus()).isEqualTo(Response.Status.OK.getStatusCode());
+ ToscaServiceTemplate response = rawResponse.readEntity(ToscaServiceTemplate.class);
+ assertThat(response.getToscaTopologyTemplate().getPolicies()).hasSize(1);
+ }
+
+ @Test
+ public void testDeleteSpecificPolicy() throws Exception {
+ Response rawResponse;
+ for (String resrcName : TOSCA_POLICYTYPE_RESOURCE_NAMES) {
+ rawResponse = createResource(POLICYTYPES, resrcName);
+ assertThat(rawResponse.getStatus()).isEqualTo(Response.Status.OK.getStatusCode());
+ ToscaServiceTemplate response = rawResponse.readEntity(ToscaServiceTemplate.class);
+ assertThat(response).isNotNull();
+ assertThat(response.getPolicyTypes()).isNotEmpty();
+ }
+ for (String resrcName : TOSCA_POLICY_RESOURCE_NAMES) {
+ rawResponse = createResource(POLICYTYPES_TCA_POLICIES, resrcName);
+ assertThat(rawResponse.getStatus()).isEqualTo(Response.Status.OK.getStatusCode());
+ }
+
+ rawResponse = readResource(POLICIES_VCPE_VERSION1, APP_JSON);
+ assertThat(rawResponse.getStatus()).isEqualTo(Response.Status.OK.getStatusCode());
+
+ // delete a particular policy
+ rawResponse = deleteResource(POLICIES_VCPE_VERSION1, APP_JSON);
+ assertThat(rawResponse.getStatus()).isEqualTo(Response.Status.OK.getStatusCode());
+
+ rawResponse = readResource(POLICIES_VCPE_VERSION1, APP_JSON);
+ assertThat(rawResponse.getStatus()).isEqualTo(Status.NOT_FOUND.getStatusCode());
+
+ rawResponse = deleteResource(POLICIES_VCPE_VERSION1, APP_JSON);
+ assertThat(rawResponse.getStatus()).isEqualTo(Status.NOT_FOUND.getStatusCode());
+
+ }
+
+
private Response createResource(String endpoint, String resourceName) throws Exception {
String mediaType = APP_JSON; // default media type
diff --git a/main/src/test/java/org/onap/policy/api/main/rest/TestApiStatisticsManager.java b/main/src/test/java/org/onap/policy/api/main/rest/TestApiStatisticsManager.java
index b72ad23c..148ec1b8 100644
--- a/main/src/test/java/org/onap/policy/api/main/rest/TestApiStatisticsManager.java
+++ b/main/src/test/java/org/onap/policy/api/main/rest/TestApiStatisticsManager.java
@@ -3,6 +3,7 @@
* ONAP Policy API
* ================================================================================
* Copyright (C) 2019 IBM.
+ * Modifications Copyright (C) 2020 Bell Canada.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -36,10 +37,26 @@ public class TestApiStatisticsManager {
@Test
public void testUpdateMethods() {
+ assertEquals(1, ApiStatisticsManager.updateTotalApiCallCount());
+ assertEquals(1, ApiStatisticsManager.updateApiCallSuccessCount());
+ assertEquals(1, ApiStatisticsManager.updateApiCallFailureCount());
+ assertEquals(1, ApiStatisticsManager.updateTotalPolicyGetCount());
+ assertEquals(1, ApiStatisticsManager.updateTotalPolicyPostCount());
+ assertEquals(1, ApiStatisticsManager.updateTotalPolicyDeleteCount());
+ assertEquals(1, ApiStatisticsManager.updateTotalPolicyTypeGetCount());
assertEquals(1, ApiStatisticsManager.updateTotalPolicyTypePostCount());
+ assertEquals(1, ApiStatisticsManager.updateTotalPolicyTypeDeleteCount());
assertEquals(1, ApiStatisticsManager.updatePolicyGetSuccessCount());
+ assertEquals(1, ApiStatisticsManager.updatePolicyGetFailureCount());
assertEquals(1, ApiStatisticsManager.updatePolicyPostSuccessCount());
+ assertEquals(1, ApiStatisticsManager.updatePolicyPostFailureCount());
+ assertEquals(1, ApiStatisticsManager.updatePolicyDeleteSuccessCount());
+ assertEquals(1, ApiStatisticsManager.updatePolicyDeleteFailureCount());
+ assertEquals(1, ApiStatisticsManager.updatePolicyTypeGetSuccessCount());
+ assertEquals(1, ApiStatisticsManager.updatePolicyTypeGetFailureCount());
+ assertEquals(1, ApiStatisticsManager.updatePolicyTypePostSuccessCount());
assertEquals(1, ApiStatisticsManager.updatePolicyTypePostFailureCount());
+ assertEquals(1, ApiStatisticsManager.updatePolicyTypeDeleteSuccessCount());
+ assertEquals(1, ApiStatisticsManager.updatePolicyTypeDeleteFailureCount());
}
-
}
diff --git a/main/src/test/java/org/onap/policy/api/main/rest/provider/TestPolicyProvider.java b/main/src/test/java/org/onap/policy/api/main/rest/provider/TestPolicyProvider.java
index 23257e34..a86f969a 100644
--- a/main/src/test/java/org/onap/policy/api/main/rest/provider/TestPolicyProvider.java
+++ b/main/src/test/java/org/onap/policy/api/main/rest/provider/TestPolicyProvider.java
@@ -4,6 +4,7 @@
* ================================================================================
* Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
* Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2020 Bell Canada.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,6 +24,7 @@
package org.onap.policy.api.main.rest.provider;
+import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatCode;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.Assert.assertEquals;
@@ -140,6 +142,10 @@ public class TestPolicyProvider {
assertThatThrownBy(() -> {
policyProvider.fetchPolicies("dummy", "1.0.0", "dummy", "1.0.0", null);
}).hasMessage("service template not found in database");
+
+ assertThatThrownBy(() -> {
+ policyProvider.fetchPolicies(null, null, "dummy", "1.0.0", null);
+ }).hasMessage("service template not found in database");
}
@Test
@@ -413,4 +419,108 @@ public class TestPolicyProvider {
"1.0.0");
}).hasMessageContaining("no policies found");
}
+
+ @Test
+ public void testFetchAllPolicies() throws Exception {
+ // Create Policy Type
+ ToscaServiceTemplate policyTypeServiceTemplate = standardYamlCoder
+ .decode(ResourceUtils.getResourceAsString(POLICY_TYPE_RESOURCE), ToscaServiceTemplate.class);
+ policyTypeProvider.createPolicyType(policyTypeServiceTemplate);
+
+ // Create Policy
+ String policyString = ResourceUtils.getResourceAsString(POLICY_RESOURCE);
+ ToscaServiceTemplate policyServiceTemplate =
+ standardCoder.decode(policyString, ToscaServiceTemplate.class);
+ ToscaServiceTemplate serviceTemplate = policyProvider.createPolicy(
+ "onap.policies.monitoring.cdap.tca.hi.lo.app", "1.0.0", policyServiceTemplate);
+
+ assertThat(serviceTemplate.getToscaTopologyTemplate().getPolicies()).hasSize(1);
+
+ // Test fetch all policies
+ policyTypeServiceTemplate = policyProvider
+ .fetchPolicies(null, null, null, null, null);
+
+ assertThat(policyTypeServiceTemplate.getToscaTopologyTemplate().getPolicies()).hasSize(1);
+ }
+
+ @Test
+ public void testFetchSpecificPolicy_availablePolicy() throws Exception {
+ // Create Policy Type
+ ToscaServiceTemplate policyTypeServiceTemplate = standardYamlCoder
+ .decode(ResourceUtils.getResourceAsString(POLICY_TYPE_RESOURCE), ToscaServiceTemplate.class);
+ policyTypeProvider.createPolicyType(policyTypeServiceTemplate);
+
+ // Create Policy
+ String policyString = ResourceUtils.getResourceAsString(POLICY_RESOURCE);
+ ToscaServiceTemplate policyServiceTemplate =
+ standardCoder.decode(policyString, ToscaServiceTemplate.class);
+ ToscaServiceTemplate serviceTemplate = policyProvider.createPolicy(
+ "onap.policies.monitoring.cdap.tca.hi.lo.app", "1.0.0", policyServiceTemplate);
+
+ assertThat(serviceTemplate.getToscaTopologyTemplate().getPolicies()).hasSize(1);
+
+ // Test fetch specific policy
+ assertThat(policyProvider.fetchPolicies(null, null, "onap.restart.tca",
+ "1.0.0", null).getToscaTopologyTemplate().getPolicies()).hasSize(1);
+ }
+
+ @Test
+ public void testFetchSpecificPolicy_unavailablePolicy() throws Exception {
+ // Create Policy Type
+ ToscaServiceTemplate policyTypeServiceTemplate = standardYamlCoder
+ .decode(ResourceUtils.getResourceAsString(POLICY_TYPE_RESOURCE), ToscaServiceTemplate.class);
+ policyTypeProvider.createPolicyType(policyTypeServiceTemplate);
+
+ // Create Policy
+ String policyString = ResourceUtils.getResourceAsString(POLICY_RESOURCE);
+ ToscaServiceTemplate policyServiceTemplate =
+ standardCoder.decode(policyString, ToscaServiceTemplate.class);
+ ToscaServiceTemplate serviceTemplate = policyProvider.createPolicy(
+ "onap.policies.monitoring.cdap.tca.hi.lo.app", "1.0.0", policyServiceTemplate);
+ assertNotNull(serviceTemplate.getToscaTopologyTemplate().getPolicies());
+ assertThat(serviceTemplate.getToscaTopologyTemplate().getPolicies()).hasSize(1);
+
+ // Test fetch specific policy
+ assertThatThrownBy(() -> policyProvider.fetchPolicies(
+ null, null, "onap.restart.tca", "2.0.0", null))
+ .hasMessageContaining("policies for onap.restart.tca:2.0.0 do not exist");
+ }
+
+ @Test
+ public void testDeleteSpecificPolicy_availablePolicy() throws Exception {
+ ToscaServiceTemplate policyTypeServiceTemplate = standardYamlCoder
+ .decode(ResourceUtils.getResourceAsString(POLICY_TYPE_RESOURCE), ToscaServiceTemplate.class);
+ policyTypeProvider.createPolicyType(policyTypeServiceTemplate);
+
+ String policyString = ResourceUtils.getResourceAsString(POLICY_RESOURCE);
+ ToscaServiceTemplate policyServiceTemplate = standardCoder.decode(policyString, ToscaServiceTemplate.class);
+ ToscaServiceTemplate serviceTemplate = policyProvider.createPolicy(
+ "onap.policies.monitoring.cdap.tca.hi.lo.app", "1.0.0", policyServiceTemplate);
+ assertThat(serviceTemplate.getToscaTopologyTemplate().getPolicies()).hasSize(1);
+
+ ToscaServiceTemplate svcTemplate = policyProvider
+ .deletePolicy(null, null, "onap.restart.tca", "1.0.0");
+ assertThat(svcTemplate.getToscaTopologyTemplate().getPolicies()).hasSize(1);
+ }
+
+ @Test
+ public void testDeleteSpecificPolicy_unavailablePolicy() throws Exception {
+ ToscaServiceTemplate policyTypeServiceTemplate = standardYamlCoder
+ .decode(ResourceUtils.getResourceAsString(POLICY_TYPE_RESOURCE), ToscaServiceTemplate.class);
+ policyTypeProvider.createPolicyType(policyTypeServiceTemplate);
+
+ String policyString = ResourceUtils.getResourceAsString(POLICY_RESOURCE);
+ ToscaServiceTemplate policyServiceTemplate = standardCoder.decode(policyString, ToscaServiceTemplate.class);
+ ToscaServiceTemplate serviceTemplate = policyProvider.createPolicy(
+ "onap.policies.monitoring.cdap.tca.hi.lo.app", "1.0.0", policyServiceTemplate);
+ assertThat(serviceTemplate.getToscaTopologyTemplate().getPolicies()).hasSize(1);
+
+ assertThatThrownBy(() -> policyProvider
+ .deletePolicy(null, null, "onap.restart.tca", "2.0.0"))
+ .hasMessageContaining("not found");
+
+ assertThatThrownBy(() -> policyProvider.deletePolicy(
+ null, null, "onap.restart.tca.unavailable", "1.0.0"))
+ .hasMessageContaining("not found");
+ }
}