7aafd900d497b1fb5768a3c79bb99d2efa814eb1
[so.git] / bpmn / MSOCommonBPMN / src / test / java / org / onap / so / client / cds / VnfCDSRequestProviderTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2020 Nordix
4  *  ================================================================================
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at
8  *
9  *        http://www.apache.org/licenses/LICENSE-2.0
10  *  Unless required by applicable law or agreed to in writing, software
11  *  distributed under the License is distributed on an "AS IS" BASIS,
12  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *  See the License for the specific language governing permissions and
14  *  limitations under the License.
15  *
16  *  SPDX-License-Identifier: Apache-2.0
17  *  ============LICENSE_END=========================================================
18  */
19
20 package org.onap.so.client.cds;
21
22
23 import com.fasterxml.jackson.databind.JsonNode;
24 import com.fasterxml.jackson.databind.ObjectMapper;
25 import org.junit.Test;
26 import org.mockito.InjectMocks;
27 import org.mockito.Mock;
28 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
29 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
30 import static org.assertj.core.api.Assertions.assertThat;
31 import static org.junit.Assert.assertNotNull;
32 import static org.junit.Assert.assertTrue;
33 import static org.mockito.Mockito.*;
34
35 public class VnfCDSRequestProviderTest extends AbstractVnfCDSRequestProviderTest {
36
37     @InjectMocks
38     private VnfCDSRequestProvider vnfCDSRequestProvider;
39
40     @Mock
41     protected ConfigureInstanceParamsForVnf configureInstanceParamsForVnf;
42
43     @Test
44     public void testBuildRequestPayloadAssignActionVnf() throws Exception {
45         // given
46         setScopeAndAction(VNF_SCOPE, ASSIGN_ACTION);
47         ServiceInstance instance = createServiceInstance();
48
49         doReturn(instance).when(extractPojosForBB).extractByKey(buildingBlockExecution,
50                 ResourceKey.SERVICE_INSTANCE_ID);
51         doReturn(createGenericVnf()).when(extractPojosForBB).extractByKey(buildingBlockExecution,
52                 ResourceKey.GENERIC_VNF_ID);
53         doNothing().when(configureInstanceParamsForVnf).populateInstanceParams(any(), any(), anyString());
54
55         // when
56         vnfCDSRequestProvider.setExecutionObject(buildingBlockExecution);
57         String payload = vnfCDSRequestProvider.buildRequestPayload(ASSIGN_ACTION).get();
58
59         // verify
60         ObjectMapper mapper = new ObjectMapper();
61         JsonNode payloadJson = mapper.readTree(payload);
62         JsonNode requestNode = payloadJson.findValue("configAssign-request");
63         JsonNode propertiesNode = payloadJson.findValue("configAssign-properties");
64
65         assertNotNull(payload);
66         assertTrue(verfiyJsonFromString(payload));
67         assertThat(requestNode.get("resolution-key").asText()).isEqualTo(GENERIC_VNF_NAME);
68         assertThat(propertiesNode.get("service-instance-id").asText()).isEqualTo(SERVICE_INSTANCE_ID);
69         assertThat(propertiesNode.get("service-model-uuid").asText()).isEqualTo(SERVICE_MODEL_UUID);
70         assertThat(propertiesNode.get("vnf-id").asText()).isEqualTo(GENERIC_VNF_ID);
71         assertThat(propertiesNode.get("vnf-customization-uuid").asText()).isEqualTo(VNF_MODEL_CUSTOMIZATION_UUID);
72     }
73
74     @Test
75     public void testBuildRequestPayloadDeployActionVnf() throws Exception {
76         // given
77         setScopeAndAction(VNF_SCOPE, DEPLOY_ACTION);
78         ServiceInstance instance = createServiceInstance();
79
80         doReturn(instance).when(extractPojosForBB).extractByKey(buildingBlockExecution,
81                 ResourceKey.SERVICE_INSTANCE_ID);
82         doReturn(createGenericVnf()).when(extractPojosForBB).extractByKey(buildingBlockExecution,
83                 ResourceKey.GENERIC_VNF_ID);
84         doNothing().when(configureInstanceParamsForVnf).populateInstanceParams(any(), any(), any());
85
86         // when
87         vnfCDSRequestProvider.setExecutionObject(buildingBlockExecution);
88         String payload = vnfCDSRequestProvider.buildRequestPayload(DEPLOY_ACTION).get();
89
90         // verify
91         ObjectMapper mapper = new ObjectMapper();
92         JsonNode payloadJson = mapper.readTree(payload);
93         JsonNode requestNode = payloadJson.findValue("configDeploy-request");
94         JsonNode propertiesNode = payloadJson.findValue("configDeploy-properties");
95
96         assertNotNull(payload);
97         assertTrue(verfiyJsonFromString(payload));
98         assertThat(requestNode.get("resolution-key").asText()).isEqualTo(GENERIC_VNF_NAME);
99         assertThat(propertiesNode.get("service-instance-id").asText()).isEqualTo(SERVICE_INSTANCE_ID);
100         assertThat(propertiesNode.get("service-model-uuid").asText()).isEqualTo(SERVICE_MODEL_UUID);
101         assertThat(propertiesNode.get("vnf-id").asText()).isEqualTo(GENERIC_VNF_ID);
102         assertThat(propertiesNode.get("vnf-customization-uuid").asText()).isEqualTo(VNF_MODEL_CUSTOMIZATION_UUID);
103     }
104 }