Removed deprecated Matcher imports
[so.git] / bpmn / so-bpmn-tasks / src / test / java / org / onap / so / client / orchestration / AAIConfigurationResourcesTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T 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 package org.onap.so.client.orchestration;
21
22 import static org.junit.Assert.assertEquals;
23 import static org.mockito.ArgumentMatchers.any;
24 import static org.mockito.ArgumentMatchers.eq;
25 import static org.mockito.ArgumentMatchers.isA;
26 import static org.mockito.Mockito.doNothing;
27 import static org.mockito.Mockito.doReturn;
28 import static org.mockito.Mockito.times;
29 import static org.mockito.Mockito.verify;
30
31 import java.util.Optional;
32
33 import org.junit.Before;
34 import org.junit.Test;
35 import org.junit.runner.RunWith;
36 import org.mockito.ArgumentMatchers;
37 import org.mockito.InjectMocks;
38 import org.mockito.Mock;
39 import org.mockito.junit.MockitoJUnitRunner;
40 import org.onap.so.bpmn.common.data.TestDataSetup;
41 import org.onap.so.bpmn.common.InjectionHelper;
42 import org.onap.so.bpmn.servicedecomposition.bbobjects.Configuration;
43 import org.onap.so.bpmn.servicedecomposition.bbobjects.GenericVnf;
44 import org.onap.so.bpmn.servicedecomposition.bbobjects.Pnf;
45 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
46 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceProxy;
47 import org.onap.so.bpmn.servicedecomposition.bbobjects.VfModule;
48 import org.onap.so.bpmn.servicedecomposition.bbobjects.VpnBinding;
49 import org.onap.so.client.aai.AAIObjectType;
50 import org.onap.so.client.aai.AAIResourcesClient;
51 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
52 import org.onap.so.client.aai.entities.uri.AAIUriFactory;
53 import org.onap.so.client.aai.mapper.AAIObjectMapper;
54 import org.onap.so.db.catalog.beans.OrchestrationStatus;
55 import org.onap.so.bpmn.common.data.TestDataSetup;
56
57
58 @RunWith(MockitoJUnitRunner.Silent.class)
59 public class AAIConfigurationResourcesTest extends TestDataSetup{
60         
61         
62         
63         private Configuration configuration;
64     private ServiceProxy serviceProxy;
65     private ServiceInstance serviceInstance;
66     private GenericVnf genericVnf;
67     private VpnBinding vpnBinding;
68     private VfModule vfModule;
69     
70         @Mock
71         protected AAIResourcesClient MOCK_aaiResourcesClient;
72     
73     @Mock
74     protected AAIObjectMapper MOCK_aaiObjectMapper;
75     
76     @Mock
77     protected InjectionHelper MOCK_injectionHelper;
78     
79     @InjectMocks
80         private AAIConfigurationResources aaiConfigurationResources = new AAIConfigurationResources();
81     
82     @Before
83     public void before() {
84         configuration = buildConfiguration();
85         serviceProxy = buildServiceProxy();
86         serviceInstance = buildServiceInstance();
87         genericVnf = buildGenericVnf();
88         vfModule = buildVfModule();
89         vpnBinding = buildVpnBinding();
90         doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
91     }
92         
93     @Test
94     public void createConfigurationTest() {
95         doReturn(new org.onap.aai.domain.yang.Configuration()).when(MOCK_aaiObjectMapper).mapConfiguration(configuration);
96         doNothing().when(MOCK_aaiResourcesClient).create(isA(AAIResourceUri.class), isA(org.onap.aai.domain.yang.Configuration.class));
97         
98         aaiConfigurationResources.createConfiguration(configuration);
99         
100         assertEquals(OrchestrationStatus.INVENTORIED, configuration.getOrchestrationStatus());
101         verify(MOCK_aaiResourcesClient, times(1)).create(any(AAIResourceUri.class), isA(org.onap.aai.domain.yang.Configuration.class));
102     }
103
104     @Test
105     public void updateConfigurationTest() {       
106         doNothing().when(MOCK_aaiResourcesClient).update(isA(AAIResourceUri.class), isA(org.onap.aai.domain.yang.Configuration.class));
107         configuration.setConfigurationType("VNR");
108         configuration.setOrchestrationStatus(OrchestrationStatus.ACTIVE);
109         aaiConfigurationResources.updateConfiguration(configuration);
110         verify(MOCK_aaiResourcesClient, times(1)).update(any(AAIResourceUri.class),ArgumentMatchers.isNull());
111     }
112
113     @Test
114     public void connectConfigurationToServiceInstanceTest() {
115         doNothing().when(MOCK_aaiResourcesClient).connect(isA(AAIResourceUri.class), isA(AAIResourceUri.class));
116         aaiConfigurationResources.connectConfigurationToServiceInstance(configuration.getConfigurationId(), serviceInstance.getServiceInstanceId());
117         verify(MOCK_aaiResourcesClient, times(1)).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
118     }
119     
120     @Test
121     public void disconnectConfigurationToServiceInstanceTest(){
122         doNothing().when(MOCK_aaiResourcesClient).disconnect(isA(AAIResourceUri.class), isA(AAIResourceUri.class));
123         aaiConfigurationResources.disconnectConfigurationToServiceInstance("TEST_CONFIGURATION_ID", "TEST_SERVICE_INSTANCE_ID");
124         verify(MOCK_aaiResourcesClient, times(1)).disconnect(any(AAIResourceUri.class), any(AAIResourceUri.class));
125     }
126
127     @Test
128     public void connectConfigurationToGenericVnfTest() {
129         doNothing().when(MOCK_aaiResourcesClient).connect(isA(AAIResourceUri.class), isA(AAIResourceUri.class));
130         aaiConfigurationResources.connectConfigurationToGenericVnf(configuration.getConfigurationId(), genericVnf.getVnfId());
131         verify(MOCK_aaiResourcesClient, times(1)).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
132     }
133     
134     @Test
135     public void connectConfigurationToVfModuleTest() {
136         doNothing().when(MOCK_aaiResourcesClient).connect(isA(AAIResourceUri.class), isA(AAIResourceUri.class));
137         aaiConfigurationResources.connectConfigurationToVfModule(configuration.getConfigurationId(), vfModule.getVfModuleId(),genericVnf.getVnfId());
138         verify(MOCK_aaiResourcesClient, times(1)).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
139     }
140     
141     @Test
142     public void connectConfigurationToVnfcTest() {
143         doNothing().when(MOCK_aaiResourcesClient).connect(isA(AAIResourceUri.class), isA(AAIResourceUri.class));
144         aaiConfigurationResources.connectConfigurationToVnfc(configuration.getConfigurationId(), "vnfcName");
145         verify(MOCK_aaiResourcesClient, times(1)).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
146     }
147
148     @Test
149     public void connectConfigurationToVpnBindingTest() {
150         doNothing().when(MOCK_aaiResourcesClient).connect(isA(AAIResourceUri.class), isA(AAIResourceUri.class));
151         aaiConfigurationResources.connectConfigurationToVpnBinding(configuration.getConfigurationId(), vpnBinding.getVpnId());
152         verify(MOCK_aaiResourcesClient, times(1)).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
153     }
154
155     @Test
156     public void getConfigurationFromRelatedLinkTest () {
157         Optional<org.onap.aai.domain.yang.Configuration>  configuration = Optional.of(new org.onap.aai.domain.yang.Configuration());
158         configuration.get().setConfigurationId("config1");
159         doReturn(configuration).when(MOCK_aaiResourcesClient).get(eq(org.onap.aai.domain.yang.Configuration.class),isA(AAIResourceUri.class));
160         aaiConfigurationResources.getConfigurationFromRelatedLink("http://localhost:8090/aai/v12/network/configurations/configuration/config1");
161         verify(MOCK_aaiResourcesClient, times(1)).get(eq(org.onap.aai.domain.yang.Configuration.class),isA(AAIResourceUri.class));
162     }
163
164     @Test
165     public void connectVrfConfigurationToVnrConfigurationTest() throws Exception {
166         Configuration vrfConfiguration = buildConfiguration();
167         Configuration vnrConfiguration = buildConfiguration();
168         doNothing().when(MOCK_aaiResourcesClient).connect(isA(AAIResourceUri.class), isA(AAIResourceUri.class));
169         aaiConfigurationResources.connectVrfConfigurationToVnrConfiguration(vrfConfiguration.getConfigurationId(),vnrConfiguration.getConfigurationId());
170         verify(MOCK_aaiResourcesClient, times(1)).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
171     }
172
173     @Test
174     public void connectConfigurationToPnfObjectTest() throws Exception {
175         doNothing().when(MOCK_aaiResourcesClient).connect(isA(AAIResourceUri.class), isA(AAIResourceUri.class));
176         
177         Pnf primaryPnf = serviceProxy.getServiceInstance().getPnfs().stream().filter(o -> o.getRole().equals("Primary")).findFirst().get();
178         
179         aaiConfigurationResources.connectConfigurationToPnfObject(primaryPnf.getPnfId(), configuration.getConfigurationId());
180         verify(MOCK_aaiResourcesClient, times(1)).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
181     }
182
183     @Test
184     public void getConfigurationTest() {
185         AAIResourceUri aaiResourceUri = AAIUriFactory.createResourceUri(AAIObjectType.CONFIGURATION, "configurationId");
186         doReturn(Optional.of(new org.onap.aai.domain.yang.Configuration())).when(MOCK_aaiResourcesClient).get(org.onap.aai.domain.yang.Configuration.class, aaiResourceUri);
187         aaiConfigurationResources.getConfiguration("configurationId");
188         verify(MOCK_aaiResourcesClient, times(1)).get(org.onap.aai.domain.yang.Configuration.class, aaiResourceUri);
189     }
190
191     @Test
192     public void deleteConfigurationTest() {
193         AAIResourceUri aaiResourceUri = AAIUriFactory.createResourceUri(AAIObjectType.CONFIGURATION, "configurationId");
194         doNothing().when(MOCK_aaiResourcesClient).delete(aaiResourceUri);
195         aaiConfigurationResources.deleteConfiguration("configurationId");
196         verify(MOCK_aaiResourcesClient, times(1)).delete(aaiResourceUri);
197     }
198     
199     @Test
200         public void updateOrchestrationStatusConfigurationTest() throws Exception {
201                 configuration.setOrchestrationStatus(OrchestrationStatus.ACTIVE);
202                 doNothing().when(MOCK_aaiResourcesClient).update(isA(AAIResourceUri.class), isA(org.onap.aai.domain.yang.Configuration.class));
203                 aaiConfigurationResources.updateOrchestrationStatusConfiguration(configuration,OrchestrationStatus.ACTIVE);             
204                 verify(MOCK_aaiResourcesClient, times(1)).update(any(AAIResourceUri.class), ArgumentMatchers.isNull());
205                 assertEquals(OrchestrationStatus.ACTIVE, configuration.getOrchestrationStatus());
206         }
207 }