Change the header to SO
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / java / org / openecomp / mso / bpmn / infrastructure / UpdateVfModuleVolumeInfraV1Test.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 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfById;\r
24 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetVfModuleId;\r
25 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetVolumeGroupById;\r
26 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;\r
27 import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockPutVNFVolumeGroup;\r
28 \r
29 import java.io.IOException;\r
30 import java.util.HashMap;\r
31 import java.util.Map;\r
32 import java.util.UUID;\r
33 \r
34 import org.camunda.bpm.engine.test.Deployment;\r
35 import org.junit.Test;\r
36 import org.openecomp.mso.bpmn.common.WorkflowTest;\r
37 import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse;\r
38 import org.openecomp.mso.bpmn.mock.FileUtil;\r
39 \r
40 /**\r
41  * Unit test cases for UpdateVfModuleVolume.bpmn\r
42  */\r
43 public class UpdateVfModuleVolumeInfraV1Test extends WorkflowTest {\r
44         \r
45         private final CallbackSet callbacks = new CallbackSet();\r
46 \r
47         public UpdateVfModuleVolumeInfraV1Test() throws IOException {\r
48                 callbacks.put("volumeGroupUpdate", FileUtil.readResourceFile(\r
49                         "__files/VfModularity/VNFAdapterRestVolumeGroupCallback.xml"));\r
50         }\r
51 \r
52         /**\r
53          * Happy path scenario.\r
54          * \r
55          * @throws Exception\r
56          */\r
57         @Test\r
58         @Deployment(resources = {\r
59                 "process/UpdateVfModuleVolumeInfraV1.bpmn",\r
60                 "subprocess/VnfAdapterRestV1.bpmn",\r
61                 "subprocess/CompleteMsoProcess.bpmn",\r
62                 "subprocess/GenericNotificationService.bpmn",\r
63                 "subprocess/FalloutHandler.bpmn"\r
64                 })\r
65         public void happyPath() throws Exception {\r
66 \r
67                 logStart();\r
68                 \r
69                 MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200);\r
70                 MockGetVolumeGroupById("mdt1", "78987", "UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml");\r
71                 MockGetVfModuleId("9e48f6ea-f786-46de-800a-d480e5ccc846", "6a1dc898-b590-47b9-bbf0-34424a7a2ec3/", "UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml", 200);\r
72                 mockPutVNFVolumeGroup("78987", 202);\r
73                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
74                 \r
75                 String businessKey = UUID.randomUUID().toString();\r
76                 String updaetVfModuleVolRequest =\r
77                         FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVfModuleVolume_VID_request.json");\r
78                 \r
79                 Map<String, Object> testVariables = new HashMap<String, Object>();\r
80                 testVariables.put("requestId", "TEST-REQUEST-ID-0123");\r
81                 testVariables.put("serviceInstanceId", "test-service-instance-id");\r
82                 testVariables.put("volumeGroupId", "78987");\r
83                 testVariables.put("vnfId", "TEST-VNF-ID-0123");\r
84                 TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleVolumeInfraV1",     "v1", businessKey, updaetVfModuleVolRequest, testVariables);\r
85                 WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);\r
86 \r
87                 String responseBody = response.getResponse();\r
88                 System.out.println("Workflow (Synch) Response:\n" + responseBody);\r
89                 \r
90                 injectVNFRestCallbacks(callbacks, "volumeGroupUpdate");\r
91                 \r
92                 waitForProcessEnd(businessKey, 10000);\r
93                 checkVariable(businessKey, "UpdateVfModuleVolumeSuccessIndicator", true);\r
94                 \r
95                 logEnd();\r
96         }\r
97         \r
98         /**\r
99          * VF Module Personal model id does not match request model invariant id\r
100          * @throws Exception\r
101          */\r
102         @Test\r
103         //@Ignore\r
104         @Deployment(resources = {\r
105                 "process/UpdateVfModuleVolumeInfraV1.bpmn",\r
106                 "subprocess/VnfAdapterRestV1.bpmn",\r
107                 "subprocess/CompleteMsoProcess.bpmn",\r
108                 "subprocess/GenericNotificationService.bpmn",\r
109                 "subprocess/FalloutHandler.bpmn"\r
110                 })\r
111         public void testPersonaModelIdNotMatch() throws Exception {\r
112 \r
113                 logStart();\r
114                 \r
115                 MockGetVolumeGroupById("mdt1", "78987", "UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml");\r
116                 MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200);\r
117                 MockGetVfModuleId("9e48f6ea-f786-46de-800a-d480e5ccc846", "6a1dc898-b590-47b9-bbf0-34424a7a2ec3/", "UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml", 200);\r
118                 mockPutVNFVolumeGroup("78987", 202);\r
119                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");\r
120                 \r
121                 String businessKey = UUID.randomUUID().toString();\r
122                 String updaetVfModuleVolRequest =\r
123                         FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVfModuleVolume_VID_request_2.json");\r
124                 \r
125                 Map<String, Object> testVariables = new HashMap<String, Object>();\r
126                 testVariables.put("requestId", "TEST-REQUEST-ID-0123");\r
127                 testVariables.put("serviceInstanceId", "test-service-instance-id");\r
128                 testVariables.put("volumeGroupId", "78987");\r
129                 testVariables.put("vnfId", "TEST-VNF-ID-0123");\r
130                 TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleVolumeInfraV1",     "v1", businessKey, updaetVfModuleVolRequest, testVariables);\r
131                 WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);\r
132 \r
133                 String responseBody = response.getResponse();\r
134                 System.out.println("Workflow (Synch) Response:\n" + responseBody);\r
135                 \r
136                 injectVNFRestCallbacks(callbacks, "volumeGroupUpdate");\r
137                 \r
138                 waitForProcessEnd(businessKey, 10000);\r
139                 checkVariable(businessKey, "UpdateVfModuleVolumeSuccessIndicator", true);\r
140                 \r
141                 logEnd();\r
142         }       \r
143 }\r