70ce3a1eed66843dfd8b3cbb0aab0825dd471bc2
[so.git] / bpmn / MSOCommonBPMN / src / test / java / org / onap / so / client / cds / ServiceCDSRequestProviderTest.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 import com.fasterxml.jackson.databind.JsonNode;
23 import com.fasterxml.jackson.databind.ObjectMapper;
24 import org.junit.Test;
25 import org.mockito.InjectMocks;
26 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
27 import org.onap.so.bpmn.servicedecomposition.entities.ResourceKey;
28 import static org.assertj.core.api.Assertions.assertThat;
29 import static org.junit.Assert.assertNotNull;
30 import static org.junit.Assert.assertTrue;
31 import static org.mockito.Mockito.*;
32
33 public class ServiceCDSRequestProviderTest extends AbstractVnfCDSRequestProviderTest {
34
35     @InjectMocks
36     private ServiceCDSRequestProvider serviceCDSRequestProvider;
37
38     @Test
39     public void testRequestPayloadForCreateService() throws Exception {
40         // given
41         setScopeAndAction(SERVICE_SCOPE, SERVICE_ACTION);
42         ServiceInstance instance = createServiceInstance();
43         doReturn(instance).when(extractPojosForBB).extractByKey(buildingBlockExecution,
44                 ResourceKey.SERVICE_INSTANCE_ID);
45
46         // when
47         serviceCDSRequestProvider.setExecutionObject(buildingBlockExecution);
48         String payload = serviceCDSRequestProvider.buildRequestPayload(SERVICE_ACTION).get();
49
50         // verify
51         ObjectMapper mapper = new ObjectMapper();
52         JsonNode payloadJson = mapper.readTree(payload);
53         JsonNode requestNode = payloadJson.findValue("create-request");
54         JsonNode propertiesNode = payloadJson.findValue("create-properties");
55
56         assertNotNull(payload);
57         assertTrue(verfiyJsonFromString(payload));
58         assertThat(requestNode.get("resolution-key").asText()).isEqualTo(SERVICE_INSTANCE_NAME);
59         assertThat(propertiesNode.get("service-instance-id").asText()).isEqualTo(SERVICE_INSTANCE_ID);
60         assertThat(propertiesNode.get("service-model-uuid").asText()).isEqualTo(SERVICE_MODEL_UUID);
61     }
62 }