996c0c07e15edfc4ad7d056bfd8d2eb810ad3bc4
[so.git] / bpmn / so-bpmn-tasks / src / test / java / org / onap / so / bpmn / infrastructure / workflow / tasks / utils / WorkflowResourceIdsUtilsTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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
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.onap.so.bpmn.infrastructure.workflow.tasks.utils;
22
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;
30
31
32 public class WorkflowResourceIdsUtilsTest {
33
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;
46
47     @Before
48     public void setUp() {
49         workflowResourceIds = new WorkflowResourceIds();
50     }
51
52     @Test
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);
63
64         workflowResourceIds = WorkflowResourceIdsUtils.getWorkflowResourceIdsFromExecution(execution);
65
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());
74     }
75
76     @Test
77     public void shouldProperlySetServiceInstanceId() {
78         assertFieldSetProperly(WorkflowType.SERVICE, SERVICE_ID, workflowResourceIds::getServiceInstanceId);
79         assertEquals(SERVICE_ID,
80                 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.SERVICE));
81     }
82
83     @Test
84     public void shouldProperlySetVnfId() {
85         assertFieldSetProperly(WorkflowType.VNF, VNF_ID, workflowResourceIds::getVnfId);
86         assertEquals(VNF_ID,
87                 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.VNF));
88     }
89
90     @Test
91     public void shouldProperlySetPnfId() {
92         assertFieldSetProperly(WorkflowType.PNF, PNF_ID, workflowResourceIds::getPnfId);
93         assertEquals(PNF_ID,
94                 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.PNF));
95     }
96
97     @Test
98     public void shouldProperlySetVfModuleId() {
99         assertFieldSetProperly(WorkflowType.VFMODULE, VF_MODULE_ID, workflowResourceIds::getVfModuleId);
100         assertEquals(VF_MODULE_ID,
101                 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.VFMODULE));
102     }
103
104     @Test
105     public void shouldProperlySetVolumeGroupId() {
106         assertFieldSetProperly(WorkflowType.VOLUMEGROUP, VOLUME_GROUP_ID, workflowResourceIds::getVolumeGroupId);
107         assertEquals(VOLUME_GROUP_ID,
108                 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.VOLUMEGROUP));
109     }
110
111     @Test
112     public void shouldProperlySetNetworkId() {
113         assertFieldSetProperly(WorkflowType.NETWORK, NETWORK_ID, workflowResourceIds::getNetworkId);
114         assertEquals(NETWORK_ID,
115                 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.NETWORK));
116     }
117
118     @Test
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));
124     }
125
126     @Test
127     public void shouldProperlySetConfigurationId() {
128         assertFieldSetProperly(WorkflowType.CONFIGURATION, CONFIGURATION_ID, workflowResourceIds::getConfigurationId);
129         assertEquals(CONFIGURATION_ID,
130                 WorkflowResourceIdsUtils.getResourceIdByWorkflowType(workflowResourceIds, WorkflowType.CONFIGURATION));
131     }
132
133     @Test
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));
138     }
139
140     @Test
141     public void shouldPropertySetVnfInstanceName() {
142         assertFieldSetProperlyInstanceName(WorkflowType.VNF, VNF_INSTANCE_NAME,
143                 workflowResourceIds::getVnfInstanceName);
144     }
145
146     @Test
147     public void shouldPropertySetVfModuleInstanceName() {
148         assertFieldSetProperlyInstanceName(WorkflowType.VFMODULE, VF_MODULE_INSTANCE_NAME,
149                 workflowResourceIds::getVfModuleInstanceName);
150     }
151
152     private void assertFieldSetProperly(WorkflowType workflowType, String expectedId,
153             Supplier<String> testedObjectField) {
154         WorkflowResourceIdsUtils.setResourceIdByWorkflowType(workflowResourceIds, workflowType, expectedId);
155         assertEquals(expectedId, testedObjectField.get());
156     }
157
158     private void assertFieldSetProperlyInstanceName(WorkflowType workflowType, String expectedId,
159             Supplier<String> testedObjectField) {
160         WorkflowResourceIdsUtils.setInstanceNameByWorkflowType(workflowResourceIds, workflowType, expectedId);
161         assertEquals(expectedId, testedObjectField.get());
162     }
163
164
165
166 }