import java.security.SecureRandom;
import java.security.cert.X509Certificate;
import java.util.Base64;
+import java.util.Collections;
import java.util.Properties;
import javax.net.ssl.SSLContext;
private static final Logger LOGGER = LoggerFactory.getLogger(TestApiRestServer.class);
private static final String NOT_ALIVE = "not alive";
private static final String ALIVE = "alive";
- private static final String SELF = "self";
+ private static final String SELF = NetworkUtil.getHostname();
private static final String NAME = "Policy API";
private static final String APP_JSON = "application/json";
private static final String APP_YAML = "application/yaml";
+ "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();
"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",
providerParams.setDatabaseUser("policy");
providerParams.setDatabasePassword(Base64.getEncoder().encodeToString("P01icY".getBytes()));
providerParams.setPersistenceUnit("ToscaConceptTest");
- apiParamGroup = new ApiParameterGroup("ApiGroup", null, providerParams);
+ apiParamGroup = new ApiParameterGroup("ApiGroup", null, providerParams, Collections.emptyList());
ParameterService.register(apiParamGroup, true);
policyTypeProvider = new PolicyTypeProvider();
policyProvider = new PolicyProvider();
}
}
+ @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 {
}
}
+ @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 {
}
}
+ @Test
+ public void testReadPreloadPolicyTypesPersistentJson() throws Exception {
+ setupParameters();
+ main = startApiService(true);
+ Response rawResponse = readResource(POLICYTYPES, true, APP_JSON);
+ assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+ ToscaServiceTemplate response = rawResponse.readEntity(ToscaServiceTemplate.class);
+ assertEquals(26, response.getPolicyTypes().size());
+ }
+
+ @Test
+ public void testReadPreloadPolicyTypesPersistentYaml() throws Exception {
+ setupParameters();
+ main = startApiService(true);
+ Response rawResponse = readResource(POLICYTYPES, true, APP_YAML);
+ assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+ ToscaServiceTemplate response = rawResponse.readEntity(ToscaServiceTemplate.class);
+ assertEquals(26, response.getPolicyTypes().size());
+ }
+
@Test
public void testReadPolicyTypesPersistentJson() {
testReadPolicyTypesPersistent(APP_JSON);