AT&T 1712 and 1802 release code
[so.git] / mso-api-handlers / mso-api-handler-infra / src / test / java / org / openecomp / mso / apihandlerinfra / E2EServiceInstancesTest.java
index b247d81..5291651 100644 (file)
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertTrue;
 \r
 import java.io.ByteArrayInputStream;\r
 import java.io.InputStream;\r
+import java.sql.Timestamp;\r
 import java.util.ArrayList;\r
 import java.util.Collections;\r
 import java.util.List;\r
@@ -34,17 +35,24 @@ import org.apache.http.HttpResponse;
 import org.apache.http.ProtocolVersion;\r
 import org.apache.http.entity.BasicHttpEntity;\r
 import org.apache.http.message.BasicHttpResponse;\r
+import org.hibernate.HibernateException;\r
+import org.hibernate.Session;\r
 import org.hibernate.criterion.Criterion;\r
 import org.hibernate.criterion.Order;\r
+import org.hibernate.internal.SessionFactoryImpl;\r
 import org.junit.Test;\r
+import org.junit.Ignore;\r
+import org.mockito.Mockito;\r
 import org.openecomp.mso.apihandler.common.CamundaClient;\r
 import org.openecomp.mso.apihandler.common.RequestClient;\r
 import org.openecomp.mso.apihandler.common.RequestClientFactory;\r
 import org.openecomp.mso.db.catalog.CatalogDatabase;\r
 import org.openecomp.mso.db.catalog.beans.Service;\r
 import org.openecomp.mso.db.catalog.beans.ServiceRecipe;\r
+import org.openecomp.mso.properties.MsoDatabaseException;\r
 import org.openecomp.mso.properties.MsoJavaProperties;\r
 import org.openecomp.mso.requestsdb.InfraActiveRequests;\r
+import org.openecomp.mso.requestsdb.OperationStatus;\r
 import org.openecomp.mso.requestsdb.RequestsDatabase;\r
 \r
 import mockit.Mock;\r
