Catalog alignment
[sdc.git] / common-app-logging / src / test / java / org / openecomp / sdc / common / log / elements / LoggerAuditTest.java
1 package org.openecomp.sdc.common.log.elements;
2
3 import org.junit.After;
4 import org.junit.Assert;
5 import org.junit.Before;
6 import org.junit.Test;
7 import org.junit.runner.RunWith;
8 import org.mockito.Mock;
9 import org.mockito.junit.MockitoJUnitRunner;
10 import org.onap.logging.ref.slf4j.ONAPLogConstants;
11 import org.openecomp.sdc.common.log.enums.LogLevel;
12 import org.openecomp.sdc.common.log.enums.Severity;
13 import org.slf4j.Logger;
14 import org.slf4j.MDC;
15
16 import java.net.InetAddress;
17 import java.net.UnknownHostException;
18 import java.util.UUID;
19
20 import static org.onap.logging.ref.slf4j.ONAPLogConstants.MDCs.*;
21 import static org.openecomp.sdc.common.log.api.ILogConfiguration.*;
22 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_CLASS_NAME;
23 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_ELAPSED_TIME;
24 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_END_TIMESTAMP;
25 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_PROCESS_KEY;
26 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_REMOTE_HOST;
27 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_SERVER_IP_ADDRESS;
28 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_SERVICE_INSTANCE_ID;
29 import static org.openecomp.sdc.common.log.elements.LogFieldsMdcHandler.hostAddress;
30 import static org.openecomp.sdc.common.log.enums.EcompLoggerErrorCode.DATA_ERROR;
31
32 @RunWith(MockitoJUnitRunner.class)
33 public class LoggerAuditTest {
34     @Mock
35     private Logger logger;
36
37     private LoggerAudit auditLog;
38
39     @Before
40     public void init() {
41         auditLog = new LoggerAudit(LogFieldsMdcHandler.getInstance(), logger);
42     }
43
44     @After
45     public void tearDown() {
46         MDC.clear();
47     }
48
49     @Test
50     public void whenNoAuditFieldsArePopulated_ShouldReturnAssertTrue_onMdcMap() {
51         auditLog.clear()
52                 .log(LogLevel.INFO, "some error code");
53         Assert.assertNotNull(MDC.get(SERVER_FQDN));
54         Assert.assertNotNull(MDC.get(MDC_SERVER_IP_ADDRESS));
55     }
56
57     @Test
58     public void whenAllAuditFieldsArePopulated_ShouldReturnAssertTrue_onEachMACField() throws UnknownHostException {
59
60         String uuid = UUID.randomUUID().toString();
61         String hostName = InetAddress.getByName(hostAddress).getCanonicalHostName();
62         String hostAddress = InetAddress.getLocalHost().getHostAddress();
63
64         auditLog.clear()
65                 .startTimer()
66                 .stopTimer()
67                 .setKeyRequestId(uuid)
68                 .setInstanceUUID(INSTANCE_UUID)
69                 .setRemoteHost(MDC_REMOTE_HOST)
70                 .setServiceName(SERVICE_NAME)
71                 .setResponseCode(DATA_ERROR)
72                 .setStatusCodeByResponseCode("201")
73                 .setResponseDesc(RESPONSE_DESCRIPTION)
74                 .setPartnerName(PARTNER_NAME)
75
76                 .setOptClassName(LoggerAuditTest.class.toString())
77                 .setOptAlertSeverity(Severity.CRITICAL)
78                 .setOptProcessKey(MDC_PROCESS_KEY)
79                 .setOptServiceInstanceId(MDC_SERVICE_INSTANCE_ID)
80                 .log(LogLevel.DEBUG, "");
81
82
83         Assert.assertFalse(LogFieldsMdcHandler.getInstance().isMDCParamEmpty(ENTRY_TIMESTAMP));
84         Assert.assertFalse(LogFieldsMdcHandler.getInstance().isMDCParamEmpty(MDC_END_TIMESTAMP));
85         Assert.assertFalse(LogFieldsMdcHandler.getInstance().isMDCParamEmpty(MDC_ELAPSED_TIME));
86
87         Assert.assertEquals(MDC.get(MDC_SERVER_IP_ADDRESS), hostAddress);
88         Assert.assertEquals(MDC.get(SERVER_FQDN), hostName);
89         Assert.assertEquals(MDC.get(MDC_REMOTE_HOST), MDC_REMOTE_HOST);
90         Assert.assertEquals(MDC.get(RESPONSE_STATUS_CODE), ONAPLogConstants.ResponseStatus.COMPLETE.name());
91
92         Assert.assertEquals(MDC.get(REQUEST_ID), uuid);
93         Assert.assertEquals(MDC.get(SERVICE_NAME), SERVICE_NAME);
94         Assert.assertEquals(MDC.get(PARTNER_NAME), PARTNER_NAME);
95         Assert.assertEquals(MDC.get(RESPONSE_CODE), String.valueOf(DATA_ERROR.getErrorCode()));
96         Assert.assertEquals(MDC.get(RESPONSE_DESCRIPTION), RESPONSE_DESCRIPTION);
97         Assert.assertEquals(MDC.get(INSTANCE_UUID), INSTANCE_UUID);
98         Assert.assertEquals(MDC.get(MDC_CLASS_NAME), LoggerAuditTest.class.toString());
99
100         Assert.assertEquals(MDC.get(RESPONSE_SEVERITY), String.valueOf(Severity.CRITICAL.getSeverityType()));
101         Assert.assertEquals(MDC.get(MDC_PROCESS_KEY), MDC_PROCESS_KEY);
102         Assert.assertEquals(MDC.get(MDC_SERVICE_INSTANCE_ID), MDC_SERVICE_INSTANCE_ID);
103     }
104 }