2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017-2019 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
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 perservice2sions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.so.adapters.tasks.audit;
23 import static org.junit.Assert.assertEquals;
24 import static org.mockito.Mockito.doReturn;
25 import java.io.IOException;
26 import java.nio.file.Files;
27 import java.nio.file.Paths;
28 import java.util.HashSet;
29 import java.util.Optional;
31 import org.junit.Assert;
32 import org.junit.Before;
33 import org.junit.Test;
34 import org.junit.runner.RunWith;
35 import org.mockito.InjectMocks;
36 import org.mockito.Mock;
37 import org.mockito.Mockito;
38 import org.mockito.junit.MockitoJUnitRunner;
39 import org.onap.aai.domain.yang.LInterface;
40 import org.onap.aai.domain.yang.LInterfaces;
41 import org.onap.aai.domain.yang.VfModule;
42 import org.onap.aai.domain.yang.VfModules;
43 import org.onap.aai.domain.yang.Vserver;
44 import org.onap.aaiclient.client.aai.AAIObjectType;
45 import org.onap.aaiclient.client.aai.AAIResourcesClient;
46 import org.onap.aaiclient.client.aai.entities.AAIResultWrapper;
47 import org.onap.aaiclient.client.aai.entities.uri.AAIResourceUri;
48 import org.onap.aaiclient.client.aai.entities.uri.AAIUriFactory;
49 import org.onap.aaiclient.client.generated.fluentbuilders.AAIFluentTypeBuilder;
50 import org.onap.so.objects.audit.AAIObjectAudit;
51 import org.onap.so.objects.audit.AAIObjectAuditList;
52 import org.skyscreamer.jsonassert.JSONAssert;
53 import com.fasterxml.jackson.annotation.JsonInclude.Include;
54 import com.fasterxml.jackson.core.JsonParseException;
55 import com.fasterxml.jackson.databind.JsonMappingException;
56 import com.fasterxml.jackson.databind.ObjectMapper;
58 @RunWith(MockitoJUnitRunner.Silent.class)
59 public class AuditVServerTest extends AuditVServer {
61 private ObjectMapper objectMapper = new ObjectMapper();
64 private AuditVServer auditNova = new AuditVServer();
67 private AAIResourcesClient aaiResourcesMock;
69 private String cloudOwner = "cloudOwner";
70 private String cloudRegion = "cloudRegion";
71 private String tenantId = "tenantId";
73 private AAIResourceUri vserverURI = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure()
74 .cloudRegion(cloudOwner, cloudRegion).tenant(tenantId).vserver("3a4c2ca5-27b3-4ecc-98c5-06804867c4db"));
76 private AAIResourceUri vserverURI2 = AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure()
77 .cloudRegion(cloudOwner, cloudRegion).tenant(tenantId).vserver("3a4c2ca5-27b3-4ecc-98c5-06804867c4dz"));
79 private AAIResourceUri ssc_1_trusted_port_0_uri = AAIUriFactory.createResourceUri(
80 AAIFluentTypeBuilder.cloudInfrastructure().cloudRegion(cloudOwner, cloudRegion).tenant(tenantId)
81 .vserver("3a4c2ca5-27b3-4ecc-98c5-06804867c4db").lInterface("ssc_1_trusted_port_0"));
83 private AAIResourceUri ssc_1_service1_port_0_uri = AAIUriFactory.createResourceUri(
84 AAIFluentTypeBuilder.cloudInfrastructure().cloudRegion(cloudOwner, cloudRegion).tenant(tenantId)
85 .vserver("3a4c2ca5-27b3-4ecc-98c5-06804867c4db").lInterface("ssc_1_service1_port_0"));
87 private AAIResourceUri ssc_1_mgmt_port_1_uri = AAIUriFactory
88 .createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure().cloudRegion(cloudOwner, cloudRegion)
89 .tenant(tenantId).vserver("3a4c2ca5-27b3-4ecc-98c5-06804867c4db").lInterface("ssc_1_mgmt_port_1"));
91 private AAIResourceUri ssc_1_mgmt_port_0_uri = AAIUriFactory
92 .createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure().cloudRegion(cloudOwner, cloudRegion)
93 .tenant(tenantId).vserver("3a4c2ca5-27b3-4ecc-98c5-06804867c4db").lInterface("ssc_1_mgmt_port_0"));
95 private AAIResourceUri ssc_1_service2_port_0_uri = AAIUriFactory.createResourceUri(
96 AAIFluentTypeBuilder.cloudInfrastructure().cloudRegion(cloudOwner, cloudRegion).tenant(tenantId)
97 .vserver("3a4c2ca5-27b3-4ecc-98c5-06804867c4db").lInterface("ssc_1_service2_port_0"));
99 private AAIResourceUri ssc_1_int_ha_port_0_uri = AAIUriFactory.createResourceUri(
100 AAIFluentTypeBuilder.cloudInfrastructure().cloudRegion(cloudOwner, cloudRegion).tenant(tenantId)
101 .vserver("3a4c2ca5-27b3-4ecc-98c5-06804867c4db").lInterface("ssc_1_int_ha_port_0"));
103 private AAIResourceUri test_port_1_uri = AAIUriFactory
104 .createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure().cloudRegion(cloudOwner, cloudRegion)
105 .tenant(tenantId).vserver("3a4c2ca5-27b3-4ecc-98c5-06804867c4dz").lInterface("test_port_1"));
107 private AAIResourceUri test_port_2_uri = AAIUriFactory
108 .createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure().cloudRegion(cloudOwner, cloudRegion)
109 .tenant(tenantId).vserver("3a4c2ca5-27b3-4ecc-98c5-06804867c4dz").lInterface("test_port_2"));
111 private AAIResourceUri service2_sub_1_uri =
112 AAIUriFactory.createResourceUri(AAIObjectType.SUB_L_INTERFACE, cloudOwner, cloudRegion, tenantId,
113 "3a4c2ca5-27b3-4ecc-98c5-06804867c4db", "ssc_1_service2_port_0", "service2_sub_interface_1");
115 private AAIResourceUri service1_sub_0_uri =
116 AAIUriFactory.createResourceUri(AAIObjectType.SUB_L_INTERFACE, cloudOwner, cloudRegion, tenantId,
117 "3a4c2ca5-27b3-4ecc-98c5-06804867c4db", "ssc_1_service1_port_0", "service1_sub_interface_1");
119 private AAIResourceUri service1_sub_1_uri =
120 AAIUriFactory.createResourceUri(AAIObjectType.SUB_L_INTERFACE, cloudOwner, cloudRegion, tenantId,
121 "3a4c2ca5-27b3-4ecc-98c5-06804867c4db", "ssc_1_service1_port_0", "service1_sub_interface_2");
125 private Set<Vserver> vserversToAudit = new HashSet<>();
127 LInterface test_port_1 = new LInterface();
128 LInterface test_port_2 = new LInterface();
129 LInterface ssc_1_int_ha_port_0 = new LInterface();
130 LInterface service2_sub_interface_1 = new LInterface();
131 LInterface ssc_1_service2_port_0 = new LInterface();
132 LInterface ssc_1_mgmt_port_0 = new LInterface();
133 LInterface ssc_1_mgmt_port_1 = new LInterface();
134 LInterface service1_sub_interface_2 = new LInterface();
135 LInterface service1_sub_interface_1 = new LInterface();
136 LInterface ssc_1_service1_port_0 = new LInterface();
137 LInterface ssc_1_trusted_port_0 = new LInterface();
142 public void setup() {
143 objectMapper.setSerializationInclusion(Include.NON_NULL);
144 auditNova.setAaiClient(aaiResourcesMock);
146 Vserver vServer1 = new Vserver();
147 vServer1.setVserverId("3a4c2ca5-27b3-4ecc-98c5-06804867c4db");
148 LInterfaces vServer1Linterfaces = new LInterfaces();
149 vServer1.setLInterfaces(vServer1Linterfaces);
151 ssc_1_trusted_port_0.setInterfaceId("dec8bdc7-5718-41dc-bfbb-561ff6eeb81c");
152 ssc_1_trusted_port_0.setInterfaceName("ssc_1_trusted_port_0");
153 vServer1.getLInterfaces().getLInterface().add(ssc_1_trusted_port_0);
156 ssc_1_service1_port_0.setInterfaceId("1c56a24b-5f03-435a-850d-31cd4252de56");
157 ssc_1_service1_port_0.setInterfaceName("ssc_1_service1_port_0");
158 vServer1.getLInterfaces().getLInterface().add(ssc_1_service1_port_0);
159 ssc_1_service1_port_0.setLInterfaces(new LInterfaces());
162 service1_sub_interface_1.setInterfaceId("0d9cd813-2ae1-46c0-9ebb-48081f6cffbb");
163 service1_sub_interface_1.setInterfaceName("service1_sub_interface_1");
164 ssc_1_service1_port_0.getLInterfaces().getLInterface().add(service1_sub_interface_1);
167 service1_sub_interface_2.setInterfaceId("b7019dd0-2ee9-4447-bdef-ac25676b205a");
168 service1_sub_interface_2.setInterfaceName("service1_sub_interface_2");
169 ssc_1_service1_port_0.getLInterfaces().getLInterface().add(service1_sub_interface_2);
172 ssc_1_mgmt_port_1.setInterfaceId("12afcd28-929f-4d80-8a5a-0833bfd5e20b");
173 ssc_1_mgmt_port_1.setInterfaceName("ssc_1_mgmt_port_1");
174 vServer1.getLInterfaces().getLInterface().add(ssc_1_mgmt_port_1);
176 ssc_1_mgmt_port_0.setInterfaceId("80baec42-ffae-425f-ad8c-3f7b2c24bfff");
177 ssc_1_mgmt_port_0.setInterfaceName("ssc_1_mgmt_port_0");
178 vServer1.getLInterfaces().getLInterface().add(ssc_1_mgmt_port_0);
181 ssc_1_service2_port_0.setLInterfaces(new LInterfaces());
182 ssc_1_service2_port_0.setInterfaceId("13eddf95-4cf3-45f2-823a-2d890a6549b4");
183 ssc_1_service2_port_0.setInterfaceName("ssc_1_service2_port_0");
184 vServer1.getLInterfaces().getLInterface().add(ssc_1_service2_port_0);
187 service2_sub_interface_1.setInterfaceId("f711be16-2654-4a09-b89d-0511fda20e81");
188 service2_sub_interface_1.setInterfaceName("service2_sub_interface_1");
189 ssc_1_service2_port_0.getLInterfaces().getLInterface().add(service2_sub_interface_1);
192 ssc_1_int_ha_port_0.setInterfaceId("9cab2903-70f7-44fd-b681-491d6ae2adb8");
193 ssc_1_int_ha_port_0.setInterfaceName("ssc_1_int_ha_port_0");
194 vServer1.getLInterfaces().getLInterface().add(ssc_1_int_ha_port_0);
196 Vserver vServer2 = new Vserver();
197 vServer2.setVserverId("3a4c2ca5-27b3-4ecc-98c5-06804867c4dz");
198 LInterfaces vServer2Linterfaces = new LInterfaces();
199 vServer2.setLInterfaces(vServer2Linterfaces);
201 test_port_1.setInterfaceId("9cab2903-70f7-44fd-b681-491d6ae2adz1");
202 test_port_1.setInterfaceName("test_port_1");
205 test_port_2.setInterfaceId("9cab2903-70f7-44fd-b681-491d6ae2adz2");
206 test_port_2.setInterfaceName("test_port_2");
208 vServer2.getLInterfaces().getLInterface().add(test_port_1);
209 vServer2.getLInterfaces().getLInterface().add(test_port_2);
211 vserversToAudit.add(vServer1);
212 vserversToAudit.add(vServer2);
216 public void audit_Vserver_Empty_HashSet() throws JsonParseException, JsonMappingException, IOException {
217 Optional<AAIObjectAuditList> actual =
218 auditNova.auditVservers(new HashSet<Vserver>(), tenantId, cloudOwner, cloudRegion);
219 assertEquals(Optional.empty(), actual);
223 public void audit_Vserver_Found_Test() throws JsonParseException, JsonMappingException, IOException {
224 doReturn(true).when(aaiResourcesMock).exists(vserverURI);
225 doReturn(true).when(aaiResourcesMock).exists(vserverURI2);
226 doReturn(Optional.of(ssc_1_trusted_port_0)).when(aaiResourcesMock).get(LInterface.class,
227 ssc_1_trusted_port_0_uri);
228 doReturn(Optional.of(ssc_1_service1_port_0)).when(aaiResourcesMock).get(LInterface.class,
229 ssc_1_service1_port_0_uri);
230 doReturn(Optional.of(ssc_1_mgmt_port_1)).when(aaiResourcesMock).get(LInterface.class, ssc_1_mgmt_port_1_uri);
231 doReturn(Optional.of(ssc_1_mgmt_port_0)).when(aaiResourcesMock).get(LInterface.class, ssc_1_mgmt_port_0_uri);
232 doReturn(Optional.of(ssc_1_service2_port_0)).when(aaiResourcesMock).get(LInterface.class,
233 ssc_1_service2_port_0_uri);
234 doReturn(Optional.of(service2_sub_interface_1)).when(aaiResourcesMock).get(LInterface.class,
236 doReturn(Optional.of(ssc_1_int_ha_port_0)).when(aaiResourcesMock).get(LInterface.class,
237 ssc_1_int_ha_port_0_uri);
238 doReturn(Optional.of(test_port_1)).when(aaiResourcesMock).get(LInterface.class, test_port_1_uri);
239 doReturn(Optional.of(test_port_2)).when(aaiResourcesMock).get(LInterface.class, test_port_2_uri);
241 doReturn(true).when(aaiResourcesMock).exists(service2_sub_1_uri);
242 doReturn(true).when(aaiResourcesMock).exists(service1_sub_0_uri);
243 doReturn(true).when(aaiResourcesMock).exists(service1_sub_1_uri);
245 Optional<AAIObjectAuditList> actual =
246 auditNova.auditVservers(vserversToAudit, tenantId, cloudOwner, cloudRegion);
247 String actualString = objectMapper.writeValueAsString(actual.get());
248 String expected = getJson("ExpectedVServerFound.json");
249 JSONAssert.assertEquals(expected, actualString, false);
253 public void audit_Vserver_Found_Test_Network_Not_Found()
254 throws JsonParseException, JsonMappingException, IOException {
255 doReturn(true).when(aaiResourcesMock).exists(vserverURI);
256 doReturn(true).when(aaiResourcesMock).exists(vserverURI2);
257 doReturn(Optional.of(ssc_1_trusted_port_0)).when(aaiResourcesMock).get(LInterface.class,
258 ssc_1_trusted_port_0_uri);
259 doReturn(Optional.of(ssc_1_service1_port_0)).when(aaiResourcesMock).get(LInterface.class,
260 ssc_1_service1_port_0_uri);
261 doReturn(Optional.of(ssc_1_mgmt_port_1)).when(aaiResourcesMock).get(LInterface.class, ssc_1_mgmt_port_1_uri);
262 doReturn(Optional.empty()).when(aaiResourcesMock).get(LInterface.class, ssc_1_mgmt_port_0_uri);
263 doReturn(Optional.of(ssc_1_service2_port_0)).when(aaiResourcesMock).get(LInterface.class,
264 ssc_1_service2_port_0_uri);
265 doReturn(Optional.of(ssc_1_int_ha_port_0)).when(aaiResourcesMock).get(LInterface.class,
266 ssc_1_int_ha_port_0_uri);
267 doReturn(Optional.of(test_port_1)).when(aaiResourcesMock).get(LInterface.class, test_port_1_uri);
268 doReturn(Optional.of(test_port_2)).when(aaiResourcesMock).get(LInterface.class, test_port_2_uri);
270 doReturn(true).when(aaiResourcesMock).exists(service2_sub_1_uri);
271 doReturn(true).when(aaiResourcesMock).exists(service1_sub_0_uri);
272 doReturn(true).when(aaiResourcesMock).exists(service1_sub_1_uri);
274 Optional<AAIObjectAuditList> actual =
275 auditNova.auditVservers(vserversToAudit, tenantId, cloudOwner, cloudRegion);
276 String actualString = objectMapper.writeValueAsString(actual.get());
277 String expected = getJson("VServer_Found_network_Not_Found.json");
278 JSONAssert.assertEquals(expected, actualString, false);
282 public void audit_Vserver_Found_Test_Network_Not_Found_Second_Server()
283 throws JsonParseException, JsonMappingException, IOException {
284 doReturn(true).when(aaiResourcesMock).exists(vserverURI);
285 doReturn(true).when(aaiResourcesMock).exists(vserverURI2);
286 doReturn(Optional.of(ssc_1_trusted_port_0)).when(aaiResourcesMock).get(LInterface.class,
287 ssc_1_trusted_port_0_uri);
288 doReturn(Optional.of(ssc_1_service1_port_0)).when(aaiResourcesMock).get(LInterface.class,
289 ssc_1_service1_port_0_uri);
290 doReturn(Optional.of(ssc_1_mgmt_port_1)).when(aaiResourcesMock).get(LInterface.class, ssc_1_mgmt_port_1_uri);
291 doReturn(Optional.of(ssc_1_mgmt_port_0)).when(aaiResourcesMock).get(LInterface.class, ssc_1_mgmt_port_0_uri);
292 doReturn(Optional.of(ssc_1_service2_port_0)).when(aaiResourcesMock).get(LInterface.class,
293 ssc_1_service2_port_0_uri);
294 doReturn(Optional.of(ssc_1_int_ha_port_0)).when(aaiResourcesMock).get(LInterface.class,
295 ssc_1_int_ha_port_0_uri);
296 doReturn(Optional.of(test_port_1)).when(aaiResourcesMock).get(LInterface.class, test_port_1_uri);
297 doReturn(Optional.empty()).when(aaiResourcesMock).get(LInterface.class, test_port_2_uri);
298 doReturn(true).when(aaiResourcesMock).exists(service2_sub_1_uri);
299 doReturn(true).when(aaiResourcesMock).exists(service1_sub_0_uri);
300 doReturn(true).when(aaiResourcesMock).exists(service1_sub_1_uri);
301 Optional<AAIObjectAuditList> actual =
302 auditNova.auditVservers(vserversToAudit, tenantId, cloudOwner, cloudRegion);
303 String actualString = objectMapper.writeValueAsString(actual.get());
304 String expected = getJson("VServer_Found_Network_Sec_Server_Not_Found.json");
305 JSONAssert.assertEquals(expected, actualString, false);
309 public void audit_Vserver_Not_Found_Test() throws JsonParseException, JsonMappingException, IOException {
310 doReturn(false).when(aaiResourcesMock).exists(vserverURI);
311 doReturn(false).when(aaiResourcesMock).exists(vserverURI2);
312 Optional<AAIObjectAuditList> actual =
313 auditNova.auditVservers(vserversToAudit, tenantId, cloudOwner, cloudRegion);
314 String actualString = objectMapper.writeValueAsString(actual.get());
315 String expected = getJson("Vservers_Not_Found.json");
316 JSONAssert.assertEquals(expected, actualString, false);
320 public void audit_Vserver_first_Not_Found_Test() throws JsonParseException, JsonMappingException, IOException {
321 doReturn(false).when(aaiResourcesMock).exists(vserverURI);
322 doReturn(true).when(aaiResourcesMock).exists(vserverURI2);
323 doReturn(Optional.of(test_port_1)).when(aaiResourcesMock).get(LInterface.class, test_port_1_uri);
324 doReturn(Optional.of(test_port_2)).when(aaiResourcesMock).get(LInterface.class, test_port_2_uri);
325 Optional<AAIObjectAuditList> actual =
326 auditNova.auditVservers(vserversToAudit, tenantId, cloudOwner, cloudRegion);
327 String actualString = objectMapper.writeValueAsString(actual.get());
328 String expected = getJson("Vserver2_Found_VServer1_Not_Found.json");
329 JSONAssert.assertEquals(expected, actualString, false);
334 public void doesSubInterfaceExistinAAI_Test() {
335 AAIResourceUri subInterfaceURI = AAIUriFactory.createResourceUri(AAIObjectType.SUB_L_INTERFACE, cloudOwner,
336 cloudRegion, tenantId, "vserverId", "l-interface", "sub-interface");
339 "/cloud-infrastructure/cloud-regions/cloud-region/cloudOwner/cloudRegion/tenants/tenant/tenantId/vservers/vserver/vserverId/l-interfaces/l-interface/l-interface/l-interfaces/l-interface/sub-interface",
340 subInterfaceURI.build().toString());
344 public void audit_Vserver_Second_Not_Found_Test() throws JsonParseException, JsonMappingException, IOException {
345 doReturn(true).when(aaiResourcesMock).exists(vserverURI);
346 doReturn(Optional.of(ssc_1_trusted_port_0)).when(aaiResourcesMock).get(LInterface.class,
347 ssc_1_trusted_port_0_uri);
348 doReturn(Optional.of(ssc_1_service1_port_0)).when(aaiResourcesMock).get(LInterface.class,
349 ssc_1_service1_port_0_uri);
350 doReturn(Optional.of(ssc_1_mgmt_port_1)).when(aaiResourcesMock).get(LInterface.class, ssc_1_mgmt_port_1_uri);
351 doReturn(Optional.of(ssc_1_mgmt_port_0)).when(aaiResourcesMock).get(LInterface.class, ssc_1_mgmt_port_0_uri);
352 doReturn(Optional.of(ssc_1_service2_port_0)).when(aaiResourcesMock).get(LInterface.class,
353 ssc_1_service2_port_0_uri);
354 doReturn(Optional.of(ssc_1_int_ha_port_0)).when(aaiResourcesMock).get(LInterface.class,
355 ssc_1_int_ha_port_0_uri);
356 doReturn(Optional.empty()).when(aaiResourcesMock).get(LInterface.class, test_port_1_uri);
357 doReturn(Optional.empty()).when(aaiResourcesMock).get(LInterface.class, test_port_2_uri);
358 doReturn(true).when(aaiResourcesMock).exists(service2_sub_1_uri);
359 doReturn(true).when(aaiResourcesMock).exists(service1_sub_0_uri);
360 doReturn(true).when(aaiResourcesMock).exists(service1_sub_1_uri);
362 doReturn(false).when(aaiResourcesMock).exists(vserverURI2);
363 Optional<AAIObjectAuditList> actual =
364 auditNova.auditVservers(vserversToAudit, tenantId, cloudOwner, cloudRegion);
365 String actualString = objectMapper.writeValueAsString(actual.get());
366 String expected = getJson("VServer_Found_Sec_Server_Not_Found2.json");
368 JSONAssert.assertEquals(expected, actualString, false);
372 public void testAuditVserversWithList() {
374 AAIObjectAuditList auditList = new AAIObjectAuditList();
375 AAIObjectAudit obj1 = new AAIObjectAudit();
376 Vserver vserver = new Vserver();
377 vserver.setVserverId("testVserverId");
378 obj1.setAaiObject(vserver);
381 .createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure()
382 .cloudRegion(cloudOwner, cloudRegion).tenant(tenantId).vserver("testVserverId"))
384 auditList.getAuditList().add(obj1);
386 doReturn(false).when(aaiResourcesMock).exists(AAIUriFactory.createResourceUri(AAIFluentTypeBuilder
387 .cloudInfrastructure().cloudRegion(cloudOwner, cloudRegion).tenant(tenantId).vserver("testVserverId")));
389 auditNova.auditVservers(auditList);
391 Mockito.verify(aaiResourcesMock).exists(AAIUriFactory.createResourceUri(AAIFluentTypeBuilder
392 .cloudInfrastructure().cloudRegion(cloudOwner, cloudRegion).tenant(tenantId).vserver("testVserverId")));
394 Assert.assertEquals(false, auditList.getAuditList().get(0).isDoesObjectExist());
398 public void testAuditVserversThroughRelationships() {
400 VfModule vfModule = new VfModule();
401 vfModule.setVfModuleId("id");
403 AAIResultWrapper wrapper = new AAIResultWrapper(vfModule);
405 doReturn(Optional.of(wrapper)).when(aaiResourcesMock).getFirstWrapper(VfModules.class, VfModule.class,
406 AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf("genericVnfId").vfModules())
407 .queryParam("vf-module-name", "vfModuleName"));
409 Optional<AAIObjectAuditList> auditList =
410 auditNova.auditVserversThroughRelationships("genericVnfId", "vfModuleName");
412 Assert.assertTrue(auditList.get().getAuditList().isEmpty());
416 public void testAuditVserversThroughRelationships_exists() throws IOException {
418 String vfModule = getJson("vfModule.json");
420 AAIResultWrapper wrapper = new AAIResultWrapper(vfModule);
421 AAIResultWrapper vserverWrapper = new AAIResultWrapper(new Vserver());
423 doReturn(Optional.of(wrapper)).when(aaiResourcesMock).getFirstWrapper(VfModules.class, VfModule.class,
424 AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.network().genericVnf("genericVnfId").vfModules())
425 .queryParam("vf-module-name", "vfModuleName"));
427 doReturn(vserverWrapper).when(aaiResourcesMock)
428 .get(AAIUriFactory.createResourceUri(AAIFluentTypeBuilder.cloudInfrastructure()
429 .cloudRegion("cloud-owner", "cloud-region-id").tenant("tenant-id").vserver("VUSCHGA1")));
431 Optional<AAIObjectAuditList> auditList =
432 auditNova.auditVserversThroughRelationships("genericVnfId", "vfModuleName");
434 Assert.assertFalse(auditList.get().getAuditList().isEmpty());
438 private String getJson(String filename) throws IOException {
439 return new String(Files.readAllBytes(Paths.get("src/test/resources/" + filename)));