From 7c2a160b0b90559453f0fd7d8a887aca519c5ad5 Mon Sep 17 00:00:00 2001 From: seshukm Date: Thu, 14 Sep 2017 10:25:31 +0530 Subject: Added UT tests Issue-Id : SO-134 Change-Id: I2d817ce3f6763c7e37b29082493e55d72d488458 Signed-off-by: seshukm --- mso-api-handlers/mso-api-handler-infra/pom.xml | 6 + .../mso/apihandlerinfra/ServiceInstanceTest.java | 491 +++++++++++++++++++++ 2 files changed, 497 insertions(+) create mode 100644 mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java (limited to 'mso-api-handlers/mso-api-handler-infra') diff --git a/mso-api-handlers/mso-api-handler-infra/pom.xml b/mso-api-handlers/mso-api-handler-infra/pom.xml index 4490d78648..f9150fabf0 100644 --- a/mso-api-handlers/mso-api-handler-infra/pom.xml +++ b/mso-api-handlers/mso-api-handler-infra/pom.xml @@ -239,6 +239,12 @@ status-control ${project.version} + + org.jmockit + jmockit + 1.8 + test + junit junit diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java new file mode 100644 index 0000000000..ee789a60ca --- /dev/null +++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java @@ -0,0 +1,491 @@ +package org.openecomp.mso.apihandlerinfra; + + +import org.hibernate.criterion.Criterion; +import org.hibernate.criterion.Order; +import org.junit.Test; + +import javax.ws.rs.core.Response; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.util.Collections; +import java.util.List; + +import org.openecomp.mso.requestsdb.InfraActiveRequests; +import org.openecomp.mso.requestsdb.RequestsDatabase; + +import mockit.Mock; +import mockit.MockUp; + +public class ServiceInstanceTest { + + /*** Create Service Instance Test Cases ***/ + + @Test + public void createServiceInstanceInvalidModelInfo(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"}}}"; + Response resp = instance.createServiceInstance(requestJson, "v5"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Error parsing request. No valid model-info is specified") != -1); + } + + @Test + public void createServiceInstanceNormalNullDBFatch(){ + new MockUp() { + @Mock + private List executeInfraQuery (List criteria, Order order) { + return Collections.EMPTY_LIST; + } + }; + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.createServiceInstance(requestJson, "v2"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Recipe could not be retrieved from catalog DB null") != -1); + } + + + @Test + public void createServiceInstanceInvalidModelVersionId(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.createServiceInstance(requestJson, "v5"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Error parsing request. No valid modelVersionId is specified") != -1); + } + + @Test + public void createServiceInstanceNullInstanceName(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.createServiceInstance(requestJson, "v2"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Error parsing request. No valid instanceName is specified") != -1); + } + + + @Test + public void createServiceInstanceNullModelInfo(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false}}}"; + Response resp = instance.createServiceInstance(requestJson, "v2"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Error parsing request. No valid model-info is specified") != -1); + } + + @Test + public void createServiceInstanceInvalidModelInvariantId(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"1234\"}}}"; + Response resp = instance.createServiceInstance(requestJson, "v2"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Error parsing request. No valid modelType is specified") != -1); + } + + @Test + public void createServiceInstanceNullModelVersion(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\"}}}"; + Response resp = instance.createServiceInstance(requestJson, "v2"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Error parsing request. No valid modelType is specified") != -1); + } + + + @Test + public void createServiceInstanceNullModelType(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\"}}}"; + Response resp = instance.createServiceInstance(requestJson, "v2"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Error parsing request. No valid modelType is specified") != -1); + } + + @Test + public void createServiceInstanceInvalidModelType(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"testmodel\"}}}"; + Response resp = instance.createServiceInstance(requestJson, "v2"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Mapping of request to JSON object failed.") != -1); + } + + @Test + public void createServiceInstanceNullModelName(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\"}}}"; + Response resp = instance.createServiceInstance(requestJson, "v2"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Error parsing request. No valid modelName is specified") != -1); + } + + @Test + public void createServiceInstanceInvalidVersionForAutoBuildVfModules(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": true},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.createServiceInstance(requestJson, "v2"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Error parsing request. AutoBuildVfModule is not valid in the v2 version") != -1); + } + + @Test + public void createServiceInstanceNullRequestParameter(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.createServiceInstance(requestJson, "v2"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Error parsing request. No valid subscriptionServiceType is specified") != -1); + } + + @Test + public void createServiceInstanceNullSubscriptionType(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.createServiceInstance(requestJson, "v2"); + String respBody = resp.getEntity().toString(); + assertTrue(respBody.indexOf("Error parsing request. No valid subscriptionServiceType is specified") != -1); + } + + @Test + public void createServiceInstanceAnbormalInvalidJson(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"name\":\"test\"}"; + Response resp = instance.createServiceInstance(requestJson, "v2"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Mapping of request to JSON object failed") != -1); + } + + /*** Activate Service Instance Test Cases ***/ + + @Test + public void activateServiceInstanceAnbormalInvalidJson(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"name\":\"test\"}"; + Response resp = instance.activateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Mapping of request to JSON object failed") != -1); + } + + @Test + public void activateServiceInstanceInvalidModelVersionId(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d37\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.activateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Error parsing request. No valid modelVersionId in relatedInstance is specified") != -1); + } + + @Test + public void activateServiceInstanceInvalidServiceInstanceId(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d37\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.activateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Error parsing request. No valid serviceInstanceId matching the serviceInstanceId in request URI is specified") != -1); + } + + @Test + public void activateServiceInstanceTestNormal(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.activateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("SVC2000") != -1); + } + + /*** Deactivate Service Instance Test Cases ***/ + + @Test + public void deactivateServiceInstanceAnbormalInvalidJson(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"name\":\"test\"}"; + Response resp = instance.deactivateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Mapping of request to JSON object failed") != -1); + } + + @Test + public void deactivateServiceInstanceInvalidModelVersionId(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d37\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.deactivateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Error parsing request. No valid modelVersionId in relatedInstance is specified") != -1); + } + + @Test + public void deactivateServiceInstanceInvalidServiceInstanceId(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d37\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.deactivateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Error parsing request. No valid serviceInstanceId matching the serviceInstanceId in request URI is specified") != -1); + } + + @Test + public void deactivateServiceInstanceTestNormal(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.deactivateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("SVC2000") != -1); + } + + /*** Delete Service Instance Test Cases ***/ + + @Test + public void deleteServiceInstanceAnbormalInvalidJson(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"name\":\"test\"}"; + Response resp = instance.deleteServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Mapping of request to JSON object failed") != -1); + } + + @Test + public void deleteServiceInstanceInvalidModelVersionId(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d37\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.deleteServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Error parsing request. No valid modelVersionId is specified") != -1); + } + + @Test + public void deleteServiceInstanceInvalidServiceInstanceId(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d37\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}"; + Response resp = instance.deleteServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Error parsing request. No valid modelVersionId is specified") != -1); + } + + @Test + public void deleteServiceInstanceTestNormal(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}"; + Response resp = instance.deleteServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("SVC2000") != -1); + } + + /*** Create Vnf Instance Test Cases ***/ + + @Test + public void createVNFInstanceTestInvalidCloudConfiguration(){ + ServiceInstances instance = new ServiceInstances(); + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}"; + Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Error parsing request. No valid cloudConfiguration is specified") != -1); + } + + @Test + public void createVNFInstanceTestInvalidIcpCloudRegionId(){ + ServiceInstances instance = new ServiceInstances(); + String s = "\"cloudConfiguration\":{}"; + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"cloudConfiguration\":{}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}"; + Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Error parsing request. No valid lcpCloudRegionId is specified") != -1); + } + + @Test + public void createVNFInstanceTestInvalidTenantId(){ + ServiceInstances instance = new ServiceInstances(); + String s = "\"cloudConfiguration\":{}"; + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\"}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}"; + Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("Error parsing request. No valid tenantId is specified") != -1); + } + + @Test + public void createVNFInstanceTestNormal(){ + ServiceInstances instance = new ServiceInstances(); + String s = "\"cloudConfiguration\":{}"; + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\",\"tenantId\":\"2910032\"}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}"; + Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("SVC2000") != -1); + } + + /*** Replace Vnf Instance Test Cases ***/ + @Test + public void replaceVNFInstanceTestNormal(){ + ServiceInstances instance = new ServiceInstances(); + String s = "\"cloudConfiguration\":{}"; + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\",\"tenantId\":\"2910032\"}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}"; + Response resp = instance.replaceVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34","557ea944-c83e-43cf-9ed7-3a354abd6d93"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("SVC2000") != -1); + } + + /*** Update Vnf Instance Test Cases ***/ + + @Test + public void updateVNFInstanceTestNormal(){ + ServiceInstances instance = new ServiceInstances(); + String s = "\"cloudConfiguration\":{}"; + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\",\"tenantId\":\"2910032\"}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}"; + Response resp = instance.updateVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34","557ea944-c83e-43cf-9ed7-3a354abd6d93"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("SVC2000") != -1); + } + + /*** Update Vnf Instance Test Cases ***/ + + @Test + public void deleteVNFInstanceTestNormal(){ + ServiceInstances instance = new ServiceInstances(); + String s = "\"cloudConfiguration\":{}"; + String requestJson = "{\"serviceInstanceId\":\"1882939\"," + +"\"vnfInstanceId\":\"1882938\"," + +"\"networkInstanceId\":\"1882937\"," + +"\"volumeGroupInstanceId\":\"1882935\"," + +"\"vfModuleInstanceId\":\"1882934\"," + + "\"requestDetails\": {\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\",\"tenantId\":\"2910032\"}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}"; + Response resp = instance.deleteVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34","557ea944-c83e-43cf-9ed7-3a354abd6d93"); + String respStr = resp.getEntity().toString(); + assertTrue(respStr.indexOf("SVC2000") != -1); + } +} -- cgit 1.2.3-korg