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