2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 - 2018 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
11 * http://www.apache.org/licenses/LICENSE-2.0
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=========================================================
21 package org.onap.so.bpmn.infrastructure.adapter.vnf.tasks;
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertNull;
26 import org.camunda.bpm.engine.delegate.BpmnError;
27 import org.junit.Before;
28 import org.junit.Test;
29 import org.onap.so.FileUtil;
30 import org.onap.so.bpmn.BaseTaskTest;
31 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
32 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
33 import org.onap.so.bpmn.servicedecomposition.bbobjects.VolumeGroup;
34 import org.onap.so.bpmn.servicedecomposition.generalobjects.RequestContext;
35 import org.springframework.beans.factory.annotation.Autowired;
37 public class VnfAdapterImplTest extends BaseTaskTest {
39 private VnfAdapterImpl vnfAdapterImpl;
41 private RequestContext requestContext;
42 private ServiceInstance serviceInstance;
43 private VfModule vfModule;
44 private VolumeGroup volumeGroup;
46 private static final String VNF_ADAPTER_REST_DELETE_RESPONSE = FileUtil.readResourceFile("__files/VfModularity/VNFAdapterRestDeleteResponse.xml");
47 private static final String VNF_ADAPTER_REST_CREATE_RESPONSE = FileUtil.readResourceFile("__files/VfModularity/VNFAdapterRestCreateCallback.xml");
48 private static final String VNF_ADAPTER_VOLUME_CREATE_RESPONSE = FileUtil.readResourceFile("__files/VfModularity/CreateVfModuleVolumeCallbackResponse.xml");
49 private static final String VNF_ADAPTER_VOLUME_DELETE_RESPONSE = FileUtil.readResourceFile("__files/VfModularity/DeleteVfModuleVolumeCallbackResponse.xml");
50 private static final String TEST_VFMODULE_HEATSTACK_ID = "slowburn";
51 private static final String TEST_VOLUME_HEATSTACK_ID = "testHeatStackId1";
54 public void before() {
55 requestContext = setRequestContext();
56 serviceInstance = setServiceInstance();
57 vfModule = setVfModule();
58 volumeGroup = setVolumeGroup();
59 vfModule.setHeatStackId(null);
60 volumeGroup.setHeatStackId(null);
64 public void preProcessVnfAdapterTest() {
65 vnfAdapterImpl.preProcessVnfAdapter(execution);
67 assertEquals("true", execution.getVariable("isDebugLogEnabled"));
68 assertEquals(requestContext.getMsoRequestId(), execution.getVariable("mso-request-id"));
69 assertEquals(serviceInstance.getServiceInstanceId(), execution.getVariable("mso-service-instance-id"));
73 public void postProcessVnfAdapter_CreateResponseTest() {
74 execution.setVariable("vnfAdapterRestV1Response", VNF_ADAPTER_REST_CREATE_RESPONSE);
75 vnfAdapterImpl.postProcessVnfAdapter(execution);
76 assertEquals(TEST_VFMODULE_HEATSTACK_ID, vfModule.getHeatStackId());
81 public void postProcessVnfAdapter_CreateResponseTest_EmptyCreateVfModuleResponseTag() {
82 expectedException.expect(BpmnError.class);
83 execution.setVariable("vnfAdapterRestV1Response", "<vfModuleStackId></vfModuleStackId>");
84 vnfAdapterImpl.postProcessVnfAdapter(execution);
88 public void postProcessVnfAdapter_CreateResponseTest_EmptyVfModuleStackIdTag() {
89 execution.setVariable("vnfAdapterRestV1Response", "<createVfModuleResponse></createVfModuleResponse>");
90 vnfAdapterImpl.postProcessVnfAdapter(execution);
91 assertNull(vfModule.getHeatStackId());
95 public void postProcessVnfAdapter_CreateResponseTest_EmptyHeatStackId() {
96 execution.setVariable("vnfAdapterRestV1Response", "<createVfModuleResponse><vfModuleStackId></vfModuleStackId></createVfModuleResponse>");
97 vnfAdapterImpl.postProcessVnfAdapter(execution);
98 assertNull(vfModule.getHeatStackId());
102 public void postProcessVnfAdapter_DeleteResponseTest() {
103 vfModule.setHeatStackId(TEST_VFMODULE_HEATSTACK_ID);
104 execution.setVariable("vnfAdapterRestV1Response", VNF_ADAPTER_REST_DELETE_RESPONSE);
105 vnfAdapterImpl.postProcessVnfAdapter(execution);
106 assertNull(vfModule.getHeatStackId());
110 public void postProcessVnfAdapter_ResponseNullTest() {
111 execution.setVariable("vnfAdapterRestV1Response", null);
112 vnfAdapterImpl.postProcessVnfAdapter(execution);
113 assertNull(vfModule.getHeatStackId());
117 public void postProcessVnfAdapter_ResponseEmptyTest() {
118 execution.setVariable("vnfAdapterRestV1Response", "");
119 vnfAdapterImpl.postProcessVnfAdapter(execution);
120 assertNull(vfModule.getHeatStackId());
124 public void postProcessVnfAdapter_DeleteResponseTest_VfModuleDeletedFalse() {
125 vfModule.setHeatStackId(TEST_VFMODULE_HEATSTACK_ID);
126 execution.setVariable("vnfAdapterRestV1Response", "<deleteVfModuleResponse><vfModuleDeleted>false</vfModuleDeleted></deleteVfModuleResponse>");
127 vnfAdapterImpl.postProcessVnfAdapter(execution);
128 assertEquals(TEST_VFMODULE_HEATSTACK_ID, vfModule.getHeatStackId());
132 public void postProcessVnfAdapter_DeleteResponseTest_EmptyDeleteVfModuleResponseTag() {
133 expectedException.expect(BpmnError.class);
134 execution.setVariable("vnfAdapterRestV1Response", "<vfModuleDeleted></vfModuleDeleted>");
135 vnfAdapterImpl.postProcessVnfAdapter(execution);
139 public void postProcessVnfAdapter_DeleteResponseTest_EmptyVfModuleDeletedTag() {
140 vfModule.setHeatStackId(TEST_VFMODULE_HEATSTACK_ID);
141 execution.setVariable("vnfAdapterRestV1Response", "<deleteVfModuleResponse></deleteVfModuleResponse>");
142 vnfAdapterImpl.postProcessVnfAdapter(execution);
143 assertEquals(TEST_VFMODULE_HEATSTACK_ID, vfModule.getHeatStackId());
147 public void preProcessVnfAdapterExceptionTest() {
148 expectedException.expect(BpmnError.class);
149 lookupKeyMap.clear();
150 vnfAdapterImpl.preProcessVnfAdapter(execution);
154 public void postProcessVnfAdapter_CreateVolumeResponseTest() {
155 execution.setVariable("vnfAdapterRestV1Response", VNF_ADAPTER_VOLUME_CREATE_RESPONSE);
156 vnfAdapterImpl.postProcessVnfAdapter(execution);
157 assertEquals(TEST_VOLUME_HEATSTACK_ID, volumeGroup.getHeatStackId());
161 public void postProcessVnfAdapter_CreateVolumeEmptyResponseTest() {
162 expectedException.expect(BpmnError.class);
163 execution.setVariable("vnfAdapterRestV1Response", "<createVolumeGroupResponse></createVolumeGroupResponse>");
164 vnfAdapterImpl.postProcessVnfAdapter(execution);
165 assertNull(volumeGroup.getHeatStackId());
169 public void postProcessVnfAdapter_DeleteResponseTest_DeleteVolumeGroup() {
170 volumeGroup.setHeatStackId(TEST_VOLUME_HEATSTACK_ID);
171 execution.setVariable("vnfAdapterRestV1Response", VNF_ADAPTER_VOLUME_DELETE_RESPONSE);
172 vnfAdapterImpl.postProcessVnfAdapter(execution);
173 assertNull(volumeGroup.getHeatStackId());
178 public void postProcessVnfAdapter_DeleteResponseTest_VolumeGroupDeletedFalse() {
179 volumeGroup.setHeatStackId(TEST_VOLUME_HEATSTACK_ID);
180 execution.setVariable("vnfAdapterRestV1Response", "<deleteVolumeGroupResponse><volumeGroupDeleted>false</volumeGroupDeleted></deleteVolumeGroupResponse>");
181 vnfAdapterImpl.postProcessVnfAdapter(execution);
182 assertEquals(TEST_VOLUME_HEATSTACK_ID, volumeGroup.getHeatStackId());
186 public void postProcessVnfAdapter_DeleteResponseTest_EmptyDeleteVolumeGroupResponseTag() {
187 expectedException.expect(BpmnError.class);
188 execution.setVariable("vnfAdapterRestV1Response", "<volumeGroupDeleted></volumeGroupDeleted>");
189 vnfAdapterImpl.postProcessVnfAdapter(execution);
193 public void postProcessVnfAdapter_DeleteResponseTest_EmptyVolumeGroupDeletedTag() {
194 volumeGroup.setHeatStackId(TEST_VOLUME_HEATSTACK_ID);
195 execution.setVariable("vnfAdapterRestV1Response", "<deleteVolumeGroupResponse></deleteVolumeGroupResponse>");
196 vnfAdapterImpl.postProcessVnfAdapter(execution);
197 assertEquals(TEST_VOLUME_HEATSTACK_ID, volumeGroup.getHeatStackId());
201 public void postProcessVnfAdapterExceptionTest() {
202 execution.setVariable("vnfAdapterRestV1Response", VNF_ADAPTER_REST_CREATE_RESPONSE);
203 expectedException.expect(BpmnError.class);
204 lookupKeyMap.clear();
205 vnfAdapterImpl.postProcessVnfAdapter(execution);