Merge "Enhancing SO SDC Controller to invoke ONAP-ETSI Catalog APIs"
[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
44     private WorkflowResourceIds workflowResourceIds;
45
46     @Before
47     public void setUp() {
48         workflowResourceIds = new WorkflowResourceIds();
49     }
50
51     @Test
52     public void shouldProperlySetFieldsFromExecution() {
53         DelegateExecutionFake execution = new DelegateExecutionFake();
54         execution.setVariable("serviceInstanceId", SERVICE_ID);
55         execution.setVariable("networkId", NETWORK_ID);
56         execution.setVariable("vfModuleId", VF_MODULE_ID);
57         execution.setVariable("vnfId", VNF_ID);
58         execution.setVariable("volumeGroupId", VOLUME_GROUP_ID);
59         execution.setVariable("instanceGroupId", INSTANCE_GROUP_ID);
60
61         workflowResourceIds = WorkflowResourceIdsUtils.getWorkflowResourceIdsFromExecution(execution);
62
63         assertEquals(SERVICE_ID, workflowResourceIds.getServiceInstanceId());
64         assertEquals(NETWORK_ID, workflowResourceIds.getNetworkId());
65         assertEquals(VF_MODULE_ID, workflowResourceIds.getVfModuleId());
66         assertEquals(VNF_ID, workflowResourceIds.getVnfId());
67         assertEquals(VOLUME_GROUP_ID, workflowResourceIds.getVolumeGroupId());
68         assertEquals(INSTANCE_GROUP_ID, workflowResourceIds.getInstanceGroupId());
69     }
70
71     @Test
72     public void shouldProperlySetServiceInstanceId() {
73         assertFieldSetProperly(WorkflowType.SERVICE, SERVICE_ID, workflowResourceIds::getServiceInstanceId);
74     }
75
76     @Test
77     public void shouldProperlySetVnfId() {
78         assertFieldSetProperly(WorkflowType.VNF, VNF_ID, workflowResourceIds::getVnfId);
79
80     }
81
82     @Test
83     public void shouldProperlySetPnfId() {
84         assertFieldSetProperly(WorkflowType.PNF, PNF_ID, workflowResourceIds::getPnfId);
85     }
86
87     @Test
88     public void shouldProperlySetVfModuleId() {
89         assertFieldSetProperly(WorkflowType.VFMODULE, VF_MODULE_ID, workflowResourceIds::getVfModuleId);
90     }
91
92     @Test
93     public void shouldProperlySetVolumeGroupId() {
94         assertFieldSetProperly(WorkflowType.VOLUMEGROUP, VOLUME_GROUP_ID, workflowResourceIds::getVolumeGroupId);
95     }
96
97     @Test
98     public void shouldProperlySetNetworkId() {
99         assertFieldSetProperly(WorkflowType.NETWORK, NETWORK_ID, workflowResourceIds::getNetworkId);
100     }
101
102     @Test
103     public void shouldProperlySetNetworkCollectionId() {
104         assertFieldSetProperly(WorkflowType.NETWORKCOLLECTION, NETWORK_COLLECTION_ID,
105                 workflowResourceIds::getNetworkCollectionId);
106
107     }
108
109     @Test
110     public void shouldProperlySetConfigurationId() {
111         assertFieldSetProperly(WorkflowType.CONFIGURATION, CONFIGURATION_ID, workflowResourceIds::getConfigurationId);
112     }
113
114     @Test
115     public void shouldProperlySetInstanceGroupId() {
116         assertFieldSetProperly(WorkflowType.INSTANCE_GROUP, INSTANCE_GROUP_ID, workflowResourceIds::getInstanceGroupId);
117     }
118
119     private void assertFieldSetProperly(WorkflowType workflowType, String expectedId,
120             Supplier<String> testedObjectField) {
121         WorkflowResourceIdsUtils.setResourceIdByWorkflowType(workflowResourceIds, workflowType, expectedId);
122         assertEquals(expectedId, testedObjectField.get());
123     }
124 }