Add SDNC Resource Create Call Common Recipe
[so.git] / mso-api-handlers / mso-api-handler-infra / src / test / java / org / openecomp / mso / apihandlerinfra / ServiceInstanceTest.java
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * ONAP - SO\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\r
7  * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * you may not use this file except in compliance with the License.\r
9  * You may obtain a copy of the License at\r
10  *\r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  *\r
13  * Unless required by applicable law or agreed to in writing, software\r
14  * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * See the License for the specific language governing permissions and\r
17  * limitations under the License.\r
18  * ============LICENSE_END=========================================================\r
19  */\r
20 \r
21 package org.openecomp.mso.apihandlerinfra;\r
22 \r
23 \r
24 import org.apache.http.HttpResponse;\r
25 import org.apache.http.ProtocolVersion;\r
26 import org.apache.http.entity.BasicHttpEntity;\r
27 import org.apache.http.message.BasicHttpResponse;\r
28 import org.hibernate.criterion.Criterion;\r
29 import org.hibernate.criterion.Order;\r
30 import org.junit.Test;\r
31 \r
32 import javax.ws.rs.core.Response;\r
33 \r
34 import static org.junit.Assert.assertFalse;\r
35 import static org.junit.Assert.assertTrue;\r
36 import static org.junit.Assert.fail;\r
37 \r
38 import java.io.ByteArrayInputStream;\r
39 import java.io.InputStream;\r
40 import java.util.Collections;\r
41 import java.util.HashMap;\r
42 import java.util.List;\r
43 \r
44 import org.openecomp.mso.apihandler.common.CamundaClient;\r
45 import org.openecomp.mso.apihandler.common.RequestClient;\r
46 import org.openecomp.mso.apihandler.common.RequestClientFactory;\r
47 import org.openecomp.mso.db.catalog.CatalogDatabase;\r
48 import org.openecomp.mso.db.catalog.beans.Service;\r
49 import org.openecomp.mso.db.catalog.beans.ServiceRecipe;\r
50 import org.openecomp.mso.properties.MsoJavaProperties;\r
51 import org.openecomp.mso.requestsdb.InfraActiveRequests;\r
52 import org.openecomp.mso.requestsdb.RequestsDatabase;\r
53 \r
54 import mockit.Mock;\r
55 import mockit.MockUp;\r
56 \r
57 public class ServiceInstanceTest {\r
58 \r
59         /*** Create Service Instance Test Cases ***/\r
60         \r
61         @Test\r
62         public void createServiceInstanceInvalidModelInfo(){\r
63                 ServiceInstances instance = new ServiceInstances();\r
64                 String requestJson = "{\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"}}}";\r
65                 Response resp = instance.createServiceInstance(requestJson, "v5");\r
66                 String respBody = resp.getEntity().toString();\r
67                 assertTrue(respBody.indexOf("Error parsing request.  No valid model-info is specified") != -1);\r
68         }\r
69         \r
70         @Test\r
71         public void createServiceInstanceNormalDuplicate(){\r
72                 new MockUp<RequestsDatabase>() {\r
73             @Mock\r
74             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
75                 return new InfraActiveRequests();\r
76             }\r
77         };\r
78                 ServiceInstances instance = new ServiceInstances();\r
79                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
80                                 +"\"vnfInstanceId\":\"1882938\","\r
81                                 +"\"networkInstanceId\":\"1882937\","\r
82                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
83                                 +"\"vfModuleInstanceId\":\"1882934\","\r
84                                 + "\"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
85                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
86                 String respBody = resp.getEntity().toString();\r
87                 assertTrue(respBody.indexOf("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.") != -1);\r
88         }\r
89         \r
90         @Test\r
91         public void createServiceInstanceTestDBException(){\r
92                 new MockUp<RequestsDatabase>() {\r
93             @Mock\r
94             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
95                 return null;\r
96             }\r
97         };\r
98         new MockUp<CatalogDatabase>() {\r
99             @Mock\r
100             public Service getServiceByModelName (String defaultServiceModelName) {\r
101                 Service serviceRecord = new Service();\r
102                 serviceRecord.setModelUUID("2883992993");\r
103                 return serviceRecord;\r
104             }\r
105         };\r
106         new MockUp<CatalogDatabase>() {\r
107             @Mock\r
108             public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
109                 ServiceRecipe recipe =new ServiceRecipe();\r
110                 recipe.setOrchestrationUri("/test/mso");\r
111                 recipe.setRecipeTimeout(1000);\r
112                 return recipe;\r
113             }\r
114         };\r
115                 ServiceInstances instance = new ServiceInstances();\r
116                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
117                                 +"\"vnfInstanceId\":\"1882938\","\r
118                                 +"\"networkInstanceId\":\"1882937\","\r
119                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
120                                 +"\"vfModuleInstanceId\":\"1882934\","\r
121                                 + "\"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
122                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
123                 String respBody = resp.getEntity().toString();\r
124                 assertTrue(respBody.indexOf("Exception while creating record in DB null") != -1);\r
125         }\r
126         \r
127         @Test\r
128         public void createServiceInstanceTestBpmnFail(){\r
129                 new MockUp<RequestsDatabase>() {\r
130             @Mock\r
131             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
132                 return null;\r
133             }\r
134         };\r
135         new MockUp<CatalogDatabase>() {\r
136             @Mock\r
137             public Service getServiceByModelName (String defaultServiceModelName) {\r
138                 Service serviceRecord = new Service();\r
139                 serviceRecord.setModelUUID("2883992993");\r
140                 return serviceRecord;\r
141             }\r
142         };\r
143         new MockUp<CatalogDatabase>() {\r
144             @Mock\r
145             public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
146                 ServiceRecipe recipe =new ServiceRecipe();\r
147                 recipe.setOrchestrationUri("/test/mso");\r
148                 recipe.setRecipeTimeout(1000);\r
149                 return recipe;\r
150             }\r
151         };\r
152         \r
153         new MockUp<MsoRequest>() {\r
154             @Mock\r
155             public void createRequestRecord (Status status, Action action) {\r
156                 return;\r
157             }\r
158         };\r
159                 ServiceInstances instance = new ServiceInstances();\r
160                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
161                                 +"\"vnfInstanceId\":\"1882938\","\r
162                                 +"\"networkInstanceId\":\"1882937\","\r
163                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
164                                 +"\"vfModuleInstanceId\":\"1882934\","\r
165                                 + "\"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
166                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
167                 String respBody = resp.getEntity().toString();\r
168                 assertTrue(respBody.indexOf("Failed calling bpmn properties") != -1);\r
169         }\r
170         \r
171         @Test(expected = Exception.class)\r
172         public void createServiceInstanceTest200Http(){\r
173                 new MockUp<RequestsDatabase>() {\r
174             @Mock\r
175             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
176                 return null;\r
177             }\r
178         };\r
179         new MockUp<CatalogDatabase>() {\r
180             @Mock\r
181             public Service getServiceByModelName (String defaultServiceModelName) {\r
182                 Service serviceRecord = new Service();\r
183                 serviceRecord.setModelUUID("2883992993");\r
184                 return serviceRecord;\r
185             }\r
186         };\r
187         new MockUp<CatalogDatabase>() {\r
188             @Mock\r
189             public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
190                 ServiceRecipe recipe =new ServiceRecipe();\r
191                 recipe.setOrchestrationUri("/test/mso");\r
192                 recipe.setRecipeTimeout(1000);\r
193                 return recipe;\r
194             }\r
195         };\r
196         \r
197         new MockUp<MsoRequest>() {\r
198             @Mock\r
199             public void createRequestRecord (Status status, Action action) {\r
200                 return;\r
201             }\r
202         };\r
203         \r
204         new MockUp<RequestClientFactory>() {\r
205             @Mock\r
206             public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
207                 RequestClient client = new CamundaClient();\r
208                 client.setUrl("/test/url");\r
209                 return client;\r
210             }\r
211         };\r
212         \r
213         new MockUp<CamundaClient>() {\r
214             @Mock\r
215             public HttpResponse post(String requestId, boolean isBaseVfModule,\r
216                                 int recipeTimeout, String requestAction, String serviceInstanceId,\r
217                                 String vnfId, String vfModuleId, String volumeGroupId, String networkId,\r
218                                 String serviceType, String vnfType, String vfModuleType, String networkType,\r
219                                 String requestDetails, String recipeParamXsd){ \r
220                 ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
221                 HttpResponse resp = new BasicHttpResponse(pv,200, "test response");\r
222                 BasicHttpEntity entity = new BasicHttpEntity();\r
223                 String body = "{\"response\":\"success\",\"message\":\"success\"}";\r
224                 InputStream instream = new ByteArrayInputStream(body.getBytes());\r
225                 entity.setContent(instream);\r
226                 resp.setEntity(entity);\r
227                 return resp;\r
228             }\r
229         };\r
230                 ServiceInstances instance = new ServiceInstances();\r
231                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
232                                 +"\"vnfInstanceId\":\"1882938\","\r
233                                 +"\"networkInstanceId\":\"1882937\","\r
234                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
235                                 +"\"vfModuleInstanceId\":\"1882934\","\r
236                                 + "\"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
237                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
238                 String respBody = resp.getEntity().toString();\r
239         }\r
240         \r
241         @Test\r
242         public void createServiceInstanceTest500Http(){\r
243                 new MockUp<RequestsDatabase>() {\r
244             @Mock\r
245             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
246                 return null;\r
247             }\r
248         };\r
249         new MockUp<CatalogDatabase>() {\r
250             @Mock\r
251             public Service getServiceByModelName (String defaultServiceModelName) {\r
252                 Service serviceRecord = new Service();\r
253                 serviceRecord.setModelUUID("2883992993");\r
254                 return serviceRecord;\r
255             }\r
256         };\r
257         new MockUp<CatalogDatabase>() {\r
258             @Mock\r
259             public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
260                 ServiceRecipe recipe =new ServiceRecipe();\r
261                 recipe.setOrchestrationUri("/test/mso");\r
262                 recipe.setRecipeTimeout(1000);\r
263                 return recipe;\r
264             }\r
265         };\r
266         \r
267         new MockUp<MsoRequest>() {\r
268             @Mock\r
269             public void createRequestRecord (Status status, Action action) {\r
270                 return;\r
271             }\r
272         };\r
273         \r
274         new MockUp<RequestClientFactory>() {\r
275             @Mock\r
276             public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
277                 RequestClient client = new CamundaClient();\r
278                 client.setUrl("/test/url");\r
279                 return client;\r
280             }\r
281         };\r
282         \r
283         new MockUp<CamundaClient>() {\r
284             @Mock\r
285             public HttpResponse post(String requestId, boolean isBaseVfModule,\r
286                                 int recipeTimeout, String requestAction, String serviceInstanceId,\r
287                                 String vnfId, String vfModuleId, String volumeGroupId, String networkId,\r
288                                 String serviceType, String vnfType, String vfModuleType, String networkType,\r
289                                 String requestDetails, String recipeParamXsd){ \r
290                 ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
291                 HttpResponse resp = new BasicHttpResponse(pv,500, "test response");\r
292                 BasicHttpEntity entity = new BasicHttpEntity();\r
293                 String body = "{\"response\":\"success\",\"message\":\"success\"}";\r
294                 InputStream instream = new ByteArrayInputStream(body.getBytes());\r
295                 entity.setContent(instream);\r
296                 resp.setEntity(entity);\r
297                 return resp;\r
298             }\r
299         };\r
300                 ServiceInstances instance = new ServiceInstances();\r
301                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
302                                 +"\"vnfInstanceId\":\"1882938\","\r
303                                 +"\"networkInstanceId\":\"1882937\","\r
304                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
305                                 +"\"vfModuleInstanceId\":\"1882934\","\r
306                                 + "\"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
307                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
308                 String respBody = resp.getEntity().toString();\r
309                 assertTrue(respBody.indexOf("Request Failed due to BPEL error with HTTP Status") != -1);\r
310         }\r
311         \r
312         @Test\r
313         public void createServiceInstanceTestVnfModelType(){\r
314                 new MockUp<RequestsDatabase>() {\r
315             @Mock\r
316             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
317                 return null;\r
318             }\r
319         };\r
320         new MockUp<CatalogDatabase>() {\r
321             @Mock\r
322             public Service getServiceByModelName (String defaultServiceModelName) {\r
323                 Service serviceRecord = new Service();\r
324                 serviceRecord.setModelUUID("2883992993");\r
325                 return serviceRecord;\r
326             }\r
327         };\r
328         new MockUp<CatalogDatabase>() {\r
329             @Mock\r
330             public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
331                 ServiceRecipe recipe =new ServiceRecipe();\r
332                 recipe.setOrchestrationUri("/test/mso");\r
333                 recipe.setRecipeTimeout(1000);\r
334                 return recipe;\r
335             }\r
336         };\r
337         \r
338         new MockUp<MsoRequest>() {\r
339             @Mock\r
340             public void createRequestRecord (Status status, Action action) {\r
341                 return;\r
342             }\r
343         };\r
344         \r
345         new MockUp<RequestClientFactory>() {\r
346             @Mock\r
347             public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
348                 RequestClient client = new CamundaClient();\r
349                 client.setUrl("/test/url");\r
350                 return client;\r
351             }\r
352         };\r
353         \r
354         new MockUp<CamundaClient>() {\r
355             @Mock\r
356             public HttpResponse post(String requestId, boolean isBaseVfModule,\r
357                                 int recipeTimeout, String requestAction, String serviceInstanceId,\r
358                                 String vnfId, String vfModuleId, String volumeGroupId, String networkId,\r
359                                 String serviceType, String vnfType, String vfModuleType, String networkType,\r
360                                 String requestDetails, String recipeParamXsd){ \r
361                 ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
362                 HttpResponse resp = new BasicHttpResponse(pv,500, "test response");\r
363                 BasicHttpEntity entity = new BasicHttpEntity();\r
364                 String body = "{\"response\":\"success\",\"message\":\"success\"}";\r
365                 InputStream instream = new ByteArrayInputStream(body.getBytes());\r
366                 entity.setContent(instream);\r
367                 resp.setEntity(entity);\r
368                 return resp;\r
369             }\r
370         };\r
371                 ServiceInstances instance = new ServiceInstances();\r
372                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
373                                 +"\"vnfInstanceId\":\"1882938\","\r
374                                 +"\"networkInstanceId\":\"1882937\","\r
375                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
376                                 +"\"vfModuleInstanceId\":\"1882934\","\r
377                                 + "\"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
378                 Response resp = instance.createServiceInstance(requestJson, "v5");\r
379                 String respBody = resp.getEntity().toString();\r
380                 assertTrue(respBody.indexOf("No valid modelVersionId is specified") != -1);\r
381         }\r
382         \r
383         @Test\r
384         public void createServiceInstanceTestNullHttpResp(){\r
385                 new MockUp<RequestsDatabase>() {\r
386             @Mock\r
387             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
388                 return null;\r
389             }\r
390         };\r
391         new MockUp<CatalogDatabase>() {\r
392             @Mock\r
393             public Service getServiceByModelName (String defaultServiceModelName) {\r
394                 Service serviceRecord = new Service();\r
395                 serviceRecord.setModelUUID("2883992993");\r
396                 return serviceRecord;\r
397             }\r
398         };\r
399         new MockUp<CatalogDatabase>() {\r
400             @Mock\r
401             public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
402                 ServiceRecipe recipe =new ServiceRecipe();\r
403                 recipe.setOrchestrationUri("/test/mso");\r
404                 recipe.setRecipeTimeout(1000);\r
405                 return recipe;\r
406             }\r
407         };\r
408         \r
409         new MockUp<MsoRequest>() {\r
410             @Mock\r
411             public void createRequestRecord (Status status, Action action) {\r
412                 return;\r
413             }\r
414         };\r
415         \r
416         new MockUp<RequestClientFactory>() {\r
417             @Mock\r
418             public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
419                 RequestClient client = new CamundaClient();\r
420                 client.setUrl("/test/url");\r
421                 return client;\r
422             }\r
423         };\r
424         \r
425         new MockUp<CamundaClient>() {\r
426             @Mock\r
427             public HttpResponse post(String requestId, boolean isBaseVfModule,\r
428                                 int recipeTimeout, String requestAction, String serviceInstanceId,\r
429                                 String vnfId, String vfModuleId, String volumeGroupId, String networkId,\r
430                                 String serviceType, String vnfType, String vfModuleType, String networkType,\r
431                                 String requestDetails, String recipeParamXsd){ \r
432                 return null;\r
433             }\r
434         };\r
435                 ServiceInstances instance = new ServiceInstances();\r
436                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
437                                 +"\"vnfInstanceId\":\"1882938\","\r
438                                 +"\"networkInstanceId\":\"1882937\","\r
439                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
440                                 +"\"vfModuleInstanceId\":\"1882934\","\r
441                                 + "\"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
442                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
443                 String respBody = resp.getEntity().toString();\r
444                 assertTrue(respBody.indexOf("bpelResponse is null") != -1);\r
445         }\r
446         \r
447         @Test\r
448         public void createServiceInstanceNormalNullDBFatch(){\r
449                 new MockUp<RequestsDatabase>() {\r
450             @Mock\r
451             private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
452                 return Collections.EMPTY_LIST;\r
453             }\r
454         };\r
455                 ServiceInstances instance = new ServiceInstances();\r
456                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
457                                 +"\"vnfInstanceId\":\"1882938\","\r
458                                 +"\"networkInstanceId\":\"1882937\","\r
459                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
460                                 +"\"vfModuleInstanceId\":\"1882934\","\r
461                                 + "\"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
462                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
463                 String respBody = resp.getEntity().toString();\r
464                 assertTrue(respBody.indexOf("Recipe could not be retrieved from catalog DB null") != -1);\r
465         }\r
466         \r
467         \r
468         @Test\r
469         public void createServiceInstanceInvalidModelVersionId(){\r
470                 ServiceInstances instance = new ServiceInstances();\r
471                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
472                                 +"\"vnfInstanceId\":\"1882938\","\r
473                                 +"\"networkInstanceId\":\"1882937\","\r
474                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
475                                 +"\"vfModuleInstanceId\":\"1882934\","\r
476                                 + "\"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
477                 Response resp = instance.createServiceInstance(requestJson, "v5");\r
478                 String respBody = resp.getEntity().toString();\r
479                 assertTrue(respBody.indexOf("Error parsing request.  No valid modelVersionId is specified") != -1);\r
480         }\r
481         \r
482         @Test\r
483         public void createServiceInstanceNullInstanceName(){\r
484                 ServiceInstances instance = new ServiceInstances();\r
485                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
486                                 +"\"vnfInstanceId\":\"1882938\","\r
487                                 +"\"networkInstanceId\":\"1882937\","\r
488                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
489                                 +"\"vfModuleInstanceId\":\"1882934\","\r
490                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
491                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
492                 String respBody = resp.getEntity().toString();\r
493                 assertTrue(respBody.indexOf("Error parsing request.  No valid instanceName is specified") != -1);\r
494         }\r
495         \r
496         \r
497         @Test\r
498         public void createServiceInstanceNullModelInfo(){\r
499                 ServiceInstances instance = new ServiceInstances();\r
500                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
501                                 +"\"vnfInstanceId\":\"1882938\","\r
502                                 +"\"networkInstanceId\":\"1882937\","\r
503                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
504                                 +"\"vfModuleInstanceId\":\"1882934\","\r
505                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false}}}";\r
506                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
507                 String respBody = resp.getEntity().toString();\r
508                 assertTrue(respBody.indexOf("Error parsing request.  No valid model-info is specified") != -1);\r
509         }\r
510         \r
511         @Test\r
512         public void createServiceInstanceInvalidModelInvariantId(){\r
513                 ServiceInstances instance = new ServiceInstances();\r
514                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
515                                 +"\"vnfInstanceId\":\"1882938\","\r
516                                 +"\"networkInstanceId\":\"1882937\","\r
517                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
518                                 +"\"vfModuleInstanceId\":\"1882934\","\r
519                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"1234\"}}}";\r
520                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
521                 String respBody = resp.getEntity().toString();\r
522                 assertTrue(respBody.indexOf("Error parsing request.  No valid modelType is specified") != -1);\r
523         }\r
524         \r
525         @Test\r
526         public void createServiceInstanceNullModelVersion(){\r
527                 ServiceInstances instance = new ServiceInstances();\r
528                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
529                                 +"\"vnfInstanceId\":\"1882938\","\r
530                                 +"\"networkInstanceId\":\"1882937\","\r
531                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
532                                 +"\"vfModuleInstanceId\":\"1882934\","\r
533                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\"}}}";\r
534                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
535                 String respBody = resp.getEntity().toString();\r
536                 assertTrue(respBody.indexOf("Error parsing request.  No valid modelType is specified") != -1);\r
537         }\r
538         \r
539         \r
540         @Test\r
541         public void createServiceInstanceNullModelType(){\r
542                 ServiceInstances instance = new ServiceInstances();\r
543                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
544                                 +"\"vnfInstanceId\":\"1882938\","\r
545                                 +"\"networkInstanceId\":\"1882937\","\r
546                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
547                                 +"\"vfModuleInstanceId\":\"1882934\","\r
548                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\"}}}";\r
549                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
550                 String respBody = resp.getEntity().toString();\r
551                 assertTrue(respBody.indexOf("Error parsing request.  No valid modelType is specified") != -1);\r
552         }\r
553         \r
554         @Test\r
555         public void createServiceInstanceInvalidModelType(){\r
556                 ServiceInstances instance = new ServiceInstances();\r
557                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
558                                 +"\"vnfInstanceId\":\"1882938\","\r
559                                 +"\"networkInstanceId\":\"1882937\","\r
560                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
561                                 +"\"vfModuleInstanceId\":\"1882934\","\r
562                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"testmodel\"}}}";\r
563                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
564                 String respBody = resp.getEntity().toString();\r
565                 assertTrue(respBody.indexOf("Mapping of request to JSON object failed.") != -1);\r
566         }\r
567         \r
568         @Test\r
569         public void createServiceInstanceNullModelName(){\r
570                 ServiceInstances instance = new ServiceInstances();\r
571                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
572                                 +"\"vnfInstanceId\":\"1882938\","\r
573                                 +"\"networkInstanceId\":\"1882937\","\r
574                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
575                                 +"\"vfModuleInstanceId\":\"1882934\","\r
576                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\"}}}";\r
577                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
578                 String respBody = resp.getEntity().toString();\r
579                 assertTrue(respBody.indexOf("Error parsing request.  No valid modelName is specified") != -1);\r
580         }\r
581         \r
582         @Test\r
583         public void createServiceInstanceInvalidVersionForAutoBuildVfModules(){\r
584                 ServiceInstances instance = new ServiceInstances();\r
585                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
586                                 +"\"vnfInstanceId\":\"1882938\","\r
587                                 +"\"networkInstanceId\":\"1882937\","\r
588                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
589                                 +"\"vfModuleInstanceId\":\"1882934\","\r
590                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": true},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
591                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
592                 String respBody = resp.getEntity().toString();\r
593                 assertTrue(respBody.indexOf("Error parsing request.  AutoBuildVfModule is not valid in the v2 version") != -1);\r
594         }\r
595         \r
596         @Test\r
597         public void createServiceInstanceNullRequestParameter(){\r
598                 ServiceInstances instance = new ServiceInstances();\r
599                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
600                                 +"\"vnfInstanceId\":\"1882938\","\r
601                                 +"\"networkInstanceId\":\"1882937\","\r
602                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
603                                 +"\"vfModuleInstanceId\":\"1882934\","\r
604                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
605                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
606                 String respBody = resp.getEntity().toString();\r
607                 assertTrue(respBody.indexOf("Error parsing request.  No valid subscriptionServiceType is specified") != -1);\r
608         }\r
609         \r
610         @Test\r
611         public void createServiceInstanceNullSubscriptionType(){\r
612                 ServiceInstances instance = new ServiceInstances();\r
613                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
614                                 +"\"vnfInstanceId\":\"1882938\","\r
615                                 +"\"networkInstanceId\":\"1882937\","\r
616                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
617                                 +"\"vfModuleInstanceId\":\"1882934\","\r
618                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
619                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
620                 String respBody = resp.getEntity().toString();\r
621                 assertTrue(respBody.indexOf("Error parsing request.  No valid subscriptionServiceType is specified") != -1);\r
622         }\r
623         \r
624         @Test\r
625         public void createServiceInstanceAnbormalInvalidJson(){\r
626                 ServiceInstances instance = new ServiceInstances();\r
627                 String requestJson = "{\"name\":\"test\"}";\r
628                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
629                 String respStr = resp.getEntity().toString();\r
630                 assertTrue(respStr.indexOf("Mapping of request to JSON object failed") != -1);\r
631         }\r
632         \r
633         /*** Activate Service Instance Test Cases ***/\r
634         \r
635         @Test\r
636         public void activateServiceInstanceAnbormalInvalidJson(){\r
637                 ServiceInstances instance = new ServiceInstances();\r
638                 String requestJson = "{\"name\":\"test\"}";\r
639                 Response resp = instance.activateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
640                 String respStr = resp.getEntity().toString();\r
641                 assertTrue(respStr.indexOf("Mapping of request to JSON object failed") != -1);\r
642         }\r
643         \r
644         @Test\r
645         public void activateServiceInstanceInvalidModelVersionId(){\r
646                 ServiceInstances instance = new ServiceInstances();\r
647                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
648                                 +"\"vnfInstanceId\":\"1882938\","\r
649                                 +"\"networkInstanceId\":\"1882937\","\r
650                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
651                                 +"\"vfModuleInstanceId\":\"1882934\","\r
652                                 + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d37\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
653                 Response resp = instance.activateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
654                 String respStr = resp.getEntity().toString();\r
655                 assertTrue(respStr.indexOf("Error parsing request.  No valid modelVersionId in relatedInstance is specified") != -1);\r
656         }\r
657         \r
658         @Test\r
659         public void activateServiceInstanceInvalidServiceInstanceId(){\r
660                 ServiceInstances instance = new ServiceInstances();\r
661                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
662                                 +"\"vnfInstanceId\":\"1882938\","\r
663                                 +"\"networkInstanceId\":\"1882937\","\r
664                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
665                                 +"\"vfModuleInstanceId\":\"1882934\","\r
666                                 + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d37\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
667                 Response resp = instance.activateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
668                 String respStr = resp.getEntity().toString();\r
669                 assertTrue(respStr.indexOf("Error parsing request.  No valid serviceInstanceId matching the serviceInstanceId in request URI is specified") != -1);\r
670         }\r
671         \r
672         @Test\r
673         public void activateServiceInstanceTestNormal(){\r
674                 ServiceInstances instance = new ServiceInstances();\r
675                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
676                                 +"\"vnfInstanceId\":\"1882938\","\r
677                                 +"\"networkInstanceId\":\"1882937\","\r
678                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
679                                 +"\"vfModuleInstanceId\":\"1882934\","\r
680                                 + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
681                 Response resp = instance.activateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
682                 String respStr = resp.getEntity().toString();\r
683                 assertTrue(respStr.indexOf("SVC2000") != -1);\r
684         }\r
685         \r
686         /*** Deactivate Service Instance Test Cases ***/\r
687         \r
688         @Test\r
689         public void deactivateServiceInstanceAnbormalInvalidJson(){\r
690                 ServiceInstances instance = new ServiceInstances();\r
691                 String requestJson = "{\"name\":\"test\"}";\r
692                 Response resp = instance.deactivateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
693                 String respStr = resp.getEntity().toString();\r
694                 assertTrue(respStr.indexOf("Mapping of request to JSON object failed") != -1);\r
695         }\r
696         \r
697         @Test\r
698         public void deactivateServiceInstanceInvalidModelVersionId(){\r
699                 ServiceInstances instance = new ServiceInstances();\r
700                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
701                                 +"\"vnfInstanceId\":\"1882938\","\r
702                                 +"\"networkInstanceId\":\"1882937\","\r
703                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
704                                 +"\"vfModuleInstanceId\":\"1882934\","\r
705                                 + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d37\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
706                 Response resp = instance.deactivateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
707                 String respStr = resp.getEntity().toString();\r
708                 assertTrue(respStr.indexOf("Error parsing request.  No valid modelVersionId in relatedInstance is specified") != -1);\r
709         }\r
710         \r
711         @Test\r
712         public void deactivateServiceInstanceInvalidServiceInstanceId(){\r
713                 ServiceInstances instance = new ServiceInstances();\r
714                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
715                                 +"\"vnfInstanceId\":\"1882938\","\r
716                                 +"\"networkInstanceId\":\"1882937\","\r
717                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
718                                 +"\"vfModuleInstanceId\":\"1882934\","\r
719                                 + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d37\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
720                 Response resp = instance.deactivateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
721                 String respStr = resp.getEntity().toString();\r
722                 assertTrue(respStr.indexOf("Error parsing request.  No valid serviceInstanceId matching the serviceInstanceId in request URI is specified") != -1);\r
723         }\r
724         \r
725         @Test\r
726         public void deactivateServiceInstanceTestNormal(){\r
727                 ServiceInstances instance = new ServiceInstances();\r
728                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
729                                 +"\"vnfInstanceId\":\"1882938\","\r
730                                 +"\"networkInstanceId\":\"1882937\","\r
731                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
732                                 +"\"vfModuleInstanceId\":\"1882934\","\r
733                                 + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
734                 Response resp = instance.deactivateServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
735                 String respStr = resp.getEntity().toString();\r
736                 assertTrue(respStr.indexOf("SVC2000") != -1);\r
737         }\r
738         \r
739         /*** Delete Service Instance Test Cases ***/\r
740         \r
741         @Test\r
742         public void deleteServiceInstanceAnbormalInvalidJson(){\r
743                 ServiceInstances instance = new ServiceInstances();\r
744                 String requestJson = "{\"name\":\"test\"}";\r
745                 Response resp = instance.deleteServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
746                 String respStr = resp.getEntity().toString();\r
747                 assertTrue(respStr.indexOf("Mapping of request to JSON object failed") != -1);\r
748         }\r
749         \r
750         @Test\r
751         public void deleteServiceInstanceInvalidModelVersionId(){\r
752                 ServiceInstances instance = new ServiceInstances();\r
753                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
754                                 +"\"vnfInstanceId\":\"1882938\","\r
755                                 +"\"networkInstanceId\":\"1882937\","\r
756                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
757                                 +"\"vfModuleInstanceId\":\"1882934\","\r
758                                 + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d37\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
759                 Response resp = instance.deleteServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
760                 String respStr = resp.getEntity().toString();\r
761                 assertTrue(respStr.indexOf("Error parsing request.  No valid modelVersionId is specified") != -1);\r
762         }\r
763         \r
764         @Test\r
765         public void deleteServiceInstanceInvalidServiceInstanceId(){\r
766                 ServiceInstances instance = new ServiceInstances();\r
767                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
768                                 +"\"vnfInstanceId\":\"1882938\","\r
769                                 +"\"networkInstanceId\":\"1882937\","\r
770                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
771                                 +"\"vfModuleInstanceId\":\"1882934\","\r
772                                 + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d37\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\"}}}";\r
773                 Response resp = instance.deleteServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
774                 String respStr = resp.getEntity().toString();\r
775                 assertTrue(respStr.indexOf("Error parsing request.  No valid modelVersionId is specified") != -1);\r
776         }\r
777         \r
778         @Test\r
779         public void deleteServiceInstanceTestNormal(){\r
780                 ServiceInstances instance = new ServiceInstances();\r
781                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
782                                 +"\"vnfInstanceId\":\"1882938\","\r
783                                 +"\"networkInstanceId\":\"1882937\","\r
784                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
785                                 +"\"vfModuleInstanceId\":\"1882934\","\r
786                                 + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}";\r
787                 Response resp = instance.deleteServiceInstance(requestJson, "v5","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
788                 String respStr = resp.getEntity().toString();\r
789                 assertTrue(respStr.indexOf("SVC2000") != -1);\r
790         }\r
791         \r
792         /*** Create Vnf Instance Test Cases ***/\r
793         \r
794         @Test\r
795         public void createVNFInstanceTestInvalidCloudConfiguration(){\r
796                 ServiceInstances instance = new ServiceInstances();\r
797                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
798                                 +"\"vnfInstanceId\":\"1882938\","\r
799                                 +"\"networkInstanceId\":\"1882937\","\r
800                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
801                                 +"\"vfModuleInstanceId\":\"1882934\","\r
802                                 + "\"requestDetails\": {\"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}";\r
803                 Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
804                 String respStr = resp.getEntity().toString();\r
805                 assertTrue(respStr.indexOf("Error parsing request.  No valid cloudConfiguration is specified") != -1);\r
806         }\r
807         \r
808         @Test\r
809         public void createVNFInstanceTestInvalidIcpCloudRegionId(){\r
810                 ServiceInstances instance = new ServiceInstances();\r
811                 String s = "\"cloudConfiguration\":{}";\r
812                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
813                                 +"\"vnfInstanceId\":\"1882938\","\r
814                                 +"\"networkInstanceId\":\"1882937\","\r
815                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
816                                 +"\"vfModuleInstanceId\":\"1882934\","\r
817                                 + "\"requestDetails\": {\"cloudConfiguration\":{}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}";\r
818                 Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
819                 String respStr = resp.getEntity().toString();\r
820                 assertTrue(respStr.indexOf("Error parsing request.  No valid lcpCloudRegionId is specified") != -1);\r
821         }\r
822         \r
823         @Test\r
824         public void createVNFInstanceTestInvalidTenantId(){\r
825                 ServiceInstances instance = new ServiceInstances();\r
826                 String s = "\"cloudConfiguration\":{}";\r
827                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
828                                 +"\"vnfInstanceId\":\"1882938\","\r
829                                 +"\"networkInstanceId\":\"1882937\","\r
830                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
831                                 +"\"vfModuleInstanceId\":\"1882934\","\r
832                                 + "\"requestDetails\": {\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\"}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}";\r
833                 Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
834                 String respStr = resp.getEntity().toString();\r
835                 assertTrue(respStr.indexOf("Error parsing request.  No valid tenantId is specified") != -1);\r
836         }\r
837         \r
838         @Test\r
839         public void createVNFInstanceTestNormal(){\r
840                 ServiceInstances instance = new ServiceInstances();\r
841                 String s = "\"cloudConfiguration\":{}";\r
842                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
843                                 +"\"vnfInstanceId\":\"1882938\","\r
844                                 +"\"networkInstanceId\":\"1882937\","\r
845                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
846                                 +"\"vfModuleInstanceId\":\"1882934\","\r
847                                 + "\"requestDetails\": {\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\",\"tenantId\":\"2910032\"}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}";\r
848                 Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
849                 String respStr = resp.getEntity().toString();\r
850                 assertTrue(respStr.indexOf("SVC2000") != -1);\r
851         }\r
852         \r
853         /*** Replace Vnf Instance Test Cases ***/\r
854         @Test\r
855         public void replaceVNFInstanceTestNormal(){\r
856                 ServiceInstances instance = new ServiceInstances();\r
857                 String s = "\"cloudConfiguration\":{}";\r
858                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
859                                 +"\"vnfInstanceId\":\"1882938\","\r
860                                 +"\"networkInstanceId\":\"1882937\","\r
861                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
862                                 +"\"vfModuleInstanceId\":\"1882934\","\r
863                                 + "\"requestDetails\": {\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\",\"tenantId\":\"2910032\"}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}";\r
864                 Response resp = instance.replaceVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34","557ea944-c83e-43cf-9ed7-3a354abd6d93");\r
865                 String respStr = resp.getEntity().toString();\r
866                 assertTrue(respStr.indexOf("SVC2000") != -1);\r
867         }\r
868         \r
869         /*** Update Vnf Instance Test Cases ***/\r
870         \r
871         @Test\r
872         public void updateVNFInstanceTestNormal(){\r
873                 ServiceInstances instance = new ServiceInstances();\r
874                 String s = "\"cloudConfiguration\":{}";\r
875                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
876                                 +"\"vnfInstanceId\":\"1882938\","\r
877                                 +"\"networkInstanceId\":\"1882937\","\r
878                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
879                                 +"\"vfModuleInstanceId\":\"1882934\","\r
880                                 + "\"requestDetails\": {\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\",\"tenantId\":\"2910032\"}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}";\r
881                 Response resp = instance.updateVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34","557ea944-c83e-43cf-9ed7-3a354abd6d93");\r
882                 String respStr = resp.getEntity().toString();\r
883                 assertTrue(respStr.indexOf("SVC2000") != -1);\r
884         }\r
885         \r
886         /*** Update Vnf Instance Test Cases ***/\r
887         \r
888         @Test\r
889         public void deleteVNFInstanceTestNormal(){\r
890                 ServiceInstances instance = new ServiceInstances();\r
891                 String s = "\"cloudConfiguration\":{}";\r
892                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
893                                 +"\"vnfInstanceId\":\"1882938\","\r
894                                 +"\"networkInstanceId\":\"1882937\","\r
895                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
896                                 +"\"vfModuleInstanceId\":\"1882934\","\r
897                                 + "\"requestDetails\": {\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\",\"tenantId\":\"2910032\"}, \"relatedInstanceList\" :[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\",\"instanceName\": \"testService\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\": \"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"389823213\"}}}";\r
898                 Response resp = instance.deleteVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34","557ea944-c83e-43cf-9ed7-3a354abd6d93");\r
899                 String respStr = resp.getEntity().toString();\r
900                 assertTrue(respStr.indexOf("SVC2000") != -1);\r
901         }\r
902 }\r