1 package org.openecomp.sdc.common.log.elements;
3 import org.junit.After;
4 import org.junit.Assert;
5 import org.junit.Before;
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.LogLevel;
11 import org.openecomp.sdc.common.log.enums.Severity;
12 import org.openecomp.sdc.common.log.utils.LoggingThreadLocalsHolder;
13 import org.slf4j.Logger;
16 import javax.ws.rs.core.Response;
17 import java.net.InetAddress;
18 import java.net.UnknownHostException;
19 import java.util.UUID;
21 import static org.onap.logging.ref.slf4j.ONAPLogConstants.MDCs.*;
22 import static org.onap.logging.ref.slf4j.ONAPLogConstants.ResponseStatus.COMPLETE;
23 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_CLASS_NAME;
24 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_ELAPSED_TIME;
25 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_END_TIMESTAMP;
26 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_PROCESS_KEY;
27 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_REMOTE_HOST;
28 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_SERVER_IP_ADDRESS;
29 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_SERVICE_INSTANCE_ID;
30 import static org.openecomp.sdc.common.log.api.ILogConfiguration.MDC_TARGET_VIRTUAL_ENTITY;
31 import static org.openecomp.sdc.common.log.elements.LogFieldsMdcHandler.hostAddress;
34 * Created by dd4296 on 12/31/2017.
36 @RunWith(MockitoJUnitRunner.class)
37 public class LoggerMetricTest {
39 private Logger logger;
42 Response.StatusType statusType;
44 private LoggerMetric metricLog;
48 metricLog = new LoggerMetric(LogFieldsMdcHandler.getInstance(), logger);
52 public void tearDown() {
54 LoggingThreadLocalsHolder.setUuid(null);
58 public void whenNoMetricFieldsArePopulated_ShouldReturnassertEquals_onMdcMap() {
60 .log(LogLevel.DEBUG, "some error code");
61 Assert.assertNotNull(MDC.get(SERVER_FQDN));
62 Assert.assertNotNull(MDC.get(MDC_SERVER_IP_ADDRESS));
66 public void whenAllMetricFieldsArePopulated_ShouldReturnassertEquals_onEachMACField() throws UnknownHostException {
67 String uuid = UUID.randomUUID().toString();
68 LoggingThreadLocalsHolder.setUuid(uuid);
70 String hostName = InetAddress.getByName(hostAddress).getCanonicalHostName();
71 String hostAddress = InetAddress.getLocalHost().getHostAddress();
76 .setInstanceUUID(INSTANCE_UUID)
77 .setRemoteHost(MDC_REMOTE_HOST)
78 .setServiceName(SERVICE_NAME)
80 .setStatusCode(COMPLETE.name())
81 .setResponseDesc(RESPONSE_DESCRIPTION)
82 .setPartnerName(PARTNER_NAME)
83 .setOptClassName(LoggerMetricTest.class.toString())
84 .setOptServiceInstanceId(MDC_SERVICE_INSTANCE_ID)
85 .setTargetEntity(TARGET_ENTITY)
86 .setTargetServiceName(TARGET_SERVICE_NAME)
87 .setTargetVirtualEntity(MDC_TARGET_VIRTUAL_ENTITY)
88 .log(LogLevel.DEBUG, "");
91 Assert.assertFalse(LogFieldsMdcHandler.getInstance().isMDCParamEmpty(INVOKE_TIMESTAMP));
92 Assert.assertFalse(LogFieldsMdcHandler.getInstance().isMDCParamEmpty(MDC_END_TIMESTAMP));
93 Assert.assertFalse(LogFieldsMdcHandler.getInstance().isMDCParamEmpty(MDC_ELAPSED_TIME));
94 Assert.assertEquals(MDC.get(MDC_SERVER_IP_ADDRESS),hostAddress);
95 Assert.assertEquals(MDC.get(SERVER_FQDN), hostName);
96 Assert.assertEquals(MDC.get(MDC_REMOTE_HOST), MDC_REMOTE_HOST);
97 Assert.assertEquals(MDC.get(RESPONSE_STATUS_CODE) , "COMPLETE");
98 Assert.assertEquals(MDC.get(REQUEST_ID), uuid);
99 Assert.assertEquals(MDC.get(SERVICE_NAME) , SERVICE_NAME);
100 Assert.assertEquals(MDC.get(PARTNER_NAME) , PARTNER_NAME);
101 Assert.assertEquals(MDC.get(RESPONSE_CODE) ,"500");
102 Assert.assertEquals(MDC.get(RESPONSE_DESCRIPTION) , RESPONSE_DESCRIPTION);
103 Assert.assertEquals(MDC.get(INSTANCE_UUID) , INSTANCE_UUID);
104 Assert.assertEquals(MDC.get(MDC_CLASS_NAME) ,LoggerMetricTest.class.toString());
105 Assert.assertEquals(MDC.get(MDC_SERVICE_INSTANCE_ID) ,MDC_SERVICE_INSTANCE_ID);
106 Assert.assertEquals(MDC.get(TARGET_ENTITY) , TARGET_ENTITY);
107 Assert.assertEquals(MDC.get(TARGET_SERVICE_NAME) , TARGET_SERVICE_NAME);
108 Assert.assertEquals(MDC.get(MDC_TARGET_VIRTUAL_ENTITY) ,MDC_TARGET_VIRTUAL_ENTITY);