--- /dev/null
+package org.openecomp.mso.apihandlerinfra;\r
+\r
+\r
+import org.hibernate.criterion.Criterion;\r
+import org.hibernate.criterion.Order;\r
+import org.junit.Test;\r
+\r
+import javax.ws.rs.core.Response;\r
+\r
+import static org.junit.Assert.assertFalse;\r
+import static org.junit.Assert.assertTrue;\r
+import static org.junit.Assert.fail;\r
+\r
+import java.util.Collections;\r
+import java.util.List;\r
+\r
+import org.openecomp.mso.requestsdb.InfraActiveRequests;\r
+import org.openecomp.mso.requestsdb.RequestsDatabase;\r
+\r
+import mockit.Mock;\r
+import mockit.MockUp;\r
+\r
+public class ServiceInstanceTest {\r
+\r
+ /*** Create Service Instance Test Cases ***/\r
+ \r
+ @Test\r
+ public void createServiceInstanceInvalidModelInfo(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v5");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Error parsing request. No valid model-info is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createServiceInstanceNormalNullDBFatch(){\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
+ return Collections.EMPTY_LIST;\r
+ }\r
+ };\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v2");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Recipe could not be retrieved from catalog DB null") != -1);\r
+ }\r
+ \r
+ \r
+ @Test\r
+ public void createServiceInstanceInvalidModelVersionId(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v5");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Error parsing request. No valid modelVersionId is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createServiceInstanceNullInstanceName(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v2");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Error parsing request. No valid instanceName is specified") != -1);\r
+ }\r
+ \r
+ \r
+ @Test\r
+ public void createServiceInstanceNullModelInfo(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v2");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Error parsing request. No valid model-info is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createServiceInstanceInvalidModelInvariantId(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"1234\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v2");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Error parsing request. No valid modelType is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createServiceInstanceNullModelVersion(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v2");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Error parsing request. No valid modelType is specified") != -1);\r
+ }\r
+ \r
+ \r
+ @Test\r
+ public void createServiceInstanceNullModelType(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v2");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Error parsing request. No valid modelType is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createServiceInstanceInvalidModelType(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"testmodel\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v2");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Mapping of request to JSON object failed.") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createServiceInstanceNullModelName(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v2");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Error parsing request. No valid modelName is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createServiceInstanceInvalidVersionForAutoBuildVfModules(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": true},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v2");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Error parsing request. AutoBuildVfModule is not valid in the v2 version") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createServiceInstanceNullRequestParameter(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v2");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Error parsing request. No valid subscriptionServiceType is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createServiceInstanceNullSubscriptionType(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v2");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.indexOf("Error parsing request. No valid subscriptionServiceType is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createServiceInstanceAnbormalInvalidJson(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"name\":\"test\"}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v2");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Mapping of request to JSON object failed") != -1);\r
+ }\r
+ \r
+ /*** Activate Service Instance Test Cases ***/\r
+ \r
+ @Test\r
+ public void activateServiceInstanceAnbormalInvalidJson(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"name\":\"test\"}";\r
+ Response resp = instance.activateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Mapping of request to JSON object failed") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void activateServiceInstanceInvalidModelVersionId(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.activateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Error parsing request. No valid modelVersionId in relatedInstance is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void activateServiceInstanceInvalidServiceInstanceId(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.activateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Error parsing request. No valid serviceInstanceId matching the serviceInstanceId in request URI is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void activateServiceInstanceTestNormal(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.activateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("SVC2000") != -1);\r
+ }\r
+ \r
+ /*** Deactivate Service Instance Test Cases ***/\r
+ \r
+ @Test\r
+ public void deactivateServiceInstanceAnbormalInvalidJson(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"name\":\"test\"}";\r
+ Response resp = instance.deactivateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Mapping of request to JSON object failed") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void deactivateServiceInstanceInvalidModelVersionId(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.deactivateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Error parsing request. No valid modelVersionId in relatedInstance is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void deactivateServiceInstanceInvalidServiceInstanceId(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.deactivateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Error parsing request. No valid serviceInstanceId matching the serviceInstanceId in request URI is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void deactivateServiceInstanceTestNormal(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.deactivateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("SVC2000") != -1);\r
+ }\r
+ \r
+ /*** Delete Service Instance Test Cases ***/\r
+ \r
+ @Test\r
+ public void deleteServiceInstanceAnbormalInvalidJson(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"name\":\"test\"}";\r
+ Response resp = instance.deleteServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Mapping of request to JSON object failed") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void deleteServiceInstanceInvalidModelVersionId(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.deleteServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Error parsing request. No valid modelVersionId is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void deleteServiceInstanceInvalidServiceInstanceId(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.deleteServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Error parsing request. No valid modelVersionId is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void deleteServiceInstanceTestNormal(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.deleteServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("SVC2000") != -1);\r
+ }\r
+ \r
+ /*** Create Vnf Instance Test Cases ***/\r
+ \r
+ @Test\r
+ public void createVNFInstanceTestInvalidCloudConfiguration(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Error parsing request. No valid cloudConfiguration is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createVNFInstanceTestInvalidIcpCloudRegionId(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String s = "\"cloudConfiguration\":{}";\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Error parsing request. No valid lcpCloudRegionId is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createVNFInstanceTestInvalidTenantId(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String s = "\"cloudConfiguration\":{}";\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("Error parsing request. No valid tenantId is specified") != -1);\r
+ }\r
+ \r
+ @Test\r
+ public void createVNFInstanceTestNormal(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String s = "\"cloudConfiguration\":{}";\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("SVC2000") != -1);\r
+ }\r
+ \r
+ /*** Replace Vnf Instance Test Cases ***/\r
+ @Test\r
+ public void replaceVNFInstanceTestNormal(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String s = "\"cloudConfiguration\":{}";\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.replaceVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34","557ea944-c83e-43cf-9ed7-3a354abd6d93");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("SVC2000") != -1);\r
+ }\r
+ \r
+ /*** Update Vnf Instance Test Cases ***/\r
+ \r
+ @Test\r
+ public void updateVNFInstanceTestNormal(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String s = "\"cloudConfiguration\":{}";\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.updateVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34","557ea944-c83e-43cf-9ed7-3a354abd6d93");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("SVC2000") != -1);\r
+ }\r
+ \r
+ /*** Update Vnf Instance Test Cases ***/\r
+ \r
+ @Test\r
+ public void deleteVNFInstanceTestNormal(){\r
+ ServiceInstances instance = new ServiceInstances();\r
+ String s = "\"cloudConfiguration\":{}";\r
+ String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
+ +"\"vnfInstanceId\":\"1882938\","\r
+ +"\"networkInstanceId\":\"1882937\","\r
+ +"\"volumeGroupInstanceId\":\"1882935\","\r
+ +"\"vfModuleInstanceId\":\"1882934\","\r
+ + "\"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\"}}}";\r
+ Response resp = instance.deleteVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34","557ea944-c83e-43cf-9ed7-3a354abd6d93");\r
+ String respStr = resp.getEntity().toString();\r
+ assertTrue(respStr.indexOf("SVC2000") != -1);\r
+ }\r
+}\r