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 WorkflowResourceIds workflowResourceIds;
49 workflowResourceIds = new WorkflowResourceIds();
53 public void shouldProperlySetFieldsFromExecution() {
54 DelegateExecutionFake execution = new DelegateExecutionFake();
55 execution.setVariable("serviceInstanceId", SERVICE_ID);
56 execution.setVariable("networkId", NETWORK_ID);
57 execution.setVariable("vfModuleId", VF_MODULE_ID);
58 execution.setVariable("vnfId", VNF_ID);
59 execution.setVariable("volumeGroupId", VOLUME_GROUP_ID);
60 execution.setVariable("instanceGroupId", INSTANCE_GROUP_ID);
61 execution.setVariable("vnfInstanceName", VNF_INSTANCE_NAME);
62 execution.setVariable("vfModuleInstanceName", VF_MODULE_INSTANCE_NAME);
64 workflowResourceIds = WorkflowResourceIdsUtils.getWorkflowResourceIdsFromExecution(execution);
66 assertEquals(SERVICE_ID, workflowResourceIds.getServiceInstanceId());
67 assertEquals(NETWORK_ID, workflowResourceIds.getNetworkId());
68 assertEquals(VF_MODULE_ID, workflowResourceIds.getVfModuleId());
69 assertEquals(VNF_ID, workflowResourceIds.getVnfId());
70 assertEquals(VOLUME_GROUP_ID, workflowResourceIds.getVolumeGroupId());
71 assertEquals(INSTANCE_GROUP_ID, workflowResourceIds.getInstanceGroupId());
72 assertEquals(VNF_INSTANCE_NAME, workflowResourceIds.getVnfInstanceName());
73 assertEquals(VF_MODULE_INSTANCE_NAME, workflowResourceIds.getVfModuleInstanceName());
77 public void shouldProperlySetServiceInstanceId() {
78 assertFieldSetProperly(WorkflowType.SERVICE, SERVICE_ID, workflowResourceIds::getServiceInstanceId);
79 assertEquals(SERVICE_ID,
80 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.SERVICE));
84 public void shouldProperlySetVnfId() {
85 assertFieldSetProperly(WorkflowType.VNF, VNF_ID, workflowResourceIds::getVnfId);
87 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.VNF));
91 public void shouldProperlySetPnfId() {
92 assertFieldSetProperly(WorkflowType.PNF, PNF_ID, workflowResourceIds::getPnfId);
94 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.PNF));
98 public void shouldProperlySetVfModuleId() {
99 assertFieldSetProperly(WorkflowType.VFMODULE, VF_MODULE_ID, workflowResourceIds::getVfModuleId);
100 assertEquals(VF_MODULE_ID,
101 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.VFMODULE));
105 public void shouldProperlySetVolumeGroupId() {
106 assertFieldSetProperly(WorkflowType.VOLUMEGROUP, VOLUME_GROUP_ID, workflowResourceIds::getVolumeGroupId);
107 assertEquals(VOLUME_GROUP_ID,
108 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.VOLUMEGROUP));
112 public void shouldProperlySetNetworkId() {
113 assertFieldSetProperly(WorkflowType.NETWORK, NETWORK_ID, workflowResourceIds::getNetworkId);
114 assertEquals(NETWORK_ID,
115 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.NETWORK));
119 public void shouldProperlySetNetworkCollectionId() {
120 assertFieldSetProperly(WorkflowType.NETWORKCOLLECTION, NETWORK_COLLECTION_ID,
121 workflowResourceIds::getNetworkCollectionId);
122 assertEquals(NETWORK_COLLECTION_ID, WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds,
123 WorkflowType.NETWORKCOLLECTION));
127 public void shouldProperlySetConfigurationId() {
128 assertFieldSetProperly(WorkflowType.CONFIGURATION, CONFIGURATION_ID, workflowResourceIds::getConfigurationId);
129 assertEquals(CONFIGURATION_ID,
130 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.CONFIGURATION));
134 public void shouldProperlySetInstanceGroupId() {
135 assertFieldSetProperly(WorkflowType.INSTANCE_GROUP, INSTANCE_GROUP_ID, workflowResourceIds::getInstanceGroupId);
136 assertEquals(INSTANCE_GROUP_ID,
137 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.INSTANCE_GROUP));
141 public void shouldPropertySetVnfInstanceName() {
142 assertFieldSetProperlyInstanceName(WorkflowType.VNF, VNF_INSTANCE_NAME,
143 workflowResourceIds::getVnfInstanceName);
147 public void shouldPropertySetVfModuleInstanceName() {
148 assertFieldSetProperlyInstanceName(WorkflowType.VFMODULE, VF_MODULE_INSTANCE_NAME,
149 workflowResourceIds::getVfModuleInstanceName);
152 private void assertFieldSetProperly(WorkflowType workflowType, String expectedId,
153 Supplier<String> testedObjectField) {
154 WorkflowResourceIdsUtils.setResourceIdByWorkflowType(workflowResourceIds, workflowType, expectedId);
155 assertEquals(expectedId, testedObjectField.get());
158 private void assertFieldSetProperlyInstanceName(WorkflowType workflowType, String expectedId,
159 Supplier<String> testedObjectField) {
160 WorkflowResourceIdsUtils.setInstanceNameByWorkflowType(workflowResourceIds, workflowType, expectedId);
161 assertEquals(expectedId, testedObjectField.get());