re base code
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / auditing / impl / category / AuditGetCategoryHierarchyEventTest.java
1 package org.openecomp.sdc.be.auditing.impl.category;
2
3 import org.junit.Before;
4 import org.junit.Test;
5 import org.junit.runner.RunWith;
6 import org.mockito.ArgumentCaptor;
7 import org.mockito.Captor;
8 import org.mockito.Mock;
9 import org.mockito.junit.MockitoJUnitRunner;
10 import org.openecomp.sdc.be.auditing.api.AuditEventFactory;
11 import org.openecomp.sdc.be.auditing.impl.AuditingManager;
12 import org.openecomp.sdc.be.config.Configuration;
13 import org.openecomp.sdc.be.dao.api.ActionStatus;
14 import org.openecomp.sdc.be.dao.cassandra.AuditCassandraDao;
15 import org.openecomp.sdc.be.dao.cassandra.CassandraOperationStatus;
16 import org.openecomp.sdc.be.dao.impl.AuditingDao;
17 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
18 import org.openecomp.sdc.be.resources.data.auditing.AuditingGenericEvent;
19 import org.openecomp.sdc.be.resources.data.auditing.GetCategoryHierarchyEvent;
20 import org.openecomp.sdc.be.resources.data.auditing.model.CommonAuditData;
21
22 import static org.assertj.core.api.Assertions.assertThat;
23 import static org.mockito.ArgumentMatchers.any;
24 import static org.mockito.ArgumentMatchers.eq;
25 import static org.mockito.Mockito.verify;
26 import static org.mockito.Mockito.when;
27 import static org.openecomp.sdc.be.auditing.impl.AuditTestUtils.*;
28
29 @RunWith(MockitoJUnitRunner.class)
30 public class AuditGetCategoryHierarchyEventTest {
31     @Mock
32     private static AuditCassandraDao cassandraDao;
33     @Captor
34     private ArgumentCaptor<GetCategoryHierarchyEvent> eventCaptor;
35     @Mock
36     private static AuditingDao auditingDao;
37     @Mock
38     private Configuration.ElasticSearchConfig esConfig;
39
40     private AuditingManager auditingManager;
41
42     @Before
43     public void setUp() {
44         init(esConfig);
45         auditingManager = new AuditingManager(auditingDao, cassandraDao);
46     }
47
48     @Test
49     public void testNewGetCategoryHierarchyEvent() {
50         AuditEventFactory factory = new AuditGetCategoryHierarchyEventFactory(
51                 CommonAuditData.newBuilder()
52                         .description(DESCRIPTION)
53                         .status(STATUS_OK)
54                         .requestId(REQUEST_ID)
55                         .build(),
56                 user, USER_DETAILS);
57         when(auditingDao.addRecord(any(AuditingGenericEvent.class), eq(AuditingActionEnum.GET_CATEGORY_HIERARCHY.getAuditingEsType())))
58                 .thenReturn(ActionStatus.OK);
59         when(cassandraDao.saveRecord(any(AuditingGenericEvent.class))).thenReturn(CassandraOperationStatus.OK);
60
61         assertThat(auditingManager.auditEvent(factory)).isEqualTo(EXPECTED_GET_CATEGORY_HIERARCHY_LOG_STR);
62         verifyEvent();
63     }
64
65     private void verifyEvent() {
66         verify(cassandraDao).saveRecord(eventCaptor.capture());
67         GetCategoryHierarchyEvent storedEvent = eventCaptor.getValue();
68         assertThat(storedEvent.getModifier()).isEqualTo(USER_UID);
69         assertThat(storedEvent.getStatus()).isEqualTo(STATUS_OK);
70         assertThat(storedEvent.getDesc()).isEqualTo(DESCRIPTION);
71         assertThat(storedEvent.getDetails()).isEqualTo(USER_DETAILS);
72         assertThat(storedEvent.getRequestId()).isNotBlank();
73         assertThat(storedEvent.getServiceInstanceId()).isNull();
74         assertThat(storedEvent.getAction()).isEqualTo(AuditingActionEnum.GET_CATEGORY_HIERARCHY.getName());
75     }
76
77 }