76e5bbc47f26cbf112e87ca385fd957090e1d2ab
[so.git] /
1 package org.onap.so.adapters.tasks.audit;
2
3 import static org.assertj.core.api.Assertions.assertThat;
4 import java.util.ArrayList;
5 import java.util.List;
6 import java.util.Optional;
7 import org.junit.Before;
8 import org.junit.Test;
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;
22
23
24 @RunWith(MockitoJUnitRunner.Silent.class)
25 public class AuditDataServiceTest {
26
27     @InjectMocks
28     AuditDataService auditDataService = new AuditDataService();
29
30     @Mock
31     protected RequestsDbClient requestsDbClient;
32
33     AuditInventory auditInventory = new AuditInventory();
34
35     @Before
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");
43     }
44
45     @Test
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());
50
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);
60
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);
67
68         auditDataService.writeStackDataToRequestDb(auditInventory, auditList);
69         Mockito.verify(requestsDbClient, Mockito.times(1)).saveRequestProcessingData(requestProcessingData);
70     }
71
72     @Test
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);
83
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);
92
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");
98     }
99
100     @Test
101     public void testGetStackDataToRequestDbWhenRequestProcessingDataListIsEmpty() throws Exception {
102
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();
109
110     }
111
112
113 }