re base code
[sdc.git] / common-app-api / 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.openecomp.sdc.common.log.enums.EcompLoggerErrorCode;
11 import org.openecomp.sdc.common.log.enums.LogLevel;
12 import org.openecomp.sdc.common.log.enums.Severity;
13 import org.openecomp.sdc.common.log.enums.StatusCode;
14 import org.slf4j.Logger;
15 import org.slf4j.MDC;
16
17 import java.net.InetAddress;
18 import java.net.UnknownHostException;
19 import java.util.UUID;
20
21 import static org.openecomp.sdc.common.log.api.ILogConfiguration.*;
22 import static org.openecomp.sdc.common.log.elements.LogFieldsMdcHandler.hostAddress;
23
24 @RunWith(MockitoJUnitRunner.class)
25 public class LoggerAuditTest {
26     @Mock
27     private Logger logger;
28
29     private LoggerAudit auditLog;
30
31     @Before
32     public void init() {
33         auditLog = new LoggerAudit(LogFieldsMdcHandler.getInstance(), logger);
34     }
35
36     @After
37     public void tearDown() {
38         MDC.clear();
39     }
40
41     @Test
42     public void whenNoAuditFieldsArePopulated_ShouldReturnAssertTrue_onMdcMap() {
43         auditLog.clear()
44                 .log(LogLevel.INFO, "some error code");
45         Assert.assertNotNull(MDC.get(MDC_SERVER_FQDN));
46         Assert.assertNotNull(MDC.get(MDC_SERVER_IP_ADDRESS));
47     }
48
49     @Test
50     public void whenAllAuditFieldsArePopulated_ShouldReturnAssertTrue_onEachMACField() throws UnknownHostException {
51
52         String uuid = UUID.randomUUID().toString();
53         String hostName = InetAddress.getByName(hostAddress).getCanonicalHostName();
54         String hostAddress = InetAddress.getLocalHost().getHostAddress();
55
56         auditLog.clear()
57                 .startTimer()
58                 .stopTimer()
59                 .setKeyRequestId(uuid)
60                 .setInstanceUUID(MDC_INSTANCE_UUID)
61                 .setRemoteHost(MDC_REMOTE_HOST)
62                 .setServiceName(MDC_SERVICE_NAME)
63                 .setResponseCode(EcompLoggerErrorCode.DATA_ERROR)
64                 .setStatusCode("201")
65                 .setResponseDesc(MDC_RESPONSE_DESC)
66                 .setPartnerName(MDC_PARTNER_NAME)
67
68                 .setOptClassName(LoggerAuditTest.class.toString())
69                 .setOptAlertSeverity(Severity.CRITICAL)
70                 .setOptProcessKey(MDC_PROCESS_KEY)
71                 .setOptServiceInstanceId(MDC_SERVICE_INSTANCE_ID)
72                 .log(LogLevel.DEBUG, "");
73
74
75         Assert.assertFalse(LogFieldsMdcHandler.getInstance().isMDCParamEmpty(MDC_AUDIT_BEGIN_TIMESTAMP));
76         Assert.assertFalse(LogFieldsMdcHandler.getInstance().isMDCParamEmpty(MDC_END_TIMESTAMP));
77         Assert.assertFalse(LogFieldsMdcHandler.getInstance().isMDCParamEmpty(MDC_ELAPSED_TIME));
78
79         Assert.assertEquals(MDC.get(MDC_SERVER_IP_ADDRESS), hostAddress);
80         Assert.assertEquals(MDC.get(MDC_SERVER_FQDN), hostName);
81         Assert.assertEquals(MDC.get(MDC_REMOTE_HOST), MDC_REMOTE_HOST);
82         Assert.assertEquals(MDC.get(MDC_STATUS_CODE), StatusCode.COMPLETE.getStatusCodeEnum());
83
84         Assert.assertEquals(MDC.get(MDC_KEY_REQUEST_ID), uuid);
85         Assert.assertEquals(MDC.get(MDC_SERVICE_NAME), MDC_SERVICE_NAME);
86         Assert.assertEquals(MDC.get(MDC_PARTNER_NAME), MDC_PARTNER_NAME);
87         Assert.assertEquals(MDC.get(MDC_RESPONSE_CODE), String.valueOf(EcompLoggerErrorCode.DATA_ERROR.getErrorCode()));
88         Assert.assertEquals(MDC.get(MDC_RESPONSE_DESC), MDC_RESPONSE_DESC);
89         Assert.assertEquals(MDC.get(MDC_INSTANCE_UUID), MDC_INSTANCE_UUID);
90         Assert.assertEquals(MDC.get(MDC_CLASS_NAME), LoggerAuditTest.class.toString());
91
92         Assert.assertEquals(MDC.get(MDC_ALERT_SEVERITY), String.valueOf(Severity.CRITICAL.getSeverityType()));
93         Assert.assertEquals(MDC.get(MDC_PROCESS_KEY), MDC_PROCESS_KEY);
94         Assert.assertEquals(MDC.get(MDC_SERVICE_INSTANCE_ID), MDC_SERVICE_INSTANCE_ID);
95     }
96 }