Springboot 2.0 upgrade
[so.git] / bpmn / so-bpmn-tasks / src / test / java / org / onap / so / client / orchestration / AAIServiceInstanceResourcesTest.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
21 package org.onap.so.client.orchestration;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.mockito.ArgumentMatchers.any;
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.doThrow;
29 import static org.mockito.Mockito.times;
30 import static org.mockito.Mockito.verify;
31
32 import java.util.Optional;
33
34 import org.junit.Before;
35 import org.junit.Ignore;
36 import org.junit.Test;
37 import org.junit.runner.RunWith;
38 import org.mockito.InjectMocks;
39 import org.mockito.Mock;
40 import org.mockito.junit.MockitoJUnitRunner;
41 import org.onap.so.bpmn.common.data.TestDataSetup;
42 import org.onap.so.bpmn.common.InjectionHelper;
43 import org.onap.so.bpmn.servicedecomposition.bbobjects.Customer;
44 import org.onap.so.bpmn.servicedecomposition.bbobjects.OwningEntity;
45 import org.onap.so.bpmn.servicedecomposition.bbobjects.Project;
46 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceInstance;
47 import org.onap.so.bpmn.servicedecomposition.bbobjects.ServiceSubscription;
48 import org.onap.so.client.aai.AAIResourcesClient;
49 import org.onap.so.client.aai.entities.uri.AAIResourceUri;
50 import org.onap.so.client.aai.mapper.AAIObjectMapper;
51 import org.onap.so.db.catalog.beans.OrchestrationStatus;
52
53 @RunWith(MockitoJUnitRunner.Silent.class)
54 public class AAIServiceInstanceResourcesTest extends TestDataSetup{
55         
56     @InjectMocks
57     private AAIServiceInstanceResources aaiServiceInstanceResources = new AAIServiceInstanceResources();
58     
59     @Mock
60         protected AAIResourcesClient MOCK_aaiResourcesClient;
61     
62     @Mock
63     protected AAIObjectMapper MOCK_aaiObjectMapper;
64     
65     @Mock
66     protected InjectionHelper MOCK_injectionHelper;
67     
68     private ServiceInstance serviceInstance;
69     private ServiceSubscription serviceSubscription;
70     private Customer customer;
71     private Project project;
72     private OwningEntity owningEntity;
73     
74     @Before
75     public void before() {
76         serviceInstance = buildServiceInstance();
77         serviceSubscription = buildServiceSubscription();
78         customer = buildCustomer();
79         project = buildProject();
80         owningEntity = buildOwningEntity();
81         doReturn(MOCK_aaiResourcesClient).when(MOCK_injectionHelper).getAaiClient();
82     }
83     
84     @Test
85     public void deleteServiceInstanceSuccessTest() throws Exception {
86         aaiServiceInstanceResources.deleteServiceInstance(serviceInstance);
87         verify(MOCK_aaiResourcesClient, times(1)).delete(any(AAIResourceUri.class));
88     }
89
90     @Test
91     public void deleteServiceInstanceExceptionTest() throws Exception {
92         expectedException.expect(Exception.class);
93         doThrow(Exception.class).when(MOCK_aaiResourcesClient).delete(isA(AAIResourceUri.class));
94         aaiServiceInstanceResources.deleteServiceInstance(serviceInstance);
95     }
96
97     @Test
98     public void existsServiceInstanceTest() {
99         aaiServiceInstanceResources.existsServiceInstance(serviceInstance);
100         verify(MOCK_aaiResourcesClient, times(1)).exists(any(AAIResourceUri.class));
101     }
102
103     @Test
104     public void createServiceSubscriptionTest() {
105         serviceSubscription.setServiceType("IP-FLEX");
106         customer.setServiceSubscription(serviceSubscription);
107         doReturn(new org.onap.aai.domain.yang.ServiceSubscription()).when(MOCK_aaiObjectMapper).mapServiceSubscription(customer.getServiceSubscription());
108         aaiServiceInstanceResources.createServiceSubscription(customer);
109         verify(MOCK_aaiResourcesClient, times(1)).createIfNotExists(any(AAIResourceUri.class), any(Optional.class));
110     }
111
112     @Test
113     public void createServiceInstanceTest() {
114         serviceSubscription.setServiceType("testSubscriberType");
115         customer.setServiceSubscription(serviceSubscription);
116         doReturn(new org.onap.aai.domain.yang.ServiceInstance()).when(MOCK_aaiObjectMapper).mapServiceInstance(serviceInstance);
117         serviceInstance.setOrchestrationStatus(OrchestrationStatus.PRECREATED);
118         
119         aaiServiceInstanceResources.createServiceInstance(serviceInstance, customer);
120         
121         assertEquals(OrchestrationStatus.INVENTORIED, serviceInstance.getOrchestrationStatus());
122         verify(MOCK_aaiResourcesClient, times(1)).createIfNotExists(any(AAIResourceUri.class), any(Optional.class));
123     }
124
125     @Test
126     public void createProjectTest() {
127         doReturn(new org.onap.aai.domain.yang.Project()).when(MOCK_aaiObjectMapper).mapProject(project);
128         aaiServiceInstanceResources.createProject(project);
129         verify(MOCK_aaiResourcesClient, times(1)).createIfNotExists(any(AAIResourceUri.class), any(Optional.class));
130     }
131
132     @Test
133     public void createProjectandConnectServiceInstanceTest() {
134         doReturn(MOCK_aaiResourcesClient).when(MOCK_aaiResourcesClient).createIfNotExists(any(AAIResourceUri.class), any(Optional.class));
135         doNothing().when(MOCK_aaiResourcesClient).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
136         doReturn(new org.onap.aai.domain.yang.Project()).when(MOCK_aaiObjectMapper).mapProject(project);
137         aaiServiceInstanceResources.createProjectandConnectServiceInstance(project, serviceInstance);
138         verify(MOCK_aaiResourcesClient, times(1)).createIfNotExists(any(AAIResourceUri.class), any(Optional.class));
139         verify(MOCK_aaiResourcesClient, times(1)).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
140     }
141
142     @Test
143     public void createOwningEntityTest() {
144         doReturn(new org.onap.aai.domain.yang.OwningEntity()).when(MOCK_aaiObjectMapper).mapOwningEntity(owningEntity);
145         aaiServiceInstanceResources.createOwningEntity(owningEntity);
146         verify(MOCK_aaiResourcesClient, times(1)).createIfNotExists(any(AAIResourceUri.class), any(Optional.class));
147     }
148
149     @Test
150     public void existsOwningEntityTest() {
151         aaiServiceInstanceResources.existsOwningEntity(owningEntity);
152         verify(MOCK_aaiResourcesClient, times(1)).exists(any(AAIResourceUri.class));
153     }
154
155     @Test
156     public void connectOwningEntityandServiceInstanceTest() {
157         aaiServiceInstanceResources.connectOwningEntityandServiceInstance(owningEntity, serviceInstance);
158         verify(MOCK_aaiResourcesClient, times(1)).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
159     }
160
161     @Test
162     public void createOwningEntityandConnectServiceInstanceTest() {
163         doReturn(MOCK_aaiResourcesClient).when(MOCK_aaiResourcesClient).createIfNotExists(any(AAIResourceUri.class), any(Optional.class));
164         doNothing().when(MOCK_aaiResourcesClient).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
165         doReturn(new org.onap.aai.domain.yang.OwningEntity()).when(MOCK_aaiObjectMapper).mapOwningEntity(owningEntity);
166         aaiServiceInstanceResources.createOwningEntityandConnectServiceInstance(owningEntity, serviceInstance);
167         verify(MOCK_aaiResourcesClient, times(1)).createIfNotExists(any(AAIResourceUri.class), any(Optional.class));
168         verify(MOCK_aaiResourcesClient, times(1)).connect(any(AAIResourceUri.class), any(AAIResourceUri.class));
169     }
170
171     @Test
172     @Ignore
173     public void updateOrchestrationStatusServiceInstanceTest() {
174         aaiServiceInstanceResources.updateOrchestrationStatusServiceInstance(serviceInstance, OrchestrationStatus.ACTIVE);
175         verify(MOCK_aaiResourcesClient, times(1)).update(any(AAIResourceUri.class), any(org.onap.aai.domain.yang.ServiceInstance.class));
176     }
177
178     @Test
179     @Ignore
180     public void test_updateServiceInstance() {
181         aaiServiceInstanceResources.updateServiceInstance(serviceInstance);
182         verify(MOCK_aaiResourcesClient, times(1)).update(any(AAIResourceUri.class), any(org.onap.aai.domain.yang.ServiceInstance.class));
183     }
184 }