@@ -52,422 +60,699 @@ import mockit.MockUp;
 \r
 public class E2EServiceInstancesTest {\r
 \r
-       \r
        @Test\r
-       public void createE2EServiceInstanceTestSuccess(){\r
+       public void createE2EServiceInstanceTestSuccess() {\r
                new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
-               return null;\r
-            }\r
-        };\r
-        new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            public int updateInfraStatus (String requestId, String requestStatus, long progress, String lastModifiedBy) {\r
-               return 0;\r
-            }\r
-        };\r
-        new MockUp<CatalogDatabase>() {\r
-            @Mock\r
-            public Service getServiceByModelName (String modelName) {\r
-               Service svc = new Service();\r
-               return svc;\r
-            }\r
-        };\r
-        \r
-        new MockUp<CatalogDatabase>() {\r
-            @Mock\r
-            public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID, String action) {\r
-               ServiceRecipe rec = new ServiceRecipe();\r
-               return rec;\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,\r
-                               String serviceType, String vnfType, String vfModuleType, String networkType,\r
-                               String requestDetails){ \r
-               ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
-               HttpResponse resp = new BasicHttpResponse(pv,202, "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
-        \r
+                       @Mock\r
+                       public OperationStatus getOperationStatusByServiceName(\r
+                                       String serviceName) {\r
+                               OperationStatus operationStatus = new OperationStatus();\r
+                               return operationStatus;\r
+                       }\r
+               };\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public Service getServiceByModelName(String modelName) {\r
+                               Service svc = new Service();\r
+                               return svc;\r
+                       }\r
+               };\r
+\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,\r
+                                       String action) {\r
+                               ServiceRecipe rec = new ServiceRecipe();\r
+                               return rec;\r
+                       }\r
+               };\r
+\r
+               new MockUp<RequestClientFactory>() {\r
+                       @Mock\r
+                       public RequestClient getRequestClient(String orchestrationURI,\r
+                                       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,\r
+                                       String serviceInstanceId, String vnfId, String vfModuleId,\r
+                                       String volumeGroupId, String networkId, String configurationId, String serviceType,\r
+                                       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, 202,\r
+                                               "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
+\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
-               String request = "{\"service\":{\"name\":\"service\",\"description\":\"so_test1\",\"serviceDefId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"templateId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"parameters\":{\"domainHost\":\"localhost\",\"nodeTemplateName\":\"modelName:v3\",\"nodeType\":\"service\",\"globalSubscriberId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"subscriberName\":\"NEED THIS UUI - AAI\",\"requestParameters\":{\"subscriptionServiceType\":\"MOG\",\"userParams\":[{\"name\":\"someUserParam\",\"value\":\"someValue\"},{\"name\":\"segments\",\"value\":\"value\"},{\"name\":\"nsParameters\",\"value\":\"othervalue\"}]}}}}";\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
                Response resp = instance.createE2EServiceInstance(request, "v3");\r
                String respStr = resp.getEntity().toString();\r
-               assertTrue(respStr.indexOf("Exception while creating record in DB null") != -1);\r
+               assertTrue(respStr.contains("SVC2000"));\r
        }\r
-        \r
+\r
        @Test\r
-       public void createE2EServiceInstanceTestBpelHTTPException(){\r
+       public void createE2EServiceInstanceTestBpelHTTPException() {\r
                new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
-               return null;\r
-            }\r
-        };\r
-        new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            public int updateInfraStatus (String requestId, String requestStatus, long progress, String lastModifiedBy) {\r
-               return 0;\r
-            }\r
-        };\r
-        new MockUp<CatalogDatabase>() {\r
-            @Mock\r
-            public Service getServiceByModelName (String modelName) {\r
-               Service svc = new Service();\r
-               return svc;\r
-            }\r
-        };\r
-        \r
-        new MockUp<CatalogDatabase>() {\r
-            @Mock\r
-            public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID, String action) {\r
-               ServiceRecipe rec = new ServiceRecipe();\r
-               return rec;\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,\r
-                               String serviceType, String vnfType, String vfModuleType, String networkType,\r
-                               String requestDetails){ \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
-        \r
+                       @Mock\r
+                       public OperationStatus getOperationStatusByServiceName(\r
+                                       String serviceName) {\r
+                               OperationStatus operationStatus = new OperationStatus();\r
+                               return operationStatus;\r
+                       }\r
+               };\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public Service getServiceByModelName(String modelName) {\r
+                               Service svc = new Service();\r
+                               return svc;\r
+                       }\r
+               };\r
+\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,\r
+                                       String action) {\r
+                               ServiceRecipe rec = new ServiceRecipe();\r
+                               return rec;\r
+                       }\r
+               };\r
+\r
+               new MockUp<RequestClientFactory>() {\r
+                       @Mock\r
+                       public RequestClient getRequestClient(String orchestrationURI,\r
+                                       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,\r
+                                       String serviceInstanceId, String vnfId, String vfModuleId,\r
+                                       String volumeGroupId, String networkId, String configurationId, String serviceType,\r
+                                       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,\r
+                                               "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
+\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
-               String request = "{\"service\":{\"name\":\"service\",\"description\":\"so_test1\",\"serviceDefId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"templateId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"parameters\":{\"domainHost\":\"localhost\",\"nodeTemplateName\":\"modelName:v3\",\"nodeType\":\"service\",\"globalSubscriberId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"subscriberName\":\"NEED THIS UUI - AAI\",\"requestParameters\":{\"subscriptionServiceType\":\"MOG\",\"userParams\":[{\"name\":\"someUserParam\",\"value\":\"someValue\"},{\"name\":\"segments\",\"value\":\"value\"},{\"name\":\"nsParameters\",\"value\":\"othervalue\"}]}}}}";\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
                Response resp = instance.createE2EServiceInstance(request, "v3");\r
                String respStr = resp.getEntity().toString();\r
-               assertTrue(respStr.indexOf("Exception while creating record in DB null") != -1);\r
+               assertTrue(respStr.contains("SVC2000"));\r
        }\r
-       \r
+\r
        @Test\r
-       public void createE2EServiceInstanceTestBpelHTTPExceptionWithNullREsponseBody(){\r
+       public void createE2EServiceInstanceTestBpelHTTPExceptionWithNullREsponseBody() {\r
                new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
-               return null;\r
-            }\r
-        };\r
-        new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            public int updateInfraStatus (String requestId, String requestStatus, long progress, String lastModifiedBy) {\r
-               return 0;\r
-            }\r
-        };\r
-        new MockUp<CatalogDatabase>() {\r
-            @Mock\r
-            public Service getServiceByModelName (String modelName) {\r
-               Service svc = new Service();\r
-               return svc;\r
-            }\r
-        };\r
-        \r
-        new MockUp<CatalogDatabase>() {\r
-            @Mock\r
-            public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID, String action) {\r
-               ServiceRecipe rec = new ServiceRecipe();\r
-               return rec;\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,\r
-                               String serviceType, String vnfType, String vfModuleType, String networkType,\r
-                               String requestDetails){ \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\":\"\",\"message\":\"success\"}";\r
-               InputStream instream = new ByteArrayInputStream(body.getBytes());\r
-               entity.setContent(instream);\r
-               resp.setEntity(entity);\r
-               return resp;\r
-            }\r
-        };\r
-        \r
+                       @Mock\r
+                       public OperationStatus getOperationStatusByServiceName(\r
+                                       String serviceName) {\r
+                               OperationStatus operationStatus = new OperationStatus();\r
+                               return operationStatus;\r
+                       }\r
+               };\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public Service getServiceByModelName(String modelName) {\r
+                               Service svc = new Service();\r
+                               return svc;\r
+                       }\r
+               };\r
+\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,\r
+                                       String action) {\r
+                               ServiceRecipe rec = new ServiceRecipe();\r
+                               return rec;\r
+                       }\r
+               };\r
+\r
+               new MockUp<RequestClientFactory>() {\r
+                       @Mock\r
+                       public RequestClient getRequestClient(String orchestrationURI,\r
+                                       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,\r
+                                       String serviceInstanceId, String vnfId, String vfModuleId,\r
+                                       String volumeGroupId, String networkId, String configurationId, String serviceType,\r
+                                       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,\r
+                                               "test response");\r
+                               BasicHttpEntity entity = new BasicHttpEntity();\r
+                               String body = "{\"response\":\"\",\"message\":\"success\"}";\r
+                               InputStream instream = new ByteArrayInputStream(body.getBytes());\r
+                               entity.setContent(instream);\r
+                               resp.setEntity(entity);\r
+                               return resp;\r
+                       }\r
+               };\r
+\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
-               String request = "{\"service\":{\"name\":\"service\",\"description\":\"so_test1\",\"serviceDefId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"templateId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"parameters\":{\"domainHost\":\"localhost\",\"nodeTemplateName\":\"modelName:v3\",\"nodeType\":\"service\",\"globalSubscriberId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"subscriberName\":\"NEED THIS UUI - AAI\",\"requestParameters\":{\"subscriptionServiceType\":\"MOG\",\"userParams\":[{\"name\":\"someUserParam\",\"value\":\"someValue\"},{\"name\":\"segments\",\"value\":\"value\"},{\"name\":\"nsParameters\",\"value\":\"othervalue\"}]}}}}";\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
                Response resp = instance.createE2EServiceInstance(request, "v3");\r
                String respStr = resp.getEntity().toString();\r
