2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Modifications Copyright (c) 2020 Nokia
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;
23 import static org.assertj.core.api.Assertions.assertThat;
24 import static org.mockito.Mockito.mock;
25 import static org.mockito.Mockito.when;
26 import java.util.ArrayList;
27 import java.util.Collections;
28 import java.util.List;
29 import java.util.Optional;
30 import org.junit.Test;
31 import org.junit.runner.RunWith;
32 import org.mockito.InjectMocks;
33 import org.mockito.Mock;
34 import org.mockito.junit.MockitoJUnitRunner;
35 import org.onap.aai.domain.yang.VpnBinding;
36 import org.onap.aaiclient.client.aai.entities.AAIResultWrapper;
37 import org.onap.aaiclient.client.aai.entities.Relationships;
38 import org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri;
39 import org.onap.aaiclient.client.aai.entities.uri.AAISimpleUri;
40 import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder.Types;
41 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
42 import org.onap.so.bpmn.servicedecomposition.tasks.BBInputSetupUtils;
44 @RunWith(MockitoJUnitRunner.class)
45 public class WorkflowActionExtractResourcesAAITest {
47 private static final String CONFIGURATION_ID = "configTestId";
48 private static final String VPN_ID = "vpnTestId";
51 private BBInputSetupUtils bbInputSetupUtils;
53 private WorkflowActionExtractResourcesAAI testedObject;
56 public void extractRelationshipsConfigurationSuccess() {
58 Relationships relationships = mock(Relationships.class);
59 when(relationships.getByType(Types.CONFIGURATION)).thenReturn(getConfigurationList());
61 Optional<Configuration> resultOpt = testedObject.extractRelationshipsConfiguration(relationships);
63 assertThat(resultOpt).isNotEmpty();
64 assertThat(resultOpt.get().getConfigurationId()).isEqualTo(CONFIGURATION_ID);
68 public void extractRelationshipsConfiguration_notFound() {
70 Relationships relationships = mock(Relationships.class);
71 when(relationships.getByType(Types.CONFIGURATION)).thenReturn(Collections.emptyList());
73 Optional<Configuration> resultOpt = testedObject.extractRelationshipsConfiguration(relationships);
75 assertThat(resultOpt).isEmpty();
79 public void extractRelationshipsVpnBindingSuccess() {
81 Relationships relationships = mock(Relationships.class);
82 AAIResourceUri aaiResourceUri = mock(AAISimpleUri.class);
83 List<AAIResourceUri> aaiResourceUriList = new ArrayList<>();
84 aaiResourceUriList.add(aaiResourceUri);
85 when(relationships.getRelatedUris(Types.VPN_BINDING)).thenReturn(aaiResourceUriList);
86 AAIResultWrapper aaiResultWrapper = new AAIResultWrapper("{\"vpn-id\" : \"" + VPN_ID + "\"}");
87 when(bbInputSetupUtils.getAAIResourceDepthOne(aaiResourceUri)).thenReturn(aaiResultWrapper);
89 Optional<VpnBinding> resultOpt = testedObject.extractRelationshipsVpnBinding(relationships);
91 assertThat(resultOpt).isNotEmpty();
92 assertThat(resultOpt.get().getVpnId()).isEqualTo(VPN_ID);
95 private List<AAIResultWrapper> getConfigurationList() {
96 List<AAIResultWrapper> configurations = new ArrayList<>();
97 AAIResultWrapper aaiResultWrapper =
98 new AAIResultWrapper("{\"configuration-id\" : \"" + CONFIGURATION_ID + "\"}");
99 configurations.add(aaiResultWrapper);
100 return configurations;