Merge "Reorder modifiers"
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / java / org / openecomp / mso / bpmn / infrastructure / DoCreateVfModuleTest.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.bpmn.infrastructure;\r
22 \r
23 \r
24 import static org.openecomp.mso.bpmn.common.BPMNUtil.getRawVariable;\r
25 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockAAIVfModule;\r
26 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithDepth;\r
27 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfByIdWithPriority;\r
28 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetVfModuleByName;\r
29 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchGenericVnf;\r
30 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPatchVfModuleId;\r
31 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutGenericVnf;\r
32 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutNetwork;\r
33 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockPutVfModuleIdNoResponse;\r
34 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetServiceResourcesCatalogData;\r
35 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.MockGetVnfCatalogDataCustomizationUuid;\r
36 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;\r
37 import static org.openecomp.mso.bpmn.mock.StubResponseSDNCAdapter.mockSDNCAdapter;\r
38 import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockVNFPost;\r
39 \r
40 import java.io.IOException;\r
41 import java.util.HashMap;\r
42 import java.util.Map;\r
43 import java.util.UUID;\r
44 \r
45 import org.camunda.bpm.engine.test.Deployment;\r
46 import org.junit.Assert;\r
47 import org.junit.Test;\r
48 import org.openecomp.mso.bpmn.common.WorkflowTest;\r
49 import org.openecomp.mso.bpmn.mock.FileUtil;\r
50 \r
51 /**\r
52  * Unit tests for DoCreateVfModuleTest.bpmn.\r
53  */\r
54 public class DoCreateVfModuleTest extends WorkflowTest {\r
55         \r
56         private final CallbackSet callbacks = new CallbackSet();\r
57 \r
58         public DoCreateVfModuleTest() throws IOException {\r
59                 callbacks.put("assign", FileUtil.readResourceFile(\r
60                         "__files/VfModularity/SDNCTopologyAssignCallback.xml"));\r
61                 callbacks.put("query", FileUtil.readResourceFile(\r
62                         "__files/VfModularity/SDNCTopologyQueryCallback.xml"));\r
63                 callbacks.put("queryVnf", FileUtil.readResourceFile(\r
64                                 "__files/VfModularity/SDNCTopologyQueryCallbackVnf.xml"));\r
65                 callbacks.put("queryModuleNoVnf", FileUtil.readResourceFile(\r
66                                 "__files/VfModularity/SDNCTopologyQueryCallbackVfModuleNoVnf.xml"));\r
67                 callbacks.put("queryModule", FileUtil.readResourceFile(\r
68                                 "__files/VfModularity/SDNCTopologyQueryCallbackVfModule.xml"));\r
69                 callbacks.put("activate", FileUtil.readResourceFile(\r
70                         "__files/VfModularity/SDNCTopologyActivateCallback.xml"));\r
71                 callbacks.put("vnfCreate", FileUtil.readResourceFile(\r
72                         "__files/VfModularity/VNFAdapterRestCreateCallback.xml"));\r
73         }\r
74 \r
75         /**\r
76          * Test the sunny day scenario.\r
77          */\r
78         @Test   \r
79         \r
80         @Deployment(resources = {\r
81                         "subprocess/DoCreateVfModule.bpmn",\r
82                         "subprocess/SDNCAdapterV1.bpmn",\r
83                         "subprocess/GenericGetVnf.bpmn",\r
84                         "subprocess/VnfAdapterRestV1.bpmn",\r
85                         "subprocess/ConfirmVolumeGroupTenant.bpmn",\r
86                         "subprocess/ConfirmVolumeGroupName.bpmn",\r
87                         "subprocess/CreateAAIVfModule.bpmn",\r
88                         "subprocess/UpdateAAIVfModule.bpmn",\r
89                         "subprocess/CreateAAIVfModuleVolumeGroup.bpmn",\r
90                         "subprocess/UpdateAAIGenericVnf.bpmn"\r
91                 })\r
92         public void sunnyDay() throws IOException {\r
93                 \r
94                 logStart();\r
95                 \r
96                 MockAAIVfModule();\r
97                 MockPatchGenericVnf("skask");\r
98                 MockPatchVfModuleId("skask", ".*");\r
99                 mockSDNCAdapter("VfModularity/StandardSDNCSynchResponse.xml");\r
100                 mockVNFPost("", 202, "skask");  \r
101                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
102                 //Catalog DB\r
103                 MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");\r
104                 \r
105                 String businessKey = UUID.randomUUID().toString();\r
106                 //RuntimeService runtimeService = processEngineRule.getRuntimeService();                                \r
107                 \r
108                 Map<String, Object> variables = setupVariablesSunnyDayBuildingBlocks();\r
109                 //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);\r
110                 invokeSubProcess("DoCreateVfModule", businessKey, variables);\r
111                 \r
112                 injectSDNCCallbacks(callbacks, "queryVnf");\r
113                 injectSDNCCallbacks(callbacks, "assign, queryModuleNoVnf");\r
114                 injectVNFRestCallbacks(callbacks, "vnfCreate");\r
115                 injectSDNCCallbacks(callbacks, "activate");\r
116 \r
117                 waitForProcessEnd(businessKey, 10000);\r
118                 \r
119                 Assert.assertTrue(isProcessEnded(businessKey));\r
120                 Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator"));\r
121                 \r
122                 logEnd();\r
123         }\r
124         \r
125         /**\r
126          * Test the sunny day scenario with 1702 SDNC interaction.\r
127          */\r
128         @Test   \r
129         \r
130         @Deployment(resources = {\r
131                         "subprocess/DoCreateVfModule.bpmn",\r
132                         "subprocess/GenericGetVnf.bpmn",\r
133                         "subprocess/SDNCAdapterV1.bpmn",\r
134                         "subprocess/VnfAdapterRestV1.bpmn",\r
135                         "subprocess/ConfirmVolumeGroupTenant.bpmn",\r
136                         "subprocess/ConfirmVolumeGroupName.bpmn",\r
137                         "subprocess/CreateAAIVfModule.bpmn",\r
138                         "subprocess/UpdateAAIVfModule.bpmn",\r
139                         "subprocess/CreateAAIVfModuleVolumeGroup.bpmn",\r
140                         "subprocess/UpdateAAIGenericVnf.bpmn"\r
141                 })\r
142         public void sunnyDay_1702() throws IOException {\r
143                 \r
144                 logStart();\r
145                 \r
146                 MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5);\r
147                 MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");\r
148                 MockPutVfModuleIdNoResponse("skask", "PCRF", ".*");\r
149                 MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200);\r
150                 MockPutGenericVnf("skask");\r
151                 mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
152                 mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
153                 mockVNFPost("", 202, "skask");\r
154                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
155                 MockPatchGenericVnf("skask");\r
156                 MockPatchVfModuleId("skask", ".*");\r
157                 //Catalog DB\r
158                 MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");\r
159                                 \r
160                 \r
161                 String businessKey = UUID.randomUUID().toString();\r
162                 //RuntimeService runtimeService = processEngineRule.getRuntimeService();                                \r
163                 \r
164                 Map<String, Object> variables = setupVariablesSunnyDayBuildingBlocks();\r
165                 variables.put("sdncVersion", "1702");\r
166                 //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);\r
167                 invokeSubProcess("DoCreateVfModule", businessKey, variables);\r
168                 \r
169                 \r
170                 injectSDNCCallbacks(callbacks, "assign, queryModule");\r
171                 injectVNFRestCallbacks(callbacks, "vnfCreate");\r
172                 injectSDNCCallbacks(callbacks, "activate");\r
173 \r
174                 waitForProcessEnd(businessKey, 10000);\r
175                 \r
176                 Assert.assertTrue(isProcessEnded(businessKey));\r
177                 Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator"));\r
178                 \r
179                 logEnd();\r
180         }\r
181         \r
182         /**\r
183          * Test the sunny day scenario.\r
184          */\r
185         @Test   \r
186         \r
187         @Deployment(resources = {\r
188                         "subprocess/DoCreateVfModule.bpmn",\r
189                         "subprocess/GenerateVfModuleName.bpmn",\r
190                         "subprocess/GenericGetVnf.bpmn",\r
191                         "subprocess/SDNCAdapterV1.bpmn",\r
192                         "subprocess/VnfAdapterRestV1.bpmn",\r
193                         "subprocess/ConfirmVolumeGroupTenant.bpmn",\r
194                         "subprocess/ConfirmVolumeGroupName.bpmn",\r
195                         "subprocess/CreateAAIVfModule.bpmn",\r
196                         "subprocess/UpdateAAIVfModule.bpmn",\r
197                         "subprocess/CreateAAIVfModuleVolumeGroup.bpmn",\r
198                         "subprocess/UpdateAAIGenericVnf.bpmn"\r
199                 })\r
200         public void sunnyDay_withVfModuleNameGeneration() throws IOException {\r
201                 \r
202                 logStart();\r
203                 \r
204                 MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5);\r
205                 MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");\r
206                 MockPutVfModuleIdNoResponse("skask", "PCRF", ".*");\r
207                 MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200);\r
208                 MockPutGenericVnf("skask");\r
209                 MockAAIVfModule();\r
210                 mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
211                 mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
212                 mockVNFPost("", 202, "skask");\r
213                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
214                 MockPatchGenericVnf("skask");\r
215                 MockPatchVfModuleId("skask", ".*");\r
216                 //Catalog DB\r
217                 MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");\r
218                 \r
219                 String businessKey = UUID.randomUUID().toString();\r
220                 //RuntimeService runtimeService = processEngineRule.getRuntimeService();                                \r
221                 \r
222                 Map<String, Object> variables = setupVariablesSunnyDayBuildingBlocks();\r
223                 variables.put("vfModuleName", null);\r
224                 variables.put("vfModuleLabel", "MODULELABEL");\r
225                 variables.put("sdncVersion", "1702");\r
226                 //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);\r
227                 invokeSubProcess("DoCreateVfModule", businessKey, variables);\r
228                 \r
229                 injectSDNCCallbacks(callbacks, "assign, query");\r
230                 injectVNFRestCallbacks(callbacks, "vnfCreate");\r
231                 injectSDNCCallbacks(callbacks, "activate");\r
232 \r
233                 waitForProcessEnd(businessKey, 10000);\r
234                 \r
235                 Assert.assertTrue(isProcessEnded(businessKey));\r
236                 Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator"));\r
237                 \r
238                 logEnd();\r
239         }\r
240         \r
241         /**\r
242          * Test the sunny day scenario for the aLaCarte request with no multiStageDesign\r
243          */\r
244         @Test   \r
245         \r
246         @Deployment(resources = {\r
247                         "subprocess/DoCreateVfModule.bpmn",\r
248                         "subprocess/GenericGetVnf.bpmn",\r
249                         "subprocess/SDNCAdapterV1.bpmn",\r
250                         "subprocess/VnfAdapterRestV1.bpmn",\r
251                         "subprocess/ConfirmVolumeGroupTenant.bpmn",\r
252                         "subprocess/ConfirmVolumeGroupName.bpmn",\r
253                         "subprocess/CreateAAIVfModule.bpmn",\r
254                         "subprocess/UpdateAAIVfModule.bpmn",\r
255                         "subprocess/CreateAAIVfModuleVolumeGroup.bpmn",\r
256                         "subprocess/UpdateAAIGenericVnf.bpmn"\r
257                 })\r
258         public void sunnyDay_aLaCarte_noMultistage() throws IOException {\r
259                 \r
260                 logStart();\r
261                 \r
262                 MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5);\r
263                 MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");\r
264                 MockPutVfModuleIdNoResponse("skask", "PCRF", ".*");\r
265                 MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200);\r
266                 MockPutGenericVnf("skask");\r
267                 mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
268                 mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
269                 mockVNFPost("", 202, "skask");\r
270                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
271                 MockPatchGenericVnf("skask");\r
272                 MockPatchVfModuleId("skask", ".*");\r
273                 //Catalog DB\r
274                 MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");\r
275                 MockGetVnfCatalogDataCustomizationUuid("VNF-MODEL-123", "VIPR/getCatalogVnfNoTwoPhasedForVfModule.json");               \r
276                 \r
277                 String businessKey = UUID.randomUUID().toString();\r
278                 //RuntimeService runtimeService = processEngineRule.getRuntimeService();                                \r
279                 \r
280                 Map<String, Object> variables = setupVariablesSunnyDayBuildingBlocks();\r
281                 variables.put("sdncVersion", "1702");\r
282                 variables.put("aLaCarte", true);\r
283                 //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);\r
284                 invokeSubProcess("DoCreateVfModule", businessKey, variables);\r
285                 \r
286                 \r
287                 injectSDNCCallbacks(callbacks, "assign, queryModule");\r
288                 injectVNFRestCallbacks(callbacks, "vnfCreate");\r
289                 injectSDNCCallbacks(callbacks, "activate");\r
290 \r
291                 waitForProcessEnd(businessKey, 10000);\r
292                 \r
293                 Assert.assertTrue(isProcessEnded(businessKey));\r
294                 Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator"));\r
295                 \r
296                 logEnd();\r
297         }\r
298         \r
299         /**\r
300          * Test the sunny day scenario for the first stage of multistage design.\r
301          */\r
302         @Test   \r
303         \r
304         @Deployment(resources = {\r
305                         "subprocess/DoCreateVfModule.bpmn",\r
306                         "subprocess/GenericGetVnf.bpmn",\r
307                         "subprocess/SDNCAdapterV1.bpmn",\r
308                         "subprocess/VnfAdapterRestV1.bpmn",\r
309                         "subprocess/ConfirmVolumeGroupTenant.bpmn",\r
310                         "subprocess/ConfirmVolumeGroupName.bpmn",\r
311                         "subprocess/CreateAAIVfModule.bpmn",\r
312                         "subprocess/UpdateAAIVfModule.bpmn",\r
313                         "subprocess/CreateAAIVfModuleVolumeGroup.bpmn",\r
314                         "subprocess/UpdateAAIGenericVnf.bpmn"\r
315                 })\r
316         public void sunnyDay_1st_of_multistage() throws IOException {\r
317                 \r
318                 logStart();\r
319                 \r
320                 MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5);\r
321                 MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");\r
322                 MockPutVfModuleIdNoResponse("skask", "PCRF", ".*");\r
323                 MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200);\r
324                 MockPutGenericVnf("skask");\r
325                 mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
326                 mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
327                 mockVNFPost("", 202, "skask");\r
328                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
329                 MockPatchGenericVnf("skask");\r
330                 MockPatchVfModuleId("skask", ".*");\r
331                 //Catalog DB\r
332                 MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");\r
333                 MockGetVnfCatalogDataCustomizationUuid("VNF-MODEL-123", "VIPR/getCatalogVnfYesTwoPhasedForVfModule.json");              \r
334                 \r
335                 String businessKey = UUID.randomUUID().toString();\r
336                 //RuntimeService runtimeService = processEngineRule.getRuntimeService();                                \r
337                 \r
338                 Map<String, Object> variables = setupVariablesSunnyDayBuildingBlocks();\r
339                 variables.put("sdncVersion", "1702");\r
340                 variables.put("aLaCarte", true);\r
341                 //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);\r
342                 invokeSubProcess("DoCreateVfModule", businessKey, variables);\r
343                 \r
344                 injectSDNCCallbacks(callbacks, "assign");\r
345                 \r
346                 waitForProcessEnd(businessKey, 10000);\r
347                 \r
348                 Assert.assertTrue(isProcessEnded(businessKey));\r
349                 Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator"));\r
350                 \r
351                 logEnd();\r
352         }\r
353         \r
354         /**\r
355          * Test the sunny day scenario for the second stage of multiStageDesign\r
356          */\r
357         @Test   \r
358         \r
359         @Deployment(resources = {\r
360                         "subprocess/DoCreateVfModule.bpmn",\r
361                         "subprocess/GenericGetVnf.bpmn",\r
362                         "subprocess/SDNCAdapterV1.bpmn",\r
363                         "subprocess/VnfAdapterRestV1.bpmn",\r
364                         "subprocess/ConfirmVolumeGroupTenant.bpmn",\r
365                         "subprocess/ConfirmVolumeGroupName.bpmn",\r
366                         "subprocess/CreateAAIVfModule.bpmn",\r
367                         "subprocess/UpdateAAIVfModule.bpmn",\r
368                         "subprocess/CreateAAIVfModuleVolumeGroup.bpmn",\r
369                         "subprocess/UpdateAAIGenericVnf.bpmn"\r
370                 })\r
371         public void sunnyDay_2nd_of_multistage() throws IOException {\r
372                 \r
373                 logStart();\r
374                 \r
375                 MockGetGenericVnfByIdWithPriority("skask", ".*", 200, "VfModularity/VfModule-new.xml", 5);\r
376                 MockGetVfModuleByName("skask", "PCRF%3A%3Amodule-0-2","VfModularity/VfModule-new-PendingActivation.xml", 200);\r
377                 MockGetGenericVnfByIdWithDepth("skask", 1, "VfModularity/GenericVnf.xml");              \r
378                 MockPutVfModuleIdNoResponse("skask", "PCRF", ".*");\r
379                 MockPutNetwork(".*", "VfModularity/AddNetworkPolicy_AAIResponse_Success.xml", 200);\r
380                 MockPutGenericVnf("skask");\r
381                 mockSDNCAdapter("/SDNCAdapter", "vnf-type>STMTN", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
382                 mockSDNCAdapter("/SDNCAdapter", "SvcAction>query", 200, "VfModularity/StandardSDNCSynchResponse.xml");\r
383                 mockVNFPost("", 202, "skask");\r
384                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
385                 MockPatchGenericVnf("skask");\r
386                 MockPatchVfModuleId("skask", ".*");\r
387                 //Catalog DB\r
388                 MockGetServiceResourcesCatalogData("aa5256d2-5a33-55df-13ab-12abad84e7ff","InfrastructureFlows/DoCreateServiceInstance_request.json");\r
389                 \r
390                 \r
391                 String businessKey = UUID.randomUUID().toString();\r
392                 //RuntimeService runtimeService = processEngineRule.getRuntimeService();                                \r
393                 \r
394                 Map<String, Object> variables = setupVariablesSunnyDayBuildingBlocks();\r
395                 variables.put("sdncVersion", "1702");\r
396                 variables.put("aLaCarte", true);\r
397                 //runtimeService.startProcessInstanceByKey("DoCreateVfModule", variables);\r
398                 invokeSubProcess("DoCreateVfModule", businessKey, variables);           \r
399                 \r
400                 injectSDNCCallbacks(callbacks, "queryModule");\r
401                 injectVNFRestCallbacks(callbacks, "vnfCreate");\r
402                 injectSDNCCallbacks(callbacks, "activate");\r
403 \r
404                 waitForProcessEnd(businessKey, 10000);\r
405                 \r
406                 Assert.assertTrue(isProcessEnded(businessKey));\r
407                 Assert.assertTrue((boolean) getRawVariable(processEngineRule, "DoCreateVfModule", "DCVFM_SuccessIndicator"));\r
408                 \r
409                 logEnd();\r
410         }\r
411         \r
412         \r
413         private Map<String, Object> setupVariablesSunnyDayBuildingBlocks() {\r
414                 Map<String, Object> variables = new HashMap<>();\r
415                 //try {\r
416                 //      variables.put("bpmnRequest", FileUtil.readResourceFile("__files/CreateVfModule_VID_request.json"));\r
417                 //}\r
418                 //catch (Exception e) {\r
419                         \r
420                 //}\r
421                 \r
422                 variables.put("mso-request-id", "testRequestId");\r
423                 \r
424                 variables.put("msoRequestId", "testRequestId");         \r
425                 variables.put("isBaseVfModule", false);\r
426                 variables.put("isDebugLogEnabled", "true");\r
427                 variables.put("disableRollback", "true");\r
428                 //variables.put("recipeTimeout", "0");          \r
429                 //variables.put("requestAction", "CREATE_VF_MODULE");\r
430                 variables.put("serviceInstanceId", "f70e927b-6087-4974-9ef8-c5e4d5847ca4");\r
431                 variables.put("vnfId", "skask");\r
432                 variables.put("vnfName", "vnfname");\r
433                 variables.put("vfModuleName", "PCRF::module-0-2");\r
434                 variables.put("vnfType", "vSAMP12");\r
435                 variables.put("vfModuleId", "");\r
436                 variables.put("volumeGroupId", "");                     \r
437                 variables.put("serviceType", "MOG");    \r
438                 variables.put("vfModuleType", "");\r
439                 variables.put("isVidRequest", "true");\r
440                 variables.put("asdcServiceModelVersion", "1.0");\r
441                 variables.put("usePreload", true);\r
442                                         \r
443                 String vfModuleModelInfo = "{ "+ "\"modelType\": \"vfModule\"," +\r
444                         "\"modelInvariantUuid\": \"ff5256d2-5a33-55df-13ab-12abad84e7ff\"," + \r
445                         "\"modelUuid\": \"fe6478e5-ea33-3346-ac12-ab121484a3fe\"," +\r
446                         "\"modelName\": \"STMTN5MMSC21-MMSC::model-1-0\"," +\r
447                         "\"modelVersion\": \"1\"," + \r
448                         "\"modelCustomizationUuid\": \"MODEL-123\"" + "}";\r
449                 variables.put("vfModuleModelInfo", vfModuleModelInfo);\r
450                 \r
451                 variables.put("sdncVersion", "1707");\r
452                 \r
453                 variables.put("lcpCloudRegionId", "MDTWNJ21");\r
454                 variables.put("tenantId", "fba1bd1e195a404cacb9ce17a9b2b421");          \r
455                 \r
456                 String serviceModelInfo = "{ "+ "\"modelType\": \"service\"," +\r
457                                 "\"modelInvariantUuid\": \"aa5256d2-5a33-55df-13ab-12abad84e7ff\"," + \r
458                                 "\"modelUuid\": \"bb6478e5-ea33-3346-ac12-ab121484a3fe\"," +\r
459                                 "\"modelName\": \"SVC-STMTN5MMSC21-MMSC::model-1-0\"," +\r
460                                 "\"modelVersion\": \"1\"," + \r
461                                  "}";\r
462                 variables.put("serviceModelInfo", serviceModelInfo);\r
463                         \r
464                 String vnfModelInfo = "{ "+ "\"modelType\": \"vnf\"," +\r
465                                         "\"modelInvariantUuid\": \"445256d2-5a33-55df-13ab-12abad84e7ff\"," + \r
466                                         "\"modelUuid\": \"f26478e5-ea33-3346-ac12-ab121484a3fe\"," +\r
467                                         "\"modelName\": \"VNF-STMTN5MMSC21-MMSC::model-1-0\"," +\r
468                                         "\"modelVersion\": \"1\"," + \r
469                                         "\"modelCustomizationUuid\": \"VNF-MODEL-123\"" + "}";\r
470                 variables.put("vnfModelInfo", vnfModelInfo);\r
471                 \r
472                 variables.put("vnfQueryPath", "/restconf/vnfQueryPath");\r
473                 \r
474                 return variables;\r
475                 \r
476         }\r
477 }\r