-               assertTrue(respStr.indexOf("Exception while creating record in DB null") != -1);\r
+               assertTrue(respStr.contains("SVC2000"));\r
        }\r
-       \r
+\r
        @Test\r
-       public void createE2EServiceInstanceTestNullBPELResponse(){\r
+       public void createE2EServiceInstanceTestNullBPELResponse() {\r
                new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
-               return null;\r
-            }\r
-        };\r
-        new MockUp<CatalogDatabase>() {\r
-            @Mock\r
-            public Service getServiceByModelName (String modelName) {\r
-               Service svc = new Service();\r
-               return svc;\r
-            }\r
-        };\r
-        \r
-        new MockUp<CatalogDatabase>() {\r
-            @Mock\r
-            public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID, String action) {\r
-               ServiceRecipe rec = new ServiceRecipe();\r
-               return rec;\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,\r
-                               String serviceType, String vnfType, String vfModuleType, String networkType,\r
-                               String requestDetails){ \r
-               HttpResponse resp = null;\r
-               return resp;\r
-            }\r
-        };\r
-        \r
+                       @Mock\r
+                       public OperationStatus getOperationStatusByServiceName(\r
+                                       String serviceName) {\r
+                               OperationStatus operationStatus = new OperationStatus();\r
+                               return operationStatus;\r
+                       }\r
+               };\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public Service getServiceByModelName(String modelName) {\r
+                               Service svc = new Service();\r
+                               return svc;\r
+                       }\r
+               };\r
+\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,\r
+                                       String action) {\r
+                               ServiceRecipe rec = new ServiceRecipe();\r
+                               return rec;\r
+                       }\r
+               };\r
+\r
+               new MockUp<RequestClientFactory>() {\r
+                       @Mock\r
+                       public RequestClient getRequestClient(String orchestrationURI,\r
+                                       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,\r
+                                       String serviceInstanceId, String vnfId, String vfModuleId,\r
+                                       String volumeGroupId, String networkId, String configurationId, String serviceType,\r
+                                       String vnfType, String vfModuleType, String networkType,\r
+                                       String requestDetails, String recipeParamXsd) {\r
+                               HttpResponse resp = null;\r
+                               return resp;\r
+                       }\r
+               };\r
+\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
-               String request = "{\"service\":{\"name\":\"service\",\"description\":\"so_test1\",\"serviceDefId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"templateId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"parameters\":{\"domainHost\":\"localhost\",\"nodeTemplateName\":\"modelName:v3\",\"nodeType\":\"service\",\"globalSubscriberId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"subscriberName\":\"NEED THIS UUI - AAI\",\"requestParameters\":{\"subscriptionServiceType\":\"MOG\",\"userParams\":[{\"name\":\"someUserParam\",\"value\":\"someValue\"},{\"name\":\"segments\",\"value\":\"value\"},{\"name\":\"nsParameters\",\"value\":\"othervalue\"}]}}}}";\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
                Response resp = instance.createE2EServiceInstance(request, "v3");\r
                String respStr = resp.getEntity().toString();\r
