1 package org.onap.so.adapters.tasks.audit;
3 import static org.assertj.core.api.Assertions.assertThat;
4 import java.util.ArrayList;
6 import java.util.Optional;
7 import org.junit.Before;
9 import org.junit.runner.RunWith;
10 import org.mockito.InjectMocks;
11 import org.mockito.Mock;
12 import org.mockito.Mockito;
13 import org.mockito.junit.MockitoJUnitRunner;
14 import org.onap.aai.domain.yang.Vserver;
15 import org.onap.so.audit.beans.AuditInventory;
16 import org.onap.aaiclient.client.graphinventory.GraphInventoryCommonObjectMapperProvider;
17 import org.onap.so.db.request.beans.RequestProcessingData;
18 import org.onap.so.db.request.client.RequestsDbClient;
19 import org.onap.so.objects.audit.AAIObjectAudit;
20 import org.onap.so.objects.audit.AAIObjectAuditList;
21 import com.fasterxml.jackson.core.JsonProcessingException;
24 @RunWith(MockitoJUnitRunner.Silent.class)
25 public class AuditDataServiceTest {
28 AuditDataService auditDataService = new AuditDataService();
31 protected RequestsDbClient requestsDbClient;
33 AuditInventory auditInventory = new AuditInventory();
36 public void before() throws JsonProcessingException {
37 auditInventory.setCloudOwner("testCloudOwner");
38 auditInventory.setCloudRegion("testLcpCloudRegionId");
39 auditInventory.setHeatStackName("testVfModuleName1");
40 auditInventory.setVfModuleId("testVnfModuleId");
41 auditInventory.setTenantId("testTenantId");
42 auditInventory.setGenericVnfId("testVnfId1");
46 public void testWriteStackDataToRequestDb() throws Exception {
47 Mockito.doReturn(new ArrayList<RequestProcessingData>()).when(requestsDbClient)
48 .getRequestProcessingDataByGroupingIdAndNameAndTag(Mockito.any(), Mockito.any(), Mockito.any());
49 Mockito.doNothing().when(requestsDbClient).saveRequestProcessingData(Mockito.any());
51 AAIObjectAuditList auditList = new AAIObjectAuditList();
52 auditList.setHeatStackName("testHeatStackName");
53 AAIObjectAudit audit = new AAIObjectAudit();
54 Vserver vserver = new Vserver();
55 vserver.setVserverId("testVserverId");
56 audit.setAaiObject(vserver);
57 auditList.getAuditList().add(audit);
58 GraphInventoryCommonObjectMapperProvider objectMapper = new GraphInventoryCommonObjectMapperProvider();
59 String auditListString = objectMapper.getMapper().writeValueAsString(auditList);
61 RequestProcessingData requestProcessingData = new RequestProcessingData();
62 requestProcessingData.setSoRequestId(auditInventory.getMsoRequestId());
63 requestProcessingData.setGroupingId(auditInventory.getVfModuleId());
64 requestProcessingData.setName(auditInventory.getHeatStackName());
65 requestProcessingData.setTag("AuditStackData");
66 requestProcessingData.setValue(auditListString);
68 auditDataService.writeStackDataToRequestDb(auditInventory, auditList);
69 Mockito.verify(requestsDbClient, Mockito.times(1)).saveRequestProcessingData(requestProcessingData);
73 public void testGetStackDataToRequestDb() throws Exception {
74 AAIObjectAuditList auditList = new AAIObjectAuditList();
75 auditList.setHeatStackName("testHeatStackName");
76 AAIObjectAudit audit = new AAIObjectAudit();
77 Vserver vserver = new Vserver();
78 vserver.setVserverId("testVserverId");
79 audit.setAaiObject(vserver);
80 auditList.getAuditList().add(audit);
81 GraphInventoryCommonObjectMapperProvider objectMapper = new GraphInventoryCommonObjectMapperProvider();
82 String auditListString = objectMapper.getMapper().writeValueAsString(audit);
84 List<RequestProcessingData> list = new ArrayList();
85 RequestProcessingData requestProcessingData = new RequestProcessingData();
86 requestProcessingData.setId(234321432);
87 requestProcessingData.setGroupingId("testVfModuleId");
88 requestProcessingData.setName("heatStackName");
89 requestProcessingData.setTag("AuditStackData");
90 requestProcessingData.setValue(auditListString);
91 list.add(requestProcessingData);
93 Mockito.doReturn(list).when(requestsDbClient).getRequestProcessingDataByGroupingIdAndNameAndTag(Mockito.any(),
94 Mockito.any(), Mockito.any());
95 auditDataService.getStackDataFromRequestDb(auditInventory);
96 Mockito.verify(requestsDbClient, Mockito.times(1)).getRequestProcessingDataByGroupingIdAndNameAndTag(
97 "testVnfModuleId", "testVfModuleName1", "AuditStackData");
101 public void testGetStackDataToRequestDbWhenRequestProcessingDataListIsEmpty() throws Exception {
103 Mockito.doReturn(new ArrayList<RequestProcessingData>()).when(requestsDbClient)
104 .getRequestProcessingDataByGroupingIdAndNameAndTag(Mockito.any(), Mockito.any(), Mockito.any());
105 Optional<AAIObjectAuditList> result = auditDataService.getStackDataFromRequestDb(auditInventory);
106 Mockito.verify(requestsDbClient, Mockito.times(1)).getRequestProcessingDataByGroupingIdAndNameAndTag(
107 "testVnfModuleId", "testVfModuleName1", "AuditStackData");
108 assertThat(result).isEmpty();