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