1 package org.openecomp.sdc.be.auditing.impl.category;
3 import org.junit.Before;
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.CategoryEvent;
20 import org.openecomp.sdc.be.resources.data.auditing.model.CommonAuditData;
21 import org.openecomp.sdc.common.util.ThreadLocalsHolder;
23 import static org.assertj.core.api.Assertions.assertThat;
24 import static org.mockito.ArgumentMatchers.any;
25 import static org.mockito.ArgumentMatchers.eq;
26 import static org.mockito.Mockito.verify;
27 import static org.mockito.Mockito.when;
28 import static org.openecomp.sdc.be.auditing.impl.AuditTestUtils.*;
30 @RunWith(MockitoJUnitRunner.class)
31 public class AuditCategoryEventFuncTest {
32 private AuditingManager auditingManager;
35 private static AuditCassandraDao cassandraDao;
37 private static AuditingDao auditingDao;
39 private static Configuration.ElasticSearchConfig esConfig;
42 private ArgumentCaptor<CategoryEvent> eventCaptor;
47 auditingManager = new AuditingManager(auditingDao, cassandraDao);
48 ThreadLocalsHolder.setUuid(REQUEST_ID);
52 public void testAddCategoryEvent() {
53 AuditEventFactory builder = new AuditCategoryEventFactory(
54 AuditingActionEnum.ADD_CATEGORY,
55 CommonAuditData.newBuilder()
56 .description(DESCRIPTION)
58 .requestId(REQUEST_ID)
59 .serviceInstanceId(SERVICE_INSTANCE_ID)
61 modifier, CATEGORY, SUB_CATEGORY, GROUPING_NAME, RESOURCE_TYPE);
63 when(auditingDao.addRecord(any(AuditingGenericEvent.class), eq(AuditingActionEnum.ADD_CATEGORY.getAuditingEsType())))
64 .thenReturn(ActionStatus.OK);
65 when(cassandraDao.saveRecord(any(AuditingGenericEvent.class))).thenReturn(CassandraOperationStatus.OK);
67 assertThat(auditingManager.auditEvent(builder)).isEqualTo(EXPECTED_ADD_CATEGORY_LOG_STR);
68 verifyCategoryEvent(AuditingActionEnum.ADD_CATEGORY.getName());
71 private void verifyCategoryEvent(String action) {
72 verify(cassandraDao).saveRecord(eventCaptor.capture());
73 CategoryEvent storedEvent = eventCaptor.getValue();
74 assertThat(storedEvent.getModifier()).isEqualTo(MODIFIER_UID);
75 assertThat(storedEvent.getDesc()).isEqualTo(DESCRIPTION);
76 assertThat(storedEvent.getStatus()).isEqualTo(STATUS_OK);
77 assertThat(storedEvent.getRequestId()).isEqualTo(REQUEST_ID);
78 assertThat(storedEvent.getServiceInstanceId()).isEqualTo(SERVICE_INSTANCE_ID);
79 assertThat(storedEvent.getAction()).isEqualTo(action);
80 assertThat(storedEvent.getCategoryName()).isEqualTo(CATEGORY);
81 assertThat(storedEvent.getSubCategoryName()).isEqualTo(SUB_CATEGORY);
82 assertThat(storedEvent.getGroupingName()).isEqualTo(GROUPING_NAME);
83 assertThat(storedEvent.getResourceType()).isEqualTo(RESOURCE_TYPE);