+ assertTrue(respBody.contains("Error parsing request.") && respBody.contains("No valid model-info is specified"));\r
+ }\r
+ \r
+ @Test\r
+ public void createServiceInstanceNormalDuplicate(){\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
+ return new InfraActiveRequests();\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.contains(\r
+ "Locked instance - This service (testService) already has a request being worked with a status of null (RequestId - null). The existing request must finish or be cleaned up before proceeding."));\r
+ }\r
+ \r
+ @Ignore // 1802 merge\r
+ @Test\r
+ public void createServiceInstanceTestDBException(){\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
+ return null;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public Service getServiceByModelName (String defaultServiceModelName) {\r
+ Service serviceRecord = new Service();\r
+ serviceRecord.setModelUUID("2883992993");\r
+ return serviceRecord;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
+ ServiceRecipe recipe =new ServiceRecipe();\r
+ recipe.setOrchestrationUri("/test/mso");\r
+ recipe.setRecipeTimeout(1000);\r
+ return recipe;\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.contains("Exception while creating record in DB null"));\r
+ }\r
+ \r
+ @Ignore // 1802 merge\r
+ @Test\r
+ public void createServiceInstanceTestBpmnFail(){\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
+ return null;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public Service getServiceByModelName (String defaultServiceModelName) {\r
+ Service serviceRecord = new Service();\r
+ serviceRecord.setModelUUID("2883992993");\r
+ return serviceRecord;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
+ ServiceRecipe recipe =new ServiceRecipe();\r
+ recipe.setOrchestrationUri("/test/mso");\r
+ recipe.setRecipeTimeout(1000);\r
+ return recipe;\r
+ }\r
+ };\r
+ \r
+ new MockUp<MsoRequest>() {\r
+ @Mock\r
+ public void createRequestRecord (Status status, Action action) {\r
+ return;\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.contains("Failed calling bpmn properties"));\r
+ }\r
+ \r
+ @Ignore // 1802 merge\r
+ @Test(expected = Exception.class)\r
+ public void createServiceInstanceTest200Http(){\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
+ return null;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public Service getServiceByModelName (String defaultServiceModelName) {\r
+ Service serviceRecord = new Service();\r
+ serviceRecord.setModelUUID("2883992993");\r
+ return serviceRecord;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
+ ServiceRecipe recipe =new ServiceRecipe();\r
+ recipe.setOrchestrationUri("/test/mso");\r
+ recipe.setRecipeTimeout(1000);\r
+ return recipe;\r
+ }\r
+ };\r
+ \r
+ new MockUp<MsoRequest>() {\r
+ @Mock\r
+ public void createRequestRecord (Status status, Action action) {\r
+ return;\r
+ }\r
+ };\r
+ \r
+ new MockUp<RequestClientFactory>() {\r
+ @Mock\r
+ public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
+ RequestClient client = new CamundaClient();\r
+ client.setUrl("/test/url");\r
+ return client;\r
+ }\r
+ };\r
+ \r
+ new MockUp<CamundaClient>() {\r
+ @Mock\r
+ public HttpResponse post(String requestId, boolean isBaseVfModule,\r
+ int recipeTimeout, String requestAction, String serviceInstanceId,\r
+ String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,\r
+ String serviceType, String vnfType, String vfModuleType, String networkType,\r
+ String requestDetails, String recipeParamXsd){ \r
+ ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
+ HttpResponse resp = new BasicHttpResponse(pv,200, "test response");\r
+ BasicHttpEntity entity = new BasicHttpEntity();\r
+ String body = "{\"response\":\"success\",\"message\":\"success\"}";\r
+ InputStream instream = new ByteArrayInputStream(body.getBytes());\r
+ entity.setContent(instream);\r
+ resp.setEntity(entity);\r
+ return resp;\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
+ }\r
+ \r
+ @Ignore // 1802 merge\r
+ @Test\r
+ public void createServiceInstanceTest500Http(){\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
+ return null;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public Service getServiceByModelName (String defaultServiceModelName) {\r
+ Service serviceRecord = new Service();\r
+ serviceRecord.setModelUUID("2883992993");\r
+ return serviceRecord;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
+ ServiceRecipe recipe =new ServiceRecipe();\r
+ recipe.setOrchestrationUri("/test/mso");\r
+ recipe.setRecipeTimeout(1000);\r
+ return recipe;\r
+ }\r
+ };\r
+ \r
+ new MockUp<MsoRequest>() {\r
+ @Mock\r
+ public void createRequestRecord (Status status, Action action) {\r
+ return;\r
+ }\r
+ };\r
+ \r
+ new MockUp<RequestClientFactory>() {\r
+ @Mock\r
+ public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
+ RequestClient client = new CamundaClient();\r
+ client.setUrl("/test/url");\r
+ return client;\r
+ }\r
+ };\r
+ \r
+ new MockUp<CamundaClient>() {\r
+ @Mock\r
+ public HttpResponse post(String requestId, boolean isBaseVfModule,\r
+ int recipeTimeout, String requestAction, String serviceInstanceId,\r
+ String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,\r
+ String serviceType, String vnfType, String vfModuleType, String networkType,\r
+ String requestDetails, String recipeParamXsd){ \r
+ ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
+ HttpResponse resp = new BasicHttpResponse(pv,500, "test response");\r
+ BasicHttpEntity entity = new BasicHttpEntity();\r
+ String body = "{\"response\":\"success\",\"message\":\"success\"}";\r
+ InputStream instream = new ByteArrayInputStream(body.getBytes());\r
+ entity.setContent(instream);\r
+ resp.setEntity(entity);\r
+ return resp;\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.contains("Request Failed due to BPEL error with HTTP Status"));\r
+ }\r
+ \r
+ @Test\r
+ public void createServiceInstanceTestVnfModelType(){\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
+ return null;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public Service getServiceByModelName (String defaultServiceModelName) {\r
+ Service serviceRecord = new Service();\r
+ serviceRecord.setModelUUID("2883992993");\r
+ return serviceRecord;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
+ ServiceRecipe recipe =new ServiceRecipe();\r
+ recipe.setOrchestrationUri("/test/mso");\r
+ recipe.setRecipeTimeout(1000);\r
+ return recipe;\r
+ }\r
+ };\r
+ \r
+ new MockUp<MsoRequest>() {\r
+ @Mock\r
+ public void createRequestRecord (Status status, Action action) {\r
+ return;\r
+ }\r
+ };\r
+ \r
+ new MockUp<RequestClientFactory>() {\r
+ @Mock\r
+ public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
+ RequestClient client = new CamundaClient();\r
+ client.setUrl("/test/url");\r
+ return client;\r
+ }\r
+ };\r
+ \r
+ new MockUp<CamundaClient>() {\r
+ @Mock\r
+ public HttpResponse post(String requestId, boolean isBaseVfModule,\r
+ int recipeTimeout, String requestAction, String serviceInstanceId,\r
+ String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,\r
+ String serviceType, String vnfType, String vfModuleType, String networkType,\r
+ String requestDetails, String recipeParamXsd){ \r
+ ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
+ HttpResponse resp = new BasicHttpResponse(pv,500, "test response");\r
+ BasicHttpEntity entity = new BasicHttpEntity();\r
+ String body = "{\"response\":\"success\",\"message\":\"success\"}";\r
+ InputStream instream = new ByteArrayInputStream(body.getBytes());\r
+ entity.setContent(instream);\r
+ resp.setEntity(entity);\r
+ return resp;\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\":\"vnf\",\"modelName\":\"serviceModel\",\"modelCustomizationName\":\"test\"}}}";\r
+ Response resp = instance.createServiceInstance(requestJson, "v5");\r
+ String respBody = resp.getEntity().toString();\r
+ assertTrue(respBody.contains("No valid modelVersionId is specified"));\r
+ }\r
+ \r
+ @Ignore // 1802 merge\r
+ @Test\r
+ public void createServiceInstanceTestNullHttpResp(){\r
+ new MockUp<RequestsDatabase>() {\r
+ @Mock\r
+ public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
+ return null;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public Service getServiceByModelName (String defaultServiceModelName) {\r
+ Service serviceRecord = new Service();\r
+ serviceRecord.setModelUUID("2883992993");\r
+ return serviceRecord;\r
+ }\r
+ };\r
+ new MockUp<CatalogDatabase>() {\r
+ @Mock\r
+ public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
+ ServiceRecipe recipe =new ServiceRecipe();\r
+ recipe.setOrchestrationUri("/test/mso");\r
+ recipe.setRecipeTimeout(1000);\r
+ return recipe;\r
+ }\r
+ };\r
+ \r
+ new MockUp<MsoRequest>() {\r
+ @Mock\r
+ public void createRequestRecord (Status status, Action action) {\r
+ return;\r
+ }\r
+ };\r
+ \r
+ new MockUp<RequestClientFactory>() {\r
+ @Mock\r
+ public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
+ RequestClient client = new CamundaClient();\r
+ client.setUrl("/test/url");\r
+ return client;\r
+ }\r
+ };\r
+ \r
+ new MockUp<CamundaClient>() {\r
+ @Mock\r
+ public HttpResponse post(String requestId, boolean isBaseVfModule,\r
+ int recipeTimeout, String requestAction, String serviceInstanceId,\r
+ String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,\r
+ String serviceType, String vnfType, String vfModuleType, String networkType,\r
+ String requestDetails, String recipeParamXsd){ \r
+ return null;\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.contains("bpelResponse is null"));\r