-               assertTrue(respStr.indexOf("Exception while creating record in DB null") != -1);\r
+               assertTrue(respStr.contains("SVC2000"));\r
        }\r
-       \r
+\r
        @Test\r
-       public void createE2EServiceInstanceTestBPMNNullREsponse(){\r
+       public void createE2EServiceInstanceTestBPMNNullREsponse() {\r
                new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
-               return null;\r
-            }\r
-        };\r
-        new MockUp<CatalogDatabase>() {\r
-            @Mock\r
-            public Service getServiceByModelName (String modelName) {\r
-               Service svc = new Service();\r
-               return svc;\r
-            }\r
-        };\r
-        \r
-        new MockUp<CatalogDatabase>() {\r
-            @Mock\r
-            public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID, String action) {\r
-               ServiceRecipe rec = new ServiceRecipe();\r
-               return rec;\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 camundaReqXML, String requestId,\r
-                               String requestTimeout, String schemaVersion, String serviceInstanceId, String action){\r
-               HttpResponse resp = null;\r
-               return resp;\r
-            }\r
-        };\r
-        \r
+                       @Mock\r
+                       public OperationStatus getOperationStatusByServiceName(\r
+                                       String serviceName) {\r
+                               OperationStatus operationStatus = new OperationStatus();\r
+                               return operationStatus;\r
+                       }\r
+               };\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public Service getServiceByModelName(String modelName) {\r
+                               Service svc = new Service();\r
+                               return svc;\r
+                       }\r
+               };\r
+\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,\r
+                                       String action) {\r
+                               ServiceRecipe rec = new ServiceRecipe();\r
+                               return rec;\r
+                       }\r
+               };\r
+\r
+               new MockUp<RequestClientFactory>() {\r
+                       @Mock\r
+                       public RequestClient getRequestClient(String orchestrationURI,\r
+                                       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 camundaReqXML, String requestId,\r
+                                       String requestTimeout, String schemaVersion,\r
+                                       String serviceInstanceId, String action) {\r
+                               HttpResponse resp = null;\r
+                               return resp;\r
+                       }\r
+               };\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
-               String request = "{\"service\":{\"name\":\"service\",\"description\":\"so_test1\",\"serviceDefId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"templateId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"parameters\":{\"domainHost\":\"localhost\",\"nodeTemplateName\":\"modelName:v3\",\"nodeType\":\"service\",\"globalSubscriberId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"subscriberName\":\"NEED THIS UUI - AAI\",\"requestParameters\":{\"subscriptionServiceType\":\"MOG\",\"userParams\":[{\"name\":\"someUserParam\",\"value\":\"someValue\"},{\"name\":\"segments\",\"value\":\"value\"},{\"name\":\"nsParameters\",\"value\":\"othervalue\"}]}}}}";\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
                Response resp = instance.createE2EServiceInstance(request, "v3");\r
                String respStr = resp.getEntity().toString();\r
-               assertTrue(respStr.indexOf("Exception while creating record in DB null") != -1);\r
+               assertTrue(respStr.contains("SVC2000"));\r
        }\r
-       \r
+\r
        @Test\r
