Merge "Reorder modifiers"
[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 static org.junit.Assert.assertTrue;\r
25 \r
26 import java.io.ByteArrayInputStream;\r
27 import java.io.InputStream;\r
28 import java.util.Collections;\r
29 import java.util.HashMap;\r
30 import java.util.List;\r
31 import javax.ws.rs.core.Response;\r
32 import mockit.Mock;\r
33 import mockit.MockUp;\r
34 import org.apache.http.HttpResponse;\r
35 import org.apache.http.ProtocolVersion;\r
36 import org.apache.http.entity.BasicHttpEntity;\r
37 import org.apache.http.message.BasicHttpResponse;\r
38 import org.hibernate.criterion.Criterion;\r
39 import org.hibernate.criterion.Order;\r
40 import org.junit.BeforeClass;\r
41 import org.junit.Ignore;\r
42 import org.junit.Test;\r
43 import org.openecomp.mso.apihandler.common.CamundaClient;\r
44 import org.openecomp.mso.apihandler.common.RequestClient;\r
45 import org.openecomp.mso.apihandler.common.RequestClientFactory;\r
46 import org.openecomp.mso.apihandler.common.RequestClientParamater;\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.db.catalog.beans.VfModule;\r
51 import org.openecomp.mso.db.catalog.beans.VfModuleCustomization;\r
52 import org.openecomp.mso.db.catalog.beans.VnfComponentsRecipe;\r
53 import org.openecomp.mso.db.catalog.beans.VnfRecipe;\r
54 import org.openecomp.mso.db.catalog.beans.VnfResource;\r
55 import org.openecomp.mso.properties.MsoJavaProperties;\r
56 import org.openecomp.mso.properties.MsoPropertiesFactory;\r
57 import org.openecomp.mso.requestsdb.InfraActiveRequests;\r
58 import org.openecomp.mso.requestsdb.RequestsDatabase;\r
59 \r
60 public class ServiceInstanceTest {\r
61 \r
62         /*** Create Service Instance Test Cases ***/\r
63 \r
64         @BeforeClass\r
65         public static void setUp() throws Exception {\r
66                 MsoPropertiesFactory msoPropertiesFactory = new MsoPropertiesFactory();\r
67                 msoPropertiesFactory.removeAllMsoProperties();\r
68                 msoPropertiesFactory.initializeMsoProperties(Constants.MSO_PROP_APIHANDLER_INFRA, "src/test/resources/mso.apihandler-infra.properties");\r
69         }\r
70 \r
71 \r
72         @Test\r
73         public void createServiceInstanceInvalidModelInfo(){\r
74                 ServiceInstances instance = new ServiceInstances();\r
75                 String requestJson = "{\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"}}}";\r
76                 Response resp = instance.createServiceInstance(requestJson, "v5");\r
77                 String respBody = resp.getEntity().toString();\r
78                 assertTrue(respBody.contains("Error parsing request.") && respBody.contains("No valid model-info is specified"));\r
79         }\r
80         \r
81         @Test\r
82         public void createServiceInstanceNormalDuplicate(){\r
83                 new MockUp<RequestsDatabase>() {\r
84             @Mock\r
85             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
86                 return new InfraActiveRequests();\r
87             }\r
88         };\r
89                 ServiceInstances instance = new ServiceInstances();\r
90                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
91                                 +"\"vnfInstanceId\":\"1882938\","\r
92                                 +"\"networkInstanceId\":\"1882937\","\r
93                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
94                                 +"\"vfModuleInstanceId\":\"1882934\","\r
95                                 + "\"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
96                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
97                 String respBody = resp.getEntity().toString();\r
98                 assertTrue(respBody.contains(\r
99             "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
100         }\r
101         \r
102         @Test\r
103         public void createServiceInstanceTestDBException(){\r
104                 new MockUp<RequestsDatabase>() {\r
105             @Mock\r
106             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
107                 return null;\r
108             }\r
109         };\r
110         new MockUp<CatalogDatabase>() {\r
111             @Mock\r
112             public Service getServiceByModelName (String defaultServiceModelName) {\r
113                 Service serviceRecord = new Service();\r
114                 serviceRecord.setModelUUID("2883992993");\r
115                 return serviceRecord;\r
116             }\r
117         };\r
118         new MockUp<CatalogDatabase>() {\r
119             @Mock\r
120             public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
121                 ServiceRecipe recipe =new ServiceRecipe();\r
122                 recipe.setOrchestrationUri("/test/mso");\r
123                 recipe.setRecipeTimeout(1000);\r
124                 return recipe;\r
125             }\r
126         };\r
127                 ServiceInstances instance = new ServiceInstances();\r
128                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
129                                 +"\"vnfInstanceId\":\"1882938\","\r
130                                 +"\"networkInstanceId\":\"1882937\","\r
131                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
132                                 +"\"vfModuleInstanceId\":\"1882934\","\r
133                                 + "\"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
134                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
135                 String respBody = resp.getEntity().toString();\r
136                 assertTrue(respBody.contains("Exception while creating record in DB") && respBody.contains("NullPointerException"));\r
137         }\r
138         \r
139         @Ignore // 1802 merge\r
140         @Test\r
141         public void createServiceInstanceTestBpmnFail(){\r
142                 new MockUp<RequestsDatabase>() {\r
143             @Mock\r
144             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
145                 return null;\r
146             }\r
147         };\r
148         new MockUp<CatalogDatabase>() {\r
149             @Mock\r
150             public Service getServiceByModelName (String defaultServiceModelName) {\r
151                 Service serviceRecord = new Service();\r
152                 serviceRecord.setModelUUID("2883992993");\r
153                 return serviceRecord;\r
154             }\r
155         };\r
156         new MockUp<CatalogDatabase>() {\r
157             @Mock\r
158             public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
159                 ServiceRecipe recipe =new ServiceRecipe();\r
160                 recipe.setOrchestrationUri("/test/mso");\r
161                 recipe.setRecipeTimeout(1000);\r
162                 return recipe;\r
163             }\r
164         };\r
165         \r
166         new MockUp<MsoRequest>() {\r
167             @Mock\r
168             public void createRequestRecord (Status status, Action action) {\r
169                 return;\r
170             }\r
171         };\r
172                 ServiceInstances instance = new ServiceInstances();\r
173                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
174                                 +"\"vnfInstanceId\":\"1882938\","\r
175                                 +"\"networkInstanceId\":\"1882937\","\r
176                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
177                                 +"\"vfModuleInstanceId\":\"1882934\","\r
178                                 + "\"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
179                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
180                 String respBody = resp.getEntity().toString();\r
181                 assertTrue(respBody.contains("Failed calling bpmn properties"));  // was: Request Failed due to BPEL error\r
182         }\r
183         \r
184         @Test(expected = Exception.class)\r
185         public void createServiceInstanceTest200Http(){\r
186                 new MockUp<RequestsDatabase>() {\r
187             @Mock\r
188             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
189                 return null;\r
190             }\r
191         };\r
192         new MockUp<CatalogDatabase>() {\r
193             @Mock\r
194             public Service getServiceByModelName (String defaultServiceModelName) {\r
195                 Service serviceRecord = new Service();\r
196                 serviceRecord.setModelUUID("2883992993");\r
197                 return serviceRecord;\r
198             }\r
199         };\r
200         new MockUp<CatalogDatabase>() {\r
201             @Mock\r
202             public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
203                 ServiceRecipe recipe =new ServiceRecipe();\r
204                 recipe.setOrchestrationUri("/test/mso");\r
205                 recipe.setRecipeTimeout(1000);\r
206                 return recipe;\r
207             }\r
208         };\r
209         \r
210         new MockUp<MsoRequest>() {\r
211             @Mock\r
212             public void createRequestRecord (Status status, Action action) {\r
213                 return;\r
214             }\r
215         };\r
216         \r
217         new MockUp<RequestClientFactory>() {\r
218             @Mock\r
219             public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
220                 RequestClient client = new CamundaClient();\r
221                 client.setUrl("/test/url");\r
222                 return client;\r
223             }\r
224         };\r
225         \r
226         new MockUp<CamundaClient>() {\r
227             @Mock\r
228             public HttpResponse post(RequestClientParamater requestClientParamater) {\r
229                 ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
230                 HttpResponse resp = new BasicHttpResponse(pv,200, "test response");\r
231                 BasicHttpEntity entity = new BasicHttpEntity();\r
232                 String body = "{\"content\":\"success\",\"message\":\"success\"}";\r
233                 InputStream instream = new ByteArrayInputStream(body.getBytes());\r
234                 entity.setContent(instream);\r
235                 resp.setEntity(entity);\r
236                 return resp;\r
237             }\r
238         };\r
239                 ServiceInstances instance = new ServiceInstances();\r
240                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
241                                 +"\"vnfInstanceId\":\"1882938\","\r
242                                 +"\"networkInstanceId\":\"1882937\","\r
243                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
244                                 +"\"vfModuleInstanceId\":\"1882934\","\r
245                                 + "\"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
246                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
247                 String respBody = resp.getEntity().toString();\r
248         }\r
249         \r
250         @Test\r
251         public void createServiceInstanceTest500Http(){\r
252                 new MockUp<RequestsDatabase>() {\r
253             @Mock\r
254             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
255                 return null;\r
256             }\r
257         };\r
258         new MockUp<CatalogDatabase>() {\r
259             @Mock\r
260             public Service getServiceByModelName (String defaultServiceModelName) {\r
261                 Service serviceRecord = new Service();\r
262                 serviceRecord.setModelUUID("2883992993");\r
263                 return serviceRecord;\r
264             }\r
265         };\r
266         new MockUp<CatalogDatabase>() {\r
267             @Mock\r
268             public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
269                 ServiceRecipe recipe =new ServiceRecipe();\r
270                 recipe.setOrchestrationUri("/test/mso");\r
271                 recipe.setRecipeTimeout(1000);\r
272                 return recipe;\r
273             }\r
274         };\r
275         \r
276         new MockUp<MsoRequest>() {\r
277             @Mock\r
278             public void createRequestRecord (Status status, Action action) {\r
279                 return;\r
280             }\r
281         };\r
282         \r
283         new MockUp<RequestClientFactory>() {\r
284             @Mock\r
285             public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
286                 RequestClient client = new CamundaClient();\r
287                 client.setUrl("/test/url");\r
288                 return client;\r
289             }\r
290         };\r
291         \r
292         new MockUp<CamundaClient>() {\r
293             @Mock\r
294             public HttpResponse post(RequestClientParamater requestClientParamater) {\r
295                 ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
296                 HttpResponse resp = new BasicHttpResponse(pv,500, "test response");\r
297                 BasicHttpEntity entity = new BasicHttpEntity();\r
298                 String body = "{\"content\":\"success\",\"message\":\"success\"}";\r
299                 InputStream instream = new ByteArrayInputStream(body.getBytes());\r
300                 entity.setContent(instream);\r
301                 resp.setEntity(entity);\r
302                 return resp;\r
303             }\r
304         };\r
305                 ServiceInstances instance = new ServiceInstances();\r
306                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
307                                 +"\"vnfInstanceId\":\"1882938\","\r
308                                 +"\"networkInstanceId\":\"1882937\","\r
309                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
310                                 +"\"vfModuleInstanceId\":\"1882934\","\r
311                                 + "\"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
312                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
313                 String respBody = resp.getEntity().toString();\r
314                 assertTrue(respBody.contains("Request Failed due to BPEL error with HTTP Status"));\r
315         }\r
316         \r
317         @Test\r
318         public void createServiceInstanceTestVnfModelType(){\r
319                 new MockUp<RequestsDatabase>() {\r
320             @Mock\r
321             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
322                 return null;\r
323             }\r
324         };\r
325         new MockUp<CatalogDatabase>() {\r
326             @Mock\r
327             public Service getServiceByModelName (String defaultServiceModelName) {\r
328                 Service serviceRecord = new Service();\r
329                 serviceRecord.setModelUUID("2883992993");\r
330                 return serviceRecord;\r
331             }\r
332         };\r
333         new MockUp<CatalogDatabase>() {\r
334             @Mock\r
335             public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
336                 ServiceRecipe recipe =new ServiceRecipe();\r
337                 recipe.setOrchestrationUri("/test/mso");\r
338                 recipe.setRecipeTimeout(1000);\r
339                 return recipe;\r
340             }\r
341         };\r
342         \r
343         new MockUp<MsoRequest>() {\r
344             @Mock\r
345             public void createRequestRecord (Status status, Action action) {\r
346                 return;\r
347             }\r
348         };\r
349         \r
350         new MockUp<RequestClientFactory>() {\r
351             @Mock\r
352             public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
353                 RequestClient client = new CamundaClient();\r
354                 client.setUrl("/test/url");\r
355                 return client;\r
356             }\r
357         };\r
358         \r
359         new MockUp<CamundaClient>() {\r
360             @Mock\r
361             public HttpResponse post(RequestClientParamater requestClientParamater) {\r
362                 ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
363                 HttpResponse resp = new BasicHttpResponse(pv,500, "test response");\r
364                 BasicHttpEntity entity = new BasicHttpEntity();\r
365                 String body = "{\"content\":\"success\",\"message\":\"success\"}";\r
366                 InputStream instream = new ByteArrayInputStream(body.getBytes());\r
367                 entity.setContent(instream);\r
368                 resp.setEntity(entity);\r
369                 return resp;\r
370             }\r
371         };\r
372                 ServiceInstances instance = new ServiceInstances();\r
373                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
374                                 +"\"vnfInstanceId\":\"1882938\","\r
375                                 +"\"networkInstanceId\":\"1882937\","\r
376                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
377                                 +"\"vfModuleInstanceId\":\"1882934\","\r
378                                 + "\"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
379                 Response resp = instance.createServiceInstance(requestJson, "v5");\r
380                 String respBody = resp.getEntity().toString();\r
381                 assertTrue(respBody.contains("No valid modelVersionId is specified"));\r
382         }\r
383         \r
384         @Test\r
385         public void createServiceInstanceTestNullHttpResp(){\r
386                 new MockUp<RequestsDatabase>() {\r
387             @Mock\r
388             public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
389                 return null;\r
390             }\r
391         };\r
392         new MockUp<CatalogDatabase>() {\r
393             @Mock\r
394             public Service getServiceByModelName (String defaultServiceModelName) {\r
395                 Service serviceRecord = new Service();\r
396                 serviceRecord.setModelUUID("2883992993");\r
397                 return serviceRecord;\r
398             }\r
399         };\r
400         new MockUp<CatalogDatabase>() {\r
401             @Mock\r
402             public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
403                 ServiceRecipe recipe =new ServiceRecipe();\r
404                 recipe.setOrchestrationUri("/test/mso");\r
405                 recipe.setRecipeTimeout(1000);\r
406                 return recipe;\r
407             }\r
408         };\r
409         \r
410         new MockUp<MsoRequest>() {\r
411             @Mock\r
412             public void createRequestRecord (Status status, Action action) {\r
413                 return;\r
414             }\r
415         };\r
416         \r
417         new MockUp<RequestClientFactory>() {\r
418             @Mock\r
419             public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
420                 RequestClient client = new CamundaClient();\r
421                 client.setUrl("/test/url");\r
422                 return client;\r
423             }\r
424         };\r
425         \r
426         new MockUp<CamundaClient>() {\r
427             @Mock\r
428             public HttpResponse post(RequestClientParamater requestClientParamater){\r
429                 return null;\r
430             }\r
431         };\r
432                 ServiceInstances instance = new ServiceInstances();\r
433                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
434                                 +"\"vnfInstanceId\":\"1882938\","\r
435                                 +"\"networkInstanceId\":\"1882937\","\r
436                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
437                                 +"\"vfModuleInstanceId\":\"1882934\","\r
438                                 + "\"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
439                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
440                 String respBody = resp.getEntity().toString();\r
441                 assertTrue(respBody.contains("bpelResponse is null"));\r
442         }\r
443         \r
444         @Test\r
445         public void createServiceInstanceNormalNullDBFatch(){\r
446                 new MockUp<RequestsDatabase>() {\r
447             @Mock\r
448             private List<InfraActiveRequests> executeInfraQuery (List <Criterion> criteria, Order order) {\r
449                 return Collections.EMPTY_LIST;\r
450             }\r
451         };\r
452                 ServiceInstances instance = new ServiceInstances();\r
453                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
454                                 +"\"vnfInstanceId\":\"1882938\","\r
455                                 +"\"networkInstanceId\":\"1882937\","\r
456                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
457                                 +"\"vfModuleInstanceId\":\"1882934\","\r
458                                 + "\"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
459                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
460                 String respBody = resp.getEntity().toString();\r
461                 assertTrue(respBody.contains("Recipe could not be retrieved from catalog DB null"));\r
462         }\r
463         \r
464         \r
465         @Test\r
466         public void createServiceInstanceInvalidModelVersionId(){\r
467                 ServiceInstances instance = new ServiceInstances();\r
468                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
469                                 +"\"vnfInstanceId\":\"1882938\","\r
470                                 +"\"networkInstanceId\":\"1882937\","\r
471                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
472                                 +"\"vfModuleInstanceId\":\"1882934\","\r
473                                 + "\"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
474                 Response resp = instance.createServiceInstance(requestJson, "v5");\r
475                 String respBody = resp.getEntity().toString();\r
476                 assertTrue(respBody.contains("Error parsing request.") && respBody.contains("No valid modelVersionId is specified"));\r
477         }\r
478         \r
479         @Ignore // 1802 merge\r
480         @Test\r
481         public void createServiceInstanceNullInstanceName(){\r
482                 ServiceInstances instance = new ServiceInstances();\r
483                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
484                                 +"\"vnfInstanceId\":\"1882938\","\r
485                                 +"\"networkInstanceId\":\"1882937\","\r
486                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
487                                 +"\"vfModuleInstanceId\":\"1882934\","\r
488                                 + "\"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
489                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
490                 String respBody = resp.getEntity().toString();\r
491                 assertTrue(respBody.contains("Error parsing request.") && respBody.contains("No valid instanceName is specified"));\r
492         }\r
493         \r
494         \r
495         @Test\r
496         public void createServiceInstanceNullModelInfo(){\r
497                 ServiceInstances instance = new ServiceInstances();\r
498                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
499                                 +"\"vnfInstanceId\":\"1882938\","\r
500                                 +"\"networkInstanceId\":\"1882937\","\r
501                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
502                                 +"\"vfModuleInstanceId\":\"1882934\","\r
503                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false}}}";\r
504                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
505                 String respBody = resp.getEntity().toString();\r
506                 assertTrue(respBody.contains("Error parsing request.") && respBody.contains("No valid model-info is specified"));\r
507         }\r
508         \r
509         @Test\r
510         public void createServiceInstanceInvalidModelInvariantId(){\r
511                 ServiceInstances instance = new ServiceInstances();\r
512                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
513                                 +"\"vnfInstanceId\":\"1882938\","\r
514                                 +"\"networkInstanceId\":\"1882937\","\r
515                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
516                                 +"\"vfModuleInstanceId\":\"1882934\","\r
517                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"1234\"}}}";\r
518                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
519                 String respBody = resp.getEntity().toString();\r
520                 assertTrue(respBody.contains("Error parsing request.") && respBody.contains("No valid modelType is specified"));\r
521         }\r
522         \r
523         @Test\r
524         public void createServiceInstanceNullModelVersion(){\r
525                 ServiceInstances instance = new ServiceInstances();\r
526                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
527                                 +"\"vnfInstanceId\":\"1882938\","\r
528                                 +"\"networkInstanceId\":\"1882937\","\r
529                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
530                                 +"\"vfModuleInstanceId\":\"1882934\","\r
531                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\"}}}";\r
532                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
533                 String respBody = resp.getEntity().toString();\r
534                 assertTrue(respBody.contains("Error parsing request.") && respBody.contains("No valid modelType is specified"));\r
535         }\r
536         \r
537         \r
538         @Test\r
539         public void createServiceInstanceNullModelType(){\r
540                 ServiceInstances instance = new ServiceInstances();\r
541                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
542                                 +"\"vnfInstanceId\":\"1882938\","\r
543                                 +"\"networkInstanceId\":\"1882937\","\r
544                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
545                                 +"\"vfModuleInstanceId\":\"1882934\","\r
546                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\"}}}";\r
547                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
548                 String respBody = resp.getEntity().toString();\r
549                 assertTrue(respBody.contains("Error parsing request.") && respBody.contains("No valid modelType is specified"));\r
550         }\r
551         \r
552         @Test\r
553         public void createServiceInstanceInvalidModelType(){\r
554                 ServiceInstances instance = new ServiceInstances();\r
555                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
556                                 +"\"vnfInstanceId\":\"1882938\","\r
557                                 +"\"networkInstanceId\":\"1882937\","\r
558                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
559                                 +"\"vfModuleInstanceId\":\"1882934\","\r
560                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"testmodel\"}}}";\r
561                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
562                 String respBody = resp.getEntity().toString();\r
563                 assertTrue(respBody.contains("Mapping of request to JSON object failed."));\r
564         }\r
565         \r
566         @Ignore // 1802 merge\r
567         @Test\r
568         public void createServiceInstanceNullModelName(){\r
569                 ServiceInstances instance = new ServiceInstances();\r
570                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
571                                 +"\"vnfInstanceId\":\"1882938\","\r
572                                 +"\"networkInstanceId\":\"1882937\","\r
573                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
574                                 +"\"vfModuleInstanceId\":\"1882934\","\r
575                                 + "\"requestDetails\": {\"requestInfo\": { \"source\": \"VID\", \"requestorId\": \"zz9999\"},\"requestParameters\": { \"autoBuildVfModules\": false,\"subscriptionServiceType\":\"test\"},\"modelInfo\":{\"modelInvariantId\": \"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\"}}}";\r
576                 Response resp = instance.createServiceInstance(requestJson, "v2");\r
577                 String respBody = resp.getEntity().toString();\r
578                 assertTrue(respBody.contains("Error parsing request.") && respBody.contains("No valid modelName is specified"));\r
579         }\r
580         \r
581         @Ignore // 1802 merge\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,\"subscriptionServiceType\":\"test\"},\"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.contains("Error parsing request.") && respBody.contains("AutoBuildVfModule is not valid in the v2 version"));\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.contains("Error parsing request.") && respBody.contains("No valid subscriptionServiceType is specified"));\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.contains("Error parsing request.") && respBody.contains("No valid subscriptionServiceType is specified"));\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.contains("Mapping of request to JSON object failed"));\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.contains("Mapping of request to JSON object failed"));\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.contains("Error parsing request.") && respStr.contains("No valid modelVersionId in relatedInstance is specified"));\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.contains("Error parsing request.") && respStr.contains("No valid serviceInstanceId matching the serviceInstanceId in request URI is specified"));\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.contains("SVC2000"));\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.contains("Mapping of request to JSON object failed"));\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.contains("Error parsing request.") && respStr.contains("No valid modelVersionId in relatedInstance is specified"));\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.contains("Error parsing request.") && respStr.contains("No valid serviceInstanceId matching the serviceInstanceId in request URI is specified"));\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.contains("SVC2000"));\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.contains("Mapping of request to JSON object failed"));\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.contains("Error parsing request.") && respStr.contains("No valid modelVersionId is specified"));\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.contains("Error parsing request.") && respStr.contains("No valid modelVersionId is specified"));\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.contains("SVC2000"));\r
790         }\r
791         \r
792         /*** Create Vnf Instance Test Cases ***/\r
793         \r
794         @Ignore // 1802 merge\r
795         @Test\r
796         public void createVNFInstanceTestInvalidCloudConfiguration(){\r
797                 ServiceInstances instance = new ServiceInstances();\r
798                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
799                                 +"\"vnfInstanceId\":\"1882938\","\r
800                                 +"\"networkInstanceId\":\"1882937\","\r
801                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
802                                 +"\"vfModuleInstanceId\":\"1882934\","\r
803                                 + "\"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
804                 Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
805                 String respStr = resp.getEntity().toString();\r
806                 assertTrue(respStr.contains("Error parsing request.") && respStr.contains("No valid cloudConfiguration is specified"));\r
807         }\r
808         \r
809         @Test\r
810         public void createVNFInstanceTestInvalidIcpCloudRegionId(){\r
811                 ServiceInstances instance = new ServiceInstances();\r
812                 String s = "\"cloudConfiguration\":{}";\r
813                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
814                                 +"\"vnfInstanceId\":\"1882938\","\r
815                                 +"\"networkInstanceId\":\"1882937\","\r
816                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
817                                 +"\"vfModuleInstanceId\":\"1882934\","\r
818                                 + "\"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
819                 Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
820                 String respStr = resp.getEntity().toString();\r
821                 assertTrue(respStr.contains("Error parsing request.") && respStr.contains("No valid lcpCloudRegionId is specified"));\r
822         }\r
823         \r
824         @Test\r
825         public void createVNFInstanceTestInvalidTenantId(){\r
826                 ServiceInstances instance = new ServiceInstances();\r
827                 String s = "\"cloudConfiguration\":{}";\r
828                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
829                                 +"\"vnfInstanceId\":\"1882938\","\r
830                                 +"\"networkInstanceId\":\"1882937\","\r
831                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
832                                 +"\"vfModuleInstanceId\":\"1882934\","\r
833                                 + "\"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
834                 Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
835                 String respStr = resp.getEntity().toString();\r
836                 assertTrue(respStr.contains("Error parsing request.") && respStr.contains("No valid tenantId is specified"));\r
837         }\r
838         \r
839         @Test\r
840         public void createVNFInstanceTestNormal(){\r
841 \r
842                 new MockUp<RequestsDatabase>() {\r
843                         @Mock\r
844                         public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
845                                 return null;\r
846                         }\r
847                 };\r
848 \r
849                 new MockUp<RequestsDatabase>() {\r
850                         @Mock\r
851                         public int updateInfraStatus (String requestId, String requestStatus, long progress, String lastModifiedBy) {\r
852                                 return 1;\r
853                         }\r
854                 };\r
855 \r
856                 new MockUp<MsoRequest>() {\r
857                         @Mock\r
858                         public void createRequestRecord (Status status, Action action) {\r
859                                 return;\r
860                         }\r
861                 };\r
862 \r
863                 new MockUp<CatalogDatabase>() {\r
864                         @Mock\r
865                         public Service getServiceByModelName (String defaultServiceModelName) {\r
866                                 Service serviceRecord = new Service();\r
867                                 serviceRecord.setModelUUID("2883992993");\r
868                                 return serviceRecord;\r
869                         }\r
870                 };\r
871 \r
872                 new MockUp<CatalogDatabase>() {\r
873                         @Mock\r
874                         public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
875                                 ServiceRecipe recipe =new ServiceRecipe();\r
876                                 recipe.setOrchestrationUri("/test/mso");\r
877                                 recipe.setRecipeTimeout(1000);\r
878                                 return recipe;\r
879                         }\r
880                 };\r
881                 new MockUp<RequestClientFactory>() {\r
882                         @Mock\r
883                         public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
884                                 RequestClient client = new CamundaClient();\r
885                                 client.setUrl("/test/url");\r
886                                 return client;\r
887                         }\r
888                 };\r
889                 new MockUp<CatalogDatabase>() {\r
890                         @Mock\r
891                         public VnfResource getVnfResourceByModelCustomizationId(String modelCustomizationId) {\r
892                                 VnfResource vnfResource = new VnfResource();\r
893                                 return vnfResource;\r
894                         }\r
895                 };\r
896 \r
897                 new MockUp<CatalogDatabase>() {\r
898                         @Mock\r
899                         public VnfRecipe getVnfRecipe (String vnfType, String action) {\r
900                                 VnfRecipe recipe =new VnfRecipe();\r
901                                 recipe.setOrchestrationUri("/test/mso");\r
902                                 recipe.setRecipeTimeout(1000);\r
903                                 return recipe;\r
904                         }\r
905                 };\r
906 \r
907 \r
908                 new MockUp<CamundaClient>() {\r
909                         @Mock\r
910                         public HttpResponse post(RequestClientParamater requestClientParamater) {\r
911                                 ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
912                                 HttpResponse resp = new BasicHttpResponse(pv,200, "test response");\r
913                                 BasicHttpEntity entity = new BasicHttpEntity();\r
914 \r
915                                 final String body = "{\"content\":\"success\",\"message\":\"success\"}";\r
916                                 InputStream instream = new ByteArrayInputStream(body.getBytes());\r
917                                 entity.setContent(instream);\r
918                                 resp.setEntity(entity);\r
919                                 return resp;\r
920                         }\r
921                 };\r
922 \r
923                 ServiceInstances instance = new ServiceInstances();\r
924                 String s = "\"cloudConfiguration\":{}";\r
925                 String requestJson = "{\"serviceInstanceId\":\"1882939\",\"vnfInstanceId\":\"1882938\"," +\r
926                                 "\"networkInstanceId\":\"1882937\",\"volumeGroupInstanceId\":\"1882935\",\"vfModuleInstanceId\":\"1882934\"," +\r
927                                 "\"requestDetails\":{\"cloudConfiguration\":{\"lcpCloudRegionId\":\"2993841\",\"tenantId\":\"2910032\"}," +\r
928                                 "\"relatedInstanceList\":[{\"relatedInstance\":{\"instanceName\":\"testInstance\",\"instanceId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\"," +\r
929                                 "\"modelInfo\":{\"modelInvariantId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"service\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"4839499\"}}}],\"requestInfo\":{\"source\":\"VID\",\"requestorId\":\"zz9999\",\"instanceName\":\"testService\",\"productFamilyId\":\"productFamilyId1\"}," +\r
930                                 "\"requestParameters\":{\"autoBuildVfModules\":false,\"subscriptionServiceType\":\"test\",\"aLaCarte\":false},\"modelInfo\":{\"modelInvariantId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\",\"modelVersion\":\"v2\",\"modelType\":\"vnf\",\"modelName\":\"serviceModel\",\"modelVersionId\":\"288393\",\"modelCustomizationId\":\"557ea944-c83e-43cf-9ed7-3a354abd6d34\"}}}";\r
931                 Response resp = instance.createVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34");\r
932                 String respStr = resp.getEntity().toString();\r
933                 assertTrue(respStr.equals("success"));\r
934         }\r
935         \r
936         /*** Replace Vnf Instance Test Cases ***/\r
937         @Test\r
938         public void replaceVNFInstanceTestNormal(){\r
939                 ServiceInstances instance = new ServiceInstances();\r
940                 String s = "\"cloudConfiguration\":{}";\r
941                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
942                                 +"\"vnfInstanceId\":\"1882938\","\r
943                                 +"\"networkInstanceId\":\"1882937\","\r
944                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
945                                 +"\"vfModuleInstanceId\":\"1882934\","\r
946                                 + "\"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
947                 Response resp = instance.replaceVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34","557ea944-c83e-43cf-9ed7-3a354abd6d93");\r
948                 String respStr = resp.getEntity().toString();\r
949                 assertTrue(respStr.contains("SVC2000"));\r
950         }\r
951         \r
952         /*** Update Vnf Instance Test Cases ***/\r
953         \r
954         @Test\r
955         public void updateVNFInstanceTestNormal(){\r
956                 ServiceInstances instance = new ServiceInstances();\r
957                 String s = "\"cloudConfiguration\":{}";\r
958                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
959                                 +"\"vnfInstanceId\":\"1882938\","\r
960                                 +"\"networkInstanceId\":\"1882937\","\r
961                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
962                                 +"\"vfModuleInstanceId\":\"1882934\","\r
963                                 + "\"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
964                 Response resp = instance.updateVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34","557ea944-c83e-43cf-9ed7-3a354abd6d93");\r
965                 String respStr = resp.getEntity().toString();\r
966                 assertTrue(respStr.contains("SVC2000"));\r
967         }\r
968         \r
969         /*** Update Vnf Instance Test Cases ***/\r
970 \r
971         @Test\r
972         public void deleteVNFInstanceTestNormal(){\r
973                 ServiceInstances instance = new ServiceInstances();\r
974                 String s = "\"cloudConfiguration\":{}";\r
975                 String requestJson = "{\"serviceInstanceId\":\"1882939\","\r
976                                 +"\"vnfInstanceId\":\"1882938\","\r
977                                 +"\"networkInstanceId\":\"1882937\","\r
978                                 +"\"volumeGroupInstanceId\":\"1882935\","\r
979                                 +"\"vfModuleInstanceId\":\"1882934\","\r
980                                 + "\"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
981                 Response resp = instance.deleteVnfInstance(requestJson, "v3","557ea944-c83e-43cf-9ed7-3a354abd6d34","557ea944-c83e-43cf-9ed7-3a354abd6d93");\r
982                 String respStr = resp.getEntity().toString();\r
983                 assertTrue(respStr.contains("SVC2000"));\r
984         }\r
985 \r
986         @Test\r
987         public void createVFModuleTestNormal(){\r
988 \r
989                 new MockUp<RequestsDatabase>() {\r
990                         @Mock\r
991                         public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
992                                 return null;\r
993                         }\r
994                 };\r
995 \r
996                 new MockUp<RequestsDatabase>() {\r
997                         @Mock\r
998                         public int updateInfraStatus (String requestId, String requestStatus, long progress, String lastModifiedBy) {\r
999                                 return 1;\r
1000                         }\r
1001                 };\r
1002 \r
1003                 new MockUp<MsoRequest>() {\r
1004                         @Mock\r
1005                         public void createRequestRecord (Status status, Action action) {\r
1006                                 return;\r
1007                         }\r
1008                 };\r
1009 \r
1010                 new MockUp<CatalogDatabase>() {\r
1011                         @Mock\r
1012                         public Service getServiceByModelName (String defaultServiceModelName) {\r
1013                                 Service serviceRecord = new Service();\r
1014                                 serviceRecord.setModelUUID("2883992993");\r
1015                                 return serviceRecord;\r
1016                         }\r
1017                 };\r
1018 \r
1019                 new MockUp<CatalogDatabase>() {\r
1020                         @Mock\r
1021                         public ServiceRecipe getServiceRecipeByModelUUID (String uuid,String action) {\r
1022                                 ServiceRecipe recipe =new ServiceRecipe();\r
1023                                 recipe.setOrchestrationUri("/test/mso");\r
1024                                 recipe.setRecipeTimeout(1000);\r
1025                                 return recipe;\r
1026                         }\r
1027                 };\r
1028                 new MockUp<RequestClientFactory>() {\r
1029                         @Mock\r
1030                         public RequestClient getRequestClient(String orchestrationURI, MsoJavaProperties props) throws IllegalStateException{\r
1031                                 RequestClient client = new CamundaClient();\r
1032                                 client.setUrl("/test/url");\r
1033                                 return client;\r
1034                         }\r
1035                 };\r
1036                 new MockUp<CatalogDatabase>() {\r
1037                         @Mock\r
1038                         public VnfResource getVnfResourceByModelCustomizationId(String modelCustomizationId) {\r
1039                                 VnfResource vnfResource = new VnfResource();\r
1040                                 return vnfResource;\r
1041                         }\r
1042                 };\r
1043 \r
1044                 new MockUp<CatalogDatabase>() {\r
1045                         @Mock\r
1046                         public VnfComponentsRecipe getVnfComponentsRecipeByVfModuleModelUUId (String vfModuleModelUUId, String vnfComponentType, String action) {\r
1047                                 VnfComponentsRecipe recipe =new VnfComponentsRecipe();\r
1048                                 recipe.setOrchestrationUri("/test/mso");\r
1049                                 recipe.setRecipeTimeout(1000);\r
1050                                 return recipe;\r
1051                         }\r
1052                 };\r
1053                 new MockUp<CatalogDatabase>() {\r
1054                         @Mock\r
1055                         public VfModule getVfModuleByModelUuid(String modelUuid) {\r
1056                                 VfModule vfModule =new VfModule();\r
1057                                 return vfModule;\r
1058                         }\r
1059                 };\r
1060 \r
1061                 new MockUp<CatalogDatabase>() {\r
1062                         @Mock\r
1063                         public VfModuleCustomization getVfModuleCustomizationByModelCustomizationId(String modelCustomizationUuid) {\r
1064                                 VfModuleCustomization vfModuleCustomization =new VfModuleCustomization();\r
1065                                 final VfModule vfModule = new VfModule();\r
1066                                 vfModule.setModelUUID("296e278c-bfa8-496e-b59e-fb1fe715f726");\r
1067                                 vfModuleCustomization.setVfModule(vfModule);\r
1068                                 return vfModuleCustomization;\r
1069                         }\r
1070                 };\r
1071 \r
1072 \r
1073                 new MockUp<CamundaClient>() {\r
1074                         @Mock\r
1075                         public HttpResponse post(RequestClientParamater requestClientParamater){\r
1076                                 ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
1077                                 HttpResponse resp = new BasicHttpResponse(pv,200, "test response");\r
1078                                 BasicHttpEntity entity = new BasicHttpEntity();\r
1079 \r
1080                                 final String body = "{\"content\":\"success\",\"message\":\"success\"}";\r
1081                                 InputStream instream = new ByteArrayInputStream(body.getBytes());\r
1082                                 entity.setContent(instream);\r
1083                                 resp.setEntity(entity);\r
1084                                 return resp;\r
1085                         }\r
1086                 };\r
1087 \r
1088                 ServiceInstances instance = new ServiceInstances();\r
1089                 String s = "\"cloudConfiguration\":{}";\r
1090                 String requestJson = "{\"serviceInstanceId\":\"43b34d6d-1ab2-4c7a-a3a0-5471306550c5\",\"vnfInstanceId\":\"7b1ead4f-ea06-45c6-921e-124061e5eae7\",\"networkInstanceId\":\"1882937\",\"volumeGroupInstanceId\":\"1882935\",\"vfModuleInstanceId\":\"1882934\",\"requestDetails\":{\"requestInfo\":{\"instanceName\":\"vf-inst\",\"source\":\"VID\",\"suppressRollback\":false,\"requestorId\":\"123123\"},\"modelInfo\":{\"modelType\":\"vfModule\",\"modelInvariantId\":\"dde10afa-c732-4f0f-8501-2d2e01ea46ef\",\"modelVersionId\":\"296e278c-bfa8-496e-b59e-fb1fe715f726\",\"modelName\":\"CarrierTosca0::module-1\",\"modelCustomizationId\":\"ce0fdd17-c677-4bb5-b047-97016ec1e403\",\"modelCustomizationName\":\"ce0fdd17-c677-4bb5-b047-97016ec1e403\",\"modelVersion\":\"1.0\"},\"requestParameters\":{\"userParams\":[]},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"EastUS\",\"tenantId\":\"48de34f6-65a1-4d09-84b4-68b011151672\"},\"relatedInstanceList\":[{\"relatedInstance\":{\"instanceId\":\"43b34d6d-1ab2-4c7a-a3a0-5471306550c5\",\"modelInfo\":{\"modelType\":\"service\",\"modelInvariantId\":\"1192c9b7-bc24-42c9-8f11-415dc679be88\",\"modelVersionId\":\"acb8b74b-afe6-4cc2-92c3-0a09961ab77e\",\"modelName\":\"service\",\"modelVersion\":\"1.0\"}}},{\"relatedInstance\":{\"instanceId\":\"7b1ead4f-ea06-45c6-921e-124061e5eae7\",\"modelInfo\":{\"modelType\":\"vnf\",\"modelInvariantId\":\"a545165e-9646-4030-824c-b9d9c66a886a\",\"modelVersionId\":\"a0b6dffe-0de3-4099-8b94-dc05be942914\",\"modelName\":\"vnf-mdoel\",\"modelVersion\":\"1.0\",\"modelCustomizationName\":\"vnf-mdoel 0\"}}}]}}";\r
1091                 Response resp = instance.createVfModuleInstance(requestJson, "v5","43b34d6d-1ab2-4c7a-a3a0-5471306550c5", "7b1ead4f-ea06-45c6-921e-124061e5eae7");\r
1092                 String respStr = resp.getEntity().toString();\r
1093                 assertTrue(respStr.equals("success"));\r
1094         }\r
1095 \r
1096         @Test\r
1097         public void createPortConfigurationTestNormal() {\r
1098 \r
1099                 new MockUp<RequestsDatabase>() {\r
1100                         @Mock\r
1101                         public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
1102                                 return null;\r
1103                         }\r
1104                 };\r
1105 \r
1106                 new MockUp<RequestsDatabase>() {\r
1107                         @Mock\r
1108                         public int updateInfraStatus (String requestId, String requestStatus, long progress, String lastModifiedBy) {\r
1109                                 return 1;\r
1110                         }\r
1111                 };\r
1112 \r
1113                 new MockUp<MsoRequest>() {\r
1114                         @Mock\r
1115                         public void createRequestRecord (Status status, Action action) {\r
1116                                 return;\r
1117                         }\r
1118                 };\r
1119 \r
1120                 new MockUp<CamundaClient>() {\r
1121                         @Mock\r
1122                         public HttpResponse post(RequestClientParamater requestClientParamater) {\r
1123                                 ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);\r
1124                                 HttpResponse resp = new BasicHttpResponse(pv,200, "test response");\r
1125                                 BasicHttpEntity entity = new BasicHttpEntity();\r
1126 \r
1127                                 final String body = "{\"content\":\"success\",\"message\":\"success\"}";\r
1128                                 InputStream instream = new ByteArrayInputStream(body.getBytes());\r
1129                                 entity.setContent(instream);\r
1130                                 resp.setEntity(entity);\r
1131                                 return resp;\r
1132                         }\r
1133                 };\r
1134 \r
1135                 ServiceInstances sir = new ServiceInstances();\r
1136                 String requestJson = "{\"serviceInstanceId\":\"43b34d6d-1ab2-4c7a-a3a0-5471306550c5\",\"vnfInstanceId\":\"7b1ead4f-ea06-45c6-921e-124061e5eae7\",\"networkInstanceId\":\"1882937\",\"volumeGroupInstanceId\":\"1882935\",\"vfModuleInstanceId\":\"1882934\",\"requestDetails\":{\"requestInfo\":{\"instanceName\":\"vf-inst\",\"source\":\"VID\",\"suppressRollback\":false,\"requestorId\":\"123123\"},\"modelInfo\":{\"modelType\":\"vfModule\",\"modelInvariantId\":\"dde10afa-c732-4f0f-8501-2d2e01ea46ef\",\"modelVersionId\":\"296e278c-bfa8-496e-b59e-fb1fe715f726\",\"modelName\":\"CarrierTosca0::module-1\",\"modelCustomizationId\":\"ce0fdd17-c677-4bb5-b047-97016ec1e403\",\"modelCustomizationName\":\"ce0fdd17-c677-4bb5-b047-97016ec1e403\",\"modelVersion\":\"1.0\"},\"requestParameters\":{\"userParams\":[]},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"EastUS\",\"tenantId\":\"48de34f6-65a1-4d09-84b4-68b011151672\"},\"relatedInstanceList\":[{\"relatedInstance\":{\"instanceId\":\"43b34d6d-1ab2-4c7a-a3a0-5471306550c5\",\"modelInfo\":{\"modelType\":\"service\",\"modelInvariantId\":\"1192c9b7-bc24-42c9-8f11-415dc679be88\",\"modelVersionId\":\"acb8b74b-afe6-4cc2-92c3-0a09961ab77e\",\"modelName\":\"service\",\"modelVersion\":\"1.0\"}}},{\"relatedInstance\":{\"instanceId\":\"7b1ead4f-ea06-45c6-921e-124061e5eae7\",\"modelInfo\":{\"modelType\":\"vnf\",\"modelInvariantId\":\"a545165e-9646-4030-824c-b9d9c66a886a\",\"modelVersionId\":\"a0b6dffe-0de3-4099-8b94-dc05be942914\",\"modelName\":\"vnf-mdoel\",\"modelVersion\":\"1.0\",\"modelCustomizationName\":\"vnf-mdoel 0\"}}}]}}";\r
1137                 final Response response = sir.createPortConfiguration(requestJson, "v5", "43b34d6d-1ab2-4c7a-a3a0-5471306550c5");\r
1138         }\r
1139 \r
1140         @Test\r
1141         public void createPortConfigurationTestBlankOrchestrationURI() {\r
1142 \r
1143                 new MockUp<RequestsDatabase>() {\r
1144                         @Mock\r
1145                         public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {\r
1146                                 return null;\r
1147                         }\r
1148                 };\r
1149 \r
1150                 new MockUp<RequestsDatabase>() {\r
1151                         @Mock\r
1152                         public int updateInfraStatus (String requestId, String requestStatus, long progress, String lastModifiedBy) {\r
1153                                 return 1;\r
1154                         }\r
1155                 };\r
1156 \r
1157                 new MockUp<MsoRequest>() {\r
1158                         @Mock\r
1159                         public void createRequestRecord (Status status, Action action) {\r
1160                                 return;\r
1161                         }\r
1162                 };\r
1163 \r
1164                 ServiceInstances sir = new ServiceInstances();\r
1165                 String requestJson = "{\"serviceInstanceId\":\"43b34d6d-1ab2-4c7a-a3a0-5471306550c5\",\"vnfInstanceId\":\"7b1ead4f-ea06-45c6-921e-124061e5eae7\",\"networkInstanceId\":\"1882937\",\"volumeGroupInstanceId\":\"1882935\",\"vfModuleInstanceId\":\"1882934\",\"requestDetails\":{\"requestInfo\":{\"instanceName\":\"vf-inst\",\"source\":\"VID\",\"suppressRollback\":false,\"requestorId\":\"123123\"},\"modelInfo\":{\"modelType\":\"vfModule\",\"modelInvariantId\":\"dde10afa-c732-4f0f-8501-2d2e01ea46ef\",\"modelVersionId\":\"296e278c-bfa8-496e-b59e-fb1fe715f726\",\"modelName\":\"CarrierTosca0::module-1\",\"modelCustomizationId\":\"ce0fdd17-c677-4bb5-b047-97016ec1e403\",\"modelCustomizationName\":\"ce0fdd17-c677-4bb5-b047-97016ec1e403\",\"modelVersion\":\"1.0\"},\"requestParameters\":{\"userParams\":[]},\"cloudConfiguration\":{\"lcpCloudRegionId\":\"EastUS\",\"tenantId\":\"48de34f6-65a1-4d09-84b4-68b011151672\"},\"relatedInstanceList\":[{\"relatedInstance\":{\"instanceId\":\"43b34d6d-1ab2-4c7a-a3a0-5471306550c5\",\"modelInfo\":{\"modelType\":\"service\",\"modelInvariantId\":\"1192c9b7-bc24-42c9-8f11-415dc679be88\",\"modelVersionId\":\"acb8b74b-afe6-4cc2-92c3-0a09961ab77e\",\"modelName\":\"service\",\"modelVersion\":\"1.0\"}}},{\"relatedInstance\":{\"instanceId\":\"7b1ead4f-ea06-45c6-921e-124061e5eae7\",\"modelInfo\":{\"modelType\":\"vnf\",\"modelInvariantId\":\"a545165e-9646-4030-824c-b9d9c66a886a\",\"modelVersionId\":\"a0b6dffe-0de3-4099-8b94-dc05be942914\",\"modelName\":\"vnf-mdoel\",\"modelVersion\":\"1.0\",\"modelCustomizationName\":\"vnf-mdoel 0\"}}}]}}";\r
1166                 final Response response = sir.createPortConfiguration(requestJson, "v5", "43b34d6d-1ab2-4c7a-a3a0-5471306550c5");\r
1167         }\r
1168 }\r