2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2020 Nokia 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.workflow.tasks.utils;
23 import org.camunda.bpm.extension.mockito.delegate.DelegateExecutionFake;
24 import org.junit.Before;
25 import org.junit.Test;
26 import org.onap.so.bpmn.infrastructure.workflow.tasks.WorkflowType;
27 import org.onap.so.bpmn.servicedecomposition.entities.WorkflowResourceIds;
28 import java.util.function.Supplier;
29 import static org.junit.Assert.assertEquals;
32 public class WorkflowResourceIdsUtilsTest {
34 private static final String SERVICE_ID = "serviceId";
35 private static final String NETWORK_ID = "networkId";
36 private static final String VF_MODULE_ID = "vfModuleId";
37 private static final String VNF_ID = "vnfId";
38 private static final String VOLUME_GROUP_ID = "volumeGroupId";
39 private static final String INSTANCE_GROUP_ID = "instanceGroupId";
40 private static final String PNF_ID = "pnfId";
41 private static final String NETWORK_COLLECTION_ID = "networkCollectionId";
42 private static final String CONFIGURATION_ID = "configurationId";
43 private static final String VNF_INSTANCE_NAME = "vnfInstanceNameId";
44 private static final String VF_MODULE_INSTANCE_NAME = "vfModuleInstanceNameId";
45 private static final String PNF_INSTANCE_NAME = "pnfInstanceNameId";
46 private WorkflowResourceIds workflowResourceIds;
50 workflowResourceIds = new WorkflowResourceIds();
54 public void shouldProperlySetFieldsFromExecution() {
55 DelegateExecutionFake execution = new DelegateExecutionFake();
56 execution.setVariable("serviceInstanceId", SERVICE_ID);
57 execution.setVariable("networkId", NETWORK_ID);
58 execution.setVariable("vfModuleId", VF_MODULE_ID);
59 execution.setVariable("vnfId", VNF_ID);
60 execution.setVariable("volumeGroupId", VOLUME_GROUP_ID);
61 execution.setVariable("instanceGroupId", INSTANCE_GROUP_ID);
62 execution.setVariable("vnfInstanceName", VNF_INSTANCE_NAME);
63 execution.setVariable("vfModuleInstanceName", VF_MODULE_INSTANCE_NAME);
64 execution.setVariable("pnfInstanceName", PNF_INSTANCE_NAME);
66 workflowResourceIds = WorkflowResourceIdsUtils.getWorkflowResourceIdsFromExecution(execution);
68 assertEquals(SERVICE_ID, workflowResourceIds.getServiceInstanceId());
69 assertEquals(NETWORK_ID, workflowResourceIds.getNetworkId());
70 assertEquals(VF_MODULE_ID, workflowResourceIds.getVfModuleId());
71 assertEquals(VNF_ID, workflowResourceIds.getVnfId());
72 assertEquals(VOLUME_GROUP_ID, workflowResourceIds.getVolumeGroupId());
73 assertEquals(INSTANCE_GROUP_ID, workflowResourceIds.getInstanceGroupId());
74 assertEquals(VNF_INSTANCE_NAME, workflowResourceIds.getVnfInstanceName());
75 assertEquals(VF_MODULE_INSTANCE_NAME, workflowResourceIds.getVfModuleInstanceName());
76 assertEquals(PNF_INSTANCE_NAME, workflowResourceIds.getPnfInstanceName());
80 public void shouldProperlySetServiceInstanceId() {
81 assertFieldSetProperly(WorkflowType.SERVICE, SERVICE_ID, workflowResourceIds::getServiceInstanceId);
82 assertEquals(SERVICE_ID,
83 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.SERVICE));
87 public void shouldProperlySetVnfId() {
88 assertFieldSetProperly(WorkflowType.VNF, VNF_ID, workflowResourceIds::getVnfId);
90 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.VNF));
94 public void shouldProperlySetPnfId() {
95 assertFieldSetProperly(WorkflowType.PNF, PNF_ID, workflowResourceIds::getPnfId);
97 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.PNF));
101 public void shouldProperlySetVfModuleId() {
102 assertFieldSetProperly(WorkflowType.VFMODULE, VF_MODULE_ID, workflowResourceIds::getVfModuleId);
103 assertEquals(VF_MODULE_ID,
104 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.VFMODULE));
108 public void shouldProperlySetVolumeGroupId() {
109 assertFieldSetProperly(WorkflowType.VOLUMEGROUP, VOLUME_GROUP_ID, workflowResourceIds::getVolumeGroupId);
110 assertEquals(VOLUME_GROUP_ID,
111 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.VOLUMEGROUP));
115 public void shouldProperlySetNetworkId() {
116 assertFieldSetProperly(WorkflowType.NETWORK, NETWORK_ID, workflowResourceIds::getNetworkId);
117 assertEquals(NETWORK_ID,
118 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.NETWORK));
122 public void shouldProperlySetNetworkCollectionId() {
123 assertFieldSetProperly(WorkflowType.NETWORKCOLLECTION, NETWORK_COLLECTION_ID,
124 workflowResourceIds::getNetworkCollectionId);
125 assertEquals(NETWORK_COLLECTION_ID, WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds,
126 WorkflowType.NETWORKCOLLECTION));
130 public void shouldProperlySetConfigurationId() {
131 assertFieldSetProperly(WorkflowType.CONFIGURATION, CONFIGURATION_ID, workflowResourceIds::getConfigurationId);
132 assertEquals(CONFIGURATION_ID,
133 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.CONFIGURATION));
137 public void shouldProperlySetInstanceGroupId() {
138 assertFieldSetProperly(WorkflowType.INSTANCE_GROUP, INSTANCE_GROUP_ID, workflowResourceIds::getInstanceGroupId);
139 assertEquals(INSTANCE_GROUP_ID,
140 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.INSTANCE_GROUP));
144 public void shouldPropertySetVnfInstanceName() {
145 assertFieldSetProperlyInstanceName(WorkflowType.VNF, VNF_INSTANCE_NAME,
146 workflowResourceIds::getVnfInstanceName);
150 public void shouldPropertySetVfModuleInstanceName() {
151 assertFieldSetProperlyInstanceName(WorkflowType.VFMODULE, VF_MODULE_INSTANCE_NAME,
152 workflowResourceIds::getVfModuleInstanceName);
156 public void shouldPropertySetPnfInstanceName() {
157 assertFieldSetProperlyInstanceName(WorkflowType.PNF, PNF_INSTANCE_NAME,
158 workflowResourceIds::getPnfInstanceName);
161 private void assertFieldSetProperly(WorkflowType workflowType, String expectedId,
162 Supplier<String> testedObjectField) {
163 WorkflowResourceIdsUtils.setResourceIdByWorkflowType(workflowResourceIds, workflowType, expectedId);
164 assertEquals(expectedId, testedObjectField.get());
167 private void assertFieldSetProperlyInstanceName(WorkflowType workflowType, String expectedId,
168 Supplier<String> testedObjectField) {
169 WorkflowResourceIdsUtils.setInstanceNameByWorkflowType(workflowResourceIds, workflowType, expectedId);
170 assertEquals(expectedId, testedObjectField.get());