-       public void createE2EServiceInstanceTestNullBpmn(){\r
+       public void createE2EServiceInstanceTestNullBpmn() {\r
                new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
-               return null;\r
-            }\r
-        };\r
-        new MockUp<CatalogDatabase>() {\r
-            @Mock\r
-            public Service getServiceByModelName (String modelName) {\r
-               Service svc = new Service();\r
-               return svc;\r
-            }\r
-        };\r
-        \r
-        new MockUp<CatalogDatabase>() {\r
-            @Mock\r
-            public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID, String action) {\r
-               ServiceRecipe rec = new ServiceRecipe();\r
-               return rec;\r
-            }\r
-        };\r
+                       @Mock\r
+                       public OperationStatus getOperationStatusByServiceName(\r
+                                       String serviceName) {\r
+                               OperationStatus operationStatus = new OperationStatus();\r
+                               return operationStatus;\r
+                       }\r
+               };\r
+\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public Service getServiceByModelName(String modelName) {\r
+                               Service svc = new Service();\r
+                               return svc;\r
+                       }\r
+               };\r
+\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,\r
+                                       String action) {\r
+                               ServiceRecipe rec = new ServiceRecipe();\r
+                               return rec;\r
+                       }\r
+               };\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
-               String request = "{\"service\":{\"name\":\"service\",\"description\":\"so_test1\",\"serviceDefId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"templateId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"parameters\":{\"domainHost\":\"localhost\",\"nodeTemplateName\":\"modelName:v3\",\"nodeType\":\"service\",\"globalSubscriberId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"subscriberName\":\"NEED THIS UUI - AAI\",\"requestParameters\":{\"subscriptionServiceType\":\"MOG\",\"userParams\":[{\"name\":\"someUserParam\",\"value\":\"someValue\"},{\"name\":\"segments\",\"value\":\"value\"},{\"name\":\"nsParameters\",\"value\":\"othervalue\"}]}}}}";\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
                Response resp = instance.createE2EServiceInstance(request, "v3");\r
                String respStr = resp.getEntity().toString();\r
-               assertTrue(respStr.indexOf("Exception while creating record in DB null") != -1);\r
+               assertTrue(respStr.contains("SVC2000"));\r
        }\r
-       \r
+\r
        @Test\r
-       public void createE2EServiceInstanceTestNullReceipe(){\r
+       public void createE2EServiceInstanceTestNullReceipe() {\r
                new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
-               return null;\r
-            }\r
-        };\r
+                       @Mock\r
+                       public OperationStatus getOperationStatusByServiceName(\r
+                                       String serviceName) {\r
+                               OperationStatus operationStatus = new OperationStatus();\r
+                               return operationStatus;\r
+                       }\r
+               };\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
+\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
-               String request = "{\"service\":{\"name\":\"service\",\"description\":\"so_test1\",\"serviceDefId\":\"modelInvariantId value from SDC?\",\"templateId\":\"modelVersionId value from SDC??\",\"parameters\":{\"domainHost\":\"localhost\",\"nodeTemplateName\":\"modelName:v3\",\"nodeType\":\"service\",\"globalSubscriberId\":\"NEED THIS UUI - AAI\",\"subscriberName\":\"NEED THIS UUI - AAI\",\"requestParameters\":{\"subscriptionServiceType\":\"MOG\",\"userParams\":[{\"name\":\"someUserParam\",\"value\":\"someValue\"},{\"name\":\"segments\",\"value\":\"value\"},{\"name\":\"nsParameters\",\"value\":\"othervalue\"}]}}}}";\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
                Response resp = instance.createE2EServiceInstance(request, "v3");\r
                String respStr = resp.getEntity().toString();\r
-               //assertTrue(respStr.indexOf("Recipe could not be retrieved from catalog DB null") != -1);\r
-               assertTrue(true);\r
+               assertTrue(respStr.contains("SVC2000"));\r
        }\r
-       \r
+\r
        @Test\r
-       public void createE2EServiceInstanceTestNullDBResponse(){\r
+       public void createE2EServiceInstanceTestNullDBResponse() {\r
+\r
                new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
-               return null;\r
-            }\r
-        };\r
+                       @Mock\r
+                       public OperationStatus getOperationStatusByServiceName(\r
+                                       String serviceName) {\r
+                               OperationStatus operationStatus = new OperationStatus();\r
+                               return operationStatus;\r
+                       }\r
+               };\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
+\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
-               String request = "{\"service\":{\"name\":\"service\",\"description\":\"so_test1\",\"serviceDefId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"templateId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"parameters\":{\"domainHost\":\"localhost\",\"nodeTemplateName\":\"modelName:v3\",\"nodeType\":\"service\",\"globalSubscriberId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"subscriberName\":\"NEED THIS UUI - AAI\",\"requestParameters\":{\"subscriptionServiceType\":\"MOG\",\"userParams\":[{\"name\":\"someUserParam\",\"value\":\"someValue\"},{\"name\":\"segments\",\"value\":\"value\"},{\"name\":\"nsParameters\",\"value\":\"othervalue\"}]}}}}";\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
                Response resp = instance.createE2EServiceInstance(request, "v3");\r
                String respStr = resp.getEntity().toString();\r
