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 TEST_VFMODULE_HEATSTACK_ID = "slowburn";
50 private static final String TEST_VOLUME_HEATSTACK_ID = "testHeatStackId1";
53 public void before() {
54 requestContext = setRequestContext();
55 serviceInstance = setServiceInstance();
56 vfModule = setVfModule();
57 volumeGroup = setVolumeGroup();
58 vfModule.setHeatStackId(null);
62 public void preProcessVnfAdapterTest() {
63 vnfAdapterImpl.preProcessVnfAdapter(execution);
65 assertEquals("true", execution.getVariable("isDebugLogEnabled"));
66 assertEquals(requestContext.getMsoRequestId(), execution.getVariable("mso-request-id"));
67 assertEquals(serviceInstance.getServiceInstanceId(), execution.getVariable("mso-service-instance-id"));
71 public void postProcessVnfAdapter_CreateResponseTest() {
72 execution.setVariable("vnfAdapterRestV1Response", VNF_ADAPTER_REST_CREATE_RESPONSE);
73 vnfAdapterImpl.postProcessVnfAdapter(execution);
74 assertEquals(TEST_VFMODULE_HEATSTACK_ID, vfModule.getHeatStackId());
79 public void postProcessVnfAdapter_CreateResponseTest_EmptyCreateVfModuleResponseTag() {
80 expectedException.expect(BpmnError.class);
81 execution.setVariable("vnfAdapterRestV1Response", "<vfModuleStackId></vfModuleStackId>");
82 vnfAdapterImpl.postProcessVnfAdapter(execution);
86 public void postProcessVnfAdapter_CreateResponseTest_EmptyVfModuleStackIdTag() {
87 execution.setVariable("vnfAdapterRestV1Response", "<createVfModuleResponse></createVfModuleResponse>");
88 vnfAdapterImpl.postProcessVnfAdapter(execution);
89 assertNull(vfModule.getHeatStackId());
93 public void postProcessVnfAdapter_CreateResponseTest_EmptyHeatStackId() {
94 execution.setVariable("vnfAdapterRestV1Response", "<createVfModuleResponse><vfModuleStackId></vfModuleStackId></createVfModuleResponse>");
95 vnfAdapterImpl.postProcessVnfAdapter(execution);
96 assertNull(vfModule.getHeatStackId());
100 public void postProcessVnfAdapter_DeleteResponseTest() {
101 execution.setVariable("vnfAdapterRestV1Response", VNF_ADAPTER_REST_DELETE_RESPONSE);
102 vnfAdapterImpl.postProcessVnfAdapter(execution);
103 assertNull(vfModule.getHeatStackId());
107 public void postProcessVnfAdapter_ResponseNullTest() {
108 execution.setVariable("vnfAdapterRestV1Response", null);
109 vnfAdapterImpl.postProcessVnfAdapter(execution);
110 assertNull(vfModule.getHeatStackId());
114 public void postProcessVnfAdapter_ResponseEmptyTest() {
115 execution.setVariable("vnfAdapterRestV1Response", "");
116 vnfAdapterImpl.postProcessVnfAdapter(execution);
117 assertNull(vfModule.getHeatStackId());
121 public void postProcessVnfAdapter_DeleteResponseTest_VfModuleDeletedFalse() {
122 execution.setVariable("vnfAdapterRestV1Response", "<deleteVfModuleResponse><vfModuleDeleted>false</vfModuleDeleted></deleteVfModuleResponse>");
123 vnfAdapterImpl.postProcessVnfAdapter(execution);
124 assertNull(vfModule.getHeatStackId());
128 public void postProcessVnfAdapter_DeleteResponseTest_EmptyDeleteVfModuleResponseTag() {
129 expectedException.expect(BpmnError.class);
130 execution.setVariable("vnfAdapterRestV1Response", "<vfModuleDeleted></vfModuleDeleted>");
131 vnfAdapterImpl.postProcessVnfAdapter(execution);
135 public void postProcessVnfAdapter_DeleteResponseTest_EmptyVfModuleDeletedTag() {
136 execution.setVariable("vnfAdapterRestV1Response", "<deleteVfModuleResponse></deleteVfModuleResponse>");
137 vnfAdapterImpl.postProcessVnfAdapter(execution);
138 assertNull(vfModule.getHeatStackId());
142 public void preProcessVnfAdapterExceptionTest() {
143 expectedException.expect(BpmnError.class);
144 lookupKeyMap.clear();
145 vnfAdapterImpl.preProcessVnfAdapter(execution);
149 public void postProcessVnfAdapter_CreateVolumeResponseTest() {
150 execution.setVariable("vnfAdapterRestV1Response", VNF_ADAPTER_VOLUME_CREATE_RESPONSE);
151 vnfAdapterImpl.postProcessVnfAdapter(execution);
152 assertEquals(TEST_VOLUME_HEATSTACK_ID, volumeGroup.getHeatStackId());
156 public void postProcessVnfAdapter_CreateVolumeEmptyResponseTest() {
157 expectedException.expect(BpmnError.class);
158 execution.setVariable("vnfAdapterRestV1Response", "<createVolumeGroupResponse></createVolumeGroupResponse>");
159 vnfAdapterImpl.postProcessVnfAdapter(execution);
163 public void postProcessVnfAdapterExceptionTest() {
164 execution.setVariable("vnfAdapterRestV1Response", VNF_ADAPTER_REST_CREATE_RESPONSE);
165 expectedException.expect(BpmnError.class);
166 lookupKeyMap.clear();
167 vnfAdapterImpl.postProcessVnfAdapter(execution);