[MSO-8] Update the maven dependency
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / java / org / openecomp / mso / bpmn / infrastructure / UpdateVfModuleVolumeInfraV1Test.java
1 /*- 
2  * ============LICENSE_START======================================================= 
3  * OPENECOMP - MSO 
4  * ================================================================================ 
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. 
6  * ================================================================================ 
7  * Licensed under the Apache License, Version 2.0 (the "License"); 
8  * you may not use this file except in compliance with the License. 
9  * You may obtain a copy of the License at 
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0 
12  * 
13  * Unless required by applicable law or agreed to in writing, software 
14  * distributed under the License is distributed on an "AS IS" BASIS, 
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
16  * See the License for the specific language governing permissions and 
17  * limitations under the License. 
18  * ============LICENSE_END========================================================= 
19  */ 
20
21 package org.openecomp.mso.bpmn.infrastructure;
22
23 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetGenericVnfById;
24 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetVfModuleId;
25 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetVolumeGroupById;
26 import static org.openecomp.mso.bpmn.mock.StubResponseDatabase.mockUpdateRequestDB;
27 import static org.openecomp.mso.bpmn.mock.StubResponseVNFAdapter.mockPutVNFVolumeGroup;
28
29 import java.io.IOException;
30 import java.util.HashMap;
31 import java.util.Map;
32 import java.util.UUID;
33
34 import org.camunda.bpm.engine.test.Deployment;
35 import org.junit.Test;
36 import org.openecomp.mso.bpmn.common.WorkflowTest;
37 import org.openecomp.mso.bpmn.common.workflow.service.WorkflowResponse;
38 import org.openecomp.mso.bpmn.mock.FileUtil;
39
40 /**
41  * Unit test cases for UpdateVfModuleVolume.bpmn
42  */
43 public class UpdateVfModuleVolumeInfraV1Test extends WorkflowTest {
44         
45         private final CallbackSet callbacks = new CallbackSet();
46
47         public UpdateVfModuleVolumeInfraV1Test() throws IOException {
48                 callbacks.put("volumeGroupUpdate", FileUtil.readResourceFile(
49                         "__files/VfModularity/VNFAdapterRestVolumeGroupCallback.xml"));
50         }
51
52         /**
53          * Happy path scenario.
54          * 
55          * @throws Exception
56          */
57         @Test
58         @Deployment(resources = {
59                 "process/UpdateVfModuleVolumeInfraV1.bpmn",
60                 "subprocess/VnfAdapterRestV1.bpmn",
61                 "subprocess/CompleteMsoProcess.bpmn",
62                 "subprocess/FalloutHandler.bpmn"
63                 })
64         public void happyPath() throws Exception {
65
66                 logStart();
67                 
68                 MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200);
69                 MockGetVolumeGroupById("mdt1", "78987", "UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml");
70                 MockGetVfModuleId("9e48f6ea-f786-46de-800a-d480e5ccc846", "6a1dc898-b590-47b9-bbf0-34424a7a2ec3/", "UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml", 200);
71                 mockPutVNFVolumeGroup("78987", 202);
72                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
73                 
74                 String businessKey = UUID.randomUUID().toString();
75                 String updaetVfModuleVolRequest =
76                         FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVfModuleVolume_VID_request.json");
77                 
78                 Map<String, Object> testVariables = new HashMap<String, Object>();
79                 testVariables.put("requestId", "TEST-REQUEST-ID-0123");
80                 testVariables.put("serviceInstanceId", "test-service-instance-id");
81                 testVariables.put("volumeGroupId", "78987");
82                 testVariables.put("vnfId", "TEST-VNF-ID-0123");
83                 TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleVolumeInfraV1",     "v1", businessKey, updaetVfModuleVolRequest, testVariables);
84                 WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
85
86                 String responseBody = response.getResponse();
87                 System.out.println("Workflow (Synch) Response:\n" + responseBody);
88                 
89                 injectVNFRestCallbacks(callbacks, "volumeGroupUpdate");
90                 
91                 waitForProcessEnd(businessKey, 10000);
92                 checkVariable(businessKey, "UpdateVfModuleVolumeSuccessIndicator", true);
93                 
94                 logEnd();
95         }
96         
97         /**
98          * VF Module Personal model id does not match request model invariant id
99          * @throws Exception
100          */
101         @Test
102         //@Ignore
103         @Deployment(resources = {
104                 "process/UpdateVfModuleVolumeInfraV1.bpmn",
105                 "subprocess/VnfAdapterRestV1.bpmn",
106                 "subprocess/CompleteMsoProcess.bpmn",
107                 "subprocess/FalloutHandler.bpmn"
108                 })
109         public void testPersonaModelIdNotMatch() throws Exception {
110
111                 logStart();
112                 
113                 MockGetVolumeGroupById("mdt1", "78987", "UpdateVfModuleVolumeInfraV1/queryVolumeId_AAIResponse_Success.xml");
114                 MockGetGenericVnfById("/TEST-VNF-ID-0123", "CreateVfModuleVolumeInfraV1/GenericVnf.xml", 200);
115                 MockGetVfModuleId("9e48f6ea-f786-46de-800a-d480e5ccc846", "6a1dc898-b590-47b9-bbf0-34424a7a2ec3/", "UpdateVfModuleVolumeInfraV1/vf_module_aai_response.xml", 200);
116                 mockPutVNFVolumeGroup("78987", 202);
117                 mockUpdateRequestDB(200, "Database/DBUpdateResponse.xml");
118                 
119                 String businessKey = UUID.randomUUID().toString();
120                 String updaetVfModuleVolRequest =
121                         FileUtil.readResourceFile("__files/UpdateVfModuleVolumeInfraV1/updateVfModuleVolume_VID_request_2.json");
122                 
123                 Map<String, Object> testVariables = new HashMap<String, Object>();
124                 testVariables.put("requestId", "TEST-REQUEST-ID-0123");
125                 testVariables.put("serviceInstanceId", "test-service-instance-id");
126                 testVariables.put("volumeGroupId", "78987");
127                 testVariables.put("vnfId", "TEST-VNF-ID-0123");
128                 TestAsyncResponse asyncResponse = invokeAsyncProcess("UpdateVfModuleVolumeInfraV1",     "v1", businessKey, updaetVfModuleVolRequest, testVariables);
129                 WorkflowResponse response = receiveResponse(businessKey, asyncResponse, 10000);
130
131                 String responseBody = response.getResponse();
132                 System.out.println("Workflow (Synch) Response:\n" + responseBody);
133                 
134                 injectVNFRestCallbacks(callbacks, "volumeGroupUpdate");
135                 
136                 waitForProcessEnd(businessKey, 10000);
137                 checkVariable(businessKey, "UpdateVfModuleVolumeSuccessIndicator", true);
138                 
139                 logEnd();
140         }       
141 }