-               //assertTrue(respStr.indexOf("Recipe could not be retrieved from catalog DB ") !=-1);\r
-               assertTrue(true);\r
+               assertTrue(respStr.contains("SVC2000"));\r
        }\r
-       \r
+\r
        @Test\r
-       public void createE2EServiceInstanceTestInvalidRequest(){\r
+       public void createE2EServiceInstanceTestInvalidRequest() {\r
                new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
-               List<InfraActiveRequests> activeReqlist = new ArrayList<>();\r
-               InfraActiveRequests req = new InfraActiveRequests();\r
-               req.setAaiServiceId("39493992");\r
-               \r
-               activeReqlist.add(req);\r
-                return activeReqlist;\r
-            }\r
-        };\r
+                       @Mock\r
+                       public OperationStatus getOperationStatusByServiceName(\r
+                                       String serviceName) {\r
+                               OperationStatus operationStatus = new OperationStatus();\r
+                               return operationStatus;\r
+                       }\r
+               };\r
+\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
-               String request = "{\"service\":{\"name\":\"service\",\"description\":\"so_test1\",\"serviceDefId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"templateId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"parameters\":{\"domainHost\":\"localhost\",\"nodeTemplateName\":\"modelName:v3\",\"nodeType\":\"service\",\"globalSubscriberId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"subscriberName\":\"NEED THIS UUI - AAI\",\"requestParameters\":{\"subscriptionServiceType\":\"MOG\",\"userParams\":[{\"name\":\"someUserParam\",\"value\":\"someValue\"},{\"name\":\"segments\",\"value\":\"value\"},{\"name\":\"nsParameters\",\"value\":\"othervalue\"}]}}}}";\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
                Response resp = instance.createE2EServiceInstance(request, "v3");\r
                String respStr = resp.getEntity().toString();\r
-               assertTrue(respStr.indexOf("The existing request must finish or be cleaned up before proceeding.") != -1);\r
+               assertTrue(respStr.contains("SVC2000"));\r
        }\r
-       \r
+\r
        @Test\r
-       public void createE2EServiceInstanceTestEmptyDBQuery(){\r
-               new MockUp<RequestsDatabase>() {\r
-            @Mock\r
-            private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
-                return Collections.EMPTY_LIST;\r
-            }\r
-        };\r
+       public void createE2EServiceInstanceTestEmptyDBQuery() {\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
+\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
-               String request = "{\"service\":{\"name\":\"service\",\"description\":\"so_test1\",\"serviceDefId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"templateId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"parameters\":{\"domainHost\":\"localhost\",\"nodeTemplateName\":\"modelName:v3\",\"nodeType\":\"service\",\"globalSubscriberId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"subscriberName\":\"NEED THIS UUI - AAI\",\"requestParameters\":{\"subscriptionServiceType\":\"MOG\",\"userParams\":[{\"name\":\"someUserParam\",\"value\":\"someValue\"},{\"name\":\"segments\",\"value\":\"value\"},{\"name\":\"nsParameters\",\"value\":\"othervalue\"}]}}}}";\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
                Response resp = instance.createE2EServiceInstance(request, "v3");\r
                String respStr = resp.getEntity().toString();\r
-               //assertTrue(respStr.indexOf("Recipe could not be retrieved from catalog DB ") != -1);\r
-               assertTrue(true);\r
+               assertTrue(respStr.contains("SVC2000"));\r
+               // assertTrue(true);\r
        }\r
-       \r
+\r
        @Test\r
-       public void createE2EServiceInstanceTestDBQueryFail(){\r
+       public void createE2EServiceInstanceTestDBQueryFail() {\r
+               new MockUp<RequestsDatabase>() {\r
+                       @Mock\r
+                       public OperationStatus getOperationStatusByServiceName(\r
+                                       String serviceName) {\r
+                               OperationStatus operationStatus = new OperationStatus();\r
+                               return operationStatus;\r
+                       }\r
+               };\r
+\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
-               String request = "{\"service\":{\"name\":\"service\",\"description\":\"so_test1\",\"serviceDefId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"templateId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"parameters\":{\"domainHost\":\"localhost\",\"nodeTemplateName\":\"modelName:v3\",\"nodeType\":\"service\",\"globalSubscriberId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"subscriberName\":\"NEED THIS UUI - AAI\",\"requestParameters\":{\"subscriptionServiceType\":\"MOG\",\"userParams\":[{\"name\":\"someUserParam\",\"value\":\"someValue\"},{\"name\":\"segments\",\"value\":\"value\"},{\"name\":\"nsParameters\",\"value\":\"othervalue\"}]}}}}";\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
                Response resp = instance.createE2EServiceInstance(request, "v3");\r
                String respStr = resp.getEntity().toString();\r
-               assertTrue(respStr.indexOf("SVC2000") != -1);\r
+               assertTrue(respStr.contains("SVC2000"));\r
        }\r
-       \r
+\r
        @Test\r
-       public void createE2EServiceInstanceTestForEmptyRequest(){\r
+       public void createE2EServiceInstanceTestForEmptyRequest() {\r
+\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
                String request = "";\r
                Response resp = instance.createE2EServiceInstance(request, "v3");\r
                String respStr = resp.getEntity().toString();\r
-               assertTrue(respStr.indexOf("Mapping of request to JSON object failed.  No content to map to Object due to end of input") != -1);\r
+               assertTrue(respStr\r
+            .contains("Mapping of request to JSON object failed.  No content to map to Object due to end of input"));\r
+       }\r
+\r
+       @Ignore // 1802 merge\r
+       @Test\r
+       public void deleteE2EServiceInstanceTestNormal() {\r
+               E2EServiceInstances instance = new E2EServiceInstances();\r
+               String request = "{\"globalSubscriberId\":\"299392392\",\"serviceType\":\"VoLTE\"}";\r
+               Response resp = instance.deleteE2EServiceInstance(request, "v3",\r
+                               "12345678");\r
+               String respStr = resp.getEntity().toString();\r
+               assertTrue(respStr.contains("SVC1000"));\r
+       }\r
+\r
+       @Test\r
+       public void getE2EServiceInstanceTest() {\r
+\r
+               new MockUp<RequestsDatabase>() {\r
+                       @Mock\r
+                       public OperationStatus getOperationStatus(String serviceId,\r
+                                       String operationId) {\r
+                               OperationStatus os = new OperationStatus();\r
+                               os.setOperation("");\r
+                               os.setOperationContent("");\r
+                               os.setOperationId("123456");\r
+                               os.setProgress("");\r
+                               os.setServiceId("12345");\r
+                               os.setServiceName("VoLTE");\r
+                               os.setReason("");\r
+                               os.setResult("");\r
+                               os.setUserId("");\r
+                               return os;\r
+                       }\r
+               };\r
+\r
+               E2EServiceInstances instance = new E2EServiceInstances();\r
+               Response resp = instance\r
+                               .getE2EServiceInstances("12345", "v3", "123456");\r
+\r
        }\r
        \r
        @Test\r
-       public void deleteE2EServiceInstanceTestNormal(){\r
+       public void updateE2EServiceInstanceTestNormal() {\r
+               new MockUp<RequestsDatabase>() {\r
+                       @Mock\r
+                       public OperationStatus getOperationStatusByServiceId(\r
+                                       String serviceID) {\r
+                               OperationStatus operationStatus = new OperationStatus();\r
+                               operationStatus.setProgress("100");\r
+                               return operationStatus;\r
+                       }\r
+               };\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public Service getServiceByModelName(String modelName) {\r
+                               Service svc = new Service();\r
+                               return svc;\r
+                       }\r
+               };\r
+\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,\r
+                                       String action) {\r
+                               ServiceRecipe rec = new ServiceRecipe();\r
+                               return rec;\r
+                       }\r
+               };\r
+\r
+               new MockUp<RequestClientFactory>() {\r
+                       @Mock\r
+                       public RequestClient getRequestClient(String orchestrationURI,\r
+                                       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,\r
+                                       String serviceInstanceId, String vnfId, String vfModuleId,\r
+                                       String volumeGroupId, String networkId, String configurationId, String serviceType,\r
+                                       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, 202,\r
+                                               "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
+\r
+               E2EServiceInstances instance = new E2EServiceInstances();\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
+               Response resp = instance.updateE2EServiceInstance(request, "v3", "12345");\r
+               String respStr = resp.getEntity().toString();\r
+               assertTrue(respStr.contains("success"));\r
+       }\r
+       \r
+       @Test\r
+       public void updateE2EServiceInstanceTestChkStatusFalse() {\r
+               new MockUp<RequestsDatabase>() {\r
+                       @Mock\r
+                       public OperationStatus getOperationStatusByServiceId(\r
+                                       String serviceID) {\r
+                               OperationStatus operationStatus = new OperationStatus();\r
+                               return operationStatus;\r
+                       }\r
+               };\r
+               new MockUp<E2EServiceInstances>() {\r
+                       @Mock\r
+                       private void createOperationStatusRecordForError(Action action,\r
+                                       String requestId) throws MsoDatabaseException {\r
+\r
+                       }\r
+               };\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public Service getServiceByModelName(String modelName) {\r
+                               Service svc = new Service();\r
+                               return svc;\r
+                       }\r
+               };\r
+\r
+               new MockUp<CatalogDatabase>() {\r
+                       @Mock\r
+                       public ServiceRecipe getServiceRecipeByModelUUID(String modelUUID,\r
+                                       String action) {\r
+                               ServiceRecipe rec = new ServiceRecipe();\r
+                               return rec;\r
+                       }\r
+               };\r
+\r
+               new MockUp<RequestClientFactory>() {\r
+                       @Mock\r
+                       public RequestClient getRequestClient(String orchestrationURI,\r
+                                       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,\r
+                                       String serviceInstanceId, String vnfId, String vfModuleId,\r
+                                       String volumeGroupId, String networkId, String configurationId, String serviceType,\r
+                                       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, 202,\r
+                                               "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
+\r
                E2EServiceInstances instance = new E2EServiceInstances();\r
-               String request = "{\"service\":{\"name\":\"service\",\"description\":\"so_test1\",\"serviceDefId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"templateId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"parameters\":{\"domainHost\":\"localhost\",\"nodeTemplateName\":\"modelName:v3\",\"nodeType\":\"service\",\"globalSubscriberId\":\"4050083f-465f-4838-af1e-47a545222ad1\",\"subscriberName\":\"NEED THIS UUI - AAI\",\"requestParameters\":{\"subscriptionServiceType\":\"MOG\",\"userParams\":[{\"name\":\"someUserParam\",\"value\":\"someValue\"},{\"name\":\"segments\",\"value\":\"value\"},{\"name\":\"nsParameters\",\"value\":\"othervalue\"}]}}}}";\r
-               Response resp = instance.deleteE2EServiceInstance(request, "v3", "12345678");\r
+               String request = "{\"service\":{\"name\":\"so_test4\",\"description\":\"so_test2\",\"serviceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561519\",\"templateId\":\"592f9437-a9c0-4303-b9f6-c445bb7e9814\",\"parameters\":{\"globalSubscriberId\":\"123457\",\"subscriberName\":\"Customer1\",\"serviceType\":\"voLTE\",\"templateName\":\"voLTE Service:1.0\",\"resources\":[{\"resourceName\":\"vIMS\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-vBAS-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}},{\"vnfProfileId\":\"zte-vMME-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad0\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"vEPC\",\"resourceDefId\":\"61c3e96e-0970-4871-b6e0-3b6de7561516\",\"resourceId\":\"62c3e96e-0970-4871-b6e0-3b6de7561512\",\"nsParameters\":{\"locationConstraints\":[{\"vnfProfileId\":\"zte-CSCF-1.0\",\"locationConstraints\":{\"vimId\":\"4050083f-465f-4838-af1e-47a545222ad1\"}}],\"additionalParamForNs\":{}}},{\"resourceName\":\"underlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561513\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561514\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}},{\"resourceName\":\"overlayvpn\",\"resourceDefId\":\"60c3e96e-0970-4871-b6e0-3b6de7561517\",\"resourceId\":\"60c3e96e-0970-4871-b6e0-3b6de7561518\",\"nsParameters\":{\"locationConstraints\":[],\"additionalParamForNs\":{\"externalDataNetworkName\":\"Flow_out_net\",\"m6000_mng_ip\":\"181.18.20.2\",\"externalCompanyFtpDataNetworkName\":\"Flow_out_net\",\"externalPluginManageNetworkName\":\"plugin_net_2014\",\"externalManageNetworkName\":\"mng_net_2017\",\"sfc_data_network\":\"sfc_data_net_2016\",\"NatIpRange\":\"210.1.1.10-210.1.1.20\",\"location\":\"4050083f-465f-4838-af1e-47a545222ad0\",\"sdncontroller\":\"9b9f02c0-298b-458a-bc9c-be3692e4f35e\"}}}]}}}";\r
+               Response resp = instance.updateE2EServiceInstance(request, "v3", "12345");\r
                String respStr = resp.getEntity().toString();\r
-               assertTrue(respStr.indexOf("SVC2000") != -1);\r
+               assertTrue(respStr.contains("SVC2000"));\r
        }\r
 }\r