re base code
[sdc.git] / common-app-api / src / test / java / org / openecomp / sdc / common / log / elements / LoggerDebugTest.java
1 package org.openecomp.sdc.common.log.elements;
2
3 /**
4  * Created by dd4296 on 12/25/2017.
5  */
6
7 import org.junit.Assert;
8 import org.junit.Before;
9 import org.junit.Test;
10 import org.junit.runner.RunWith;
11 import org.mockito.Mock;
12 import org.mockito.junit.MockitoJUnitRunner;
13 import org.openecomp.sdc.common.log.enums.LogLevel;
14 import org.openecomp.sdc.common.util.ThreadLocalsHolder;
15 import org.slf4j.Logger;
16 import org.slf4j.MDC;
17
18 import java.net.UnknownHostException;
19
20 import static org.junit.Assert.assertEquals;
21 import static org.junit.Assert.assertNull;
22 import static org.openecomp.sdc.common.log.api.ILogConfiguration.*;
23
24 @RunWith(MockitoJUnitRunner.class)
25 public class LoggerDebugTest {
26
27     @Mock
28     private Logger logger;
29
30     private LoggerDebug debugLog;
31
32      @Before
33     public void init() {
34         debugLog = new LoggerDebug(LogFieldsMdcHandler.getInstance(), logger);
35         ThreadLocalsHolder.setUuid(null);
36         MDC.clear();
37     }
38
39     @Test
40     public void whenNoFieldsIsPopulated_RequestedMdcFieldsAreEmpty() {
41         debugLog.clear()
42                 .log(LogLevel.DEBUG, "some error code");
43         assertNull(MDC.get(MDC_KEY_REQUEST_ID));
44     }
45
46     @Test
47     public void debugLogCheckValidationValidFieldsTest() {
48         debugLog.clear()
49                 .startTimer()
50                 .setKeyRequestId("uuid")
51                 .log(LogLevel.DEBUG, "some error code");
52
53         Assert.assertEquals(MDC.get(MDC_KEY_REQUEST_ID), "uuid");
54     }
55
56     @Test
57     public void whenOnlyDebugUUIDFieldsIsPopulated_ShouldReturnAssertTrue_onUUIDFieldCheck() {
58         debugLog.clear()
59                 .setKeyRequestId("uuid")
60                 .log(LogLevel.DEBUG, "some error code");
61
62         Assert.assertEquals(MDC.get(MDC_KEY_REQUEST_ID), "uuid");
63     }
64
65     @Test
66     public void whenAllDebugFieldsArePopulated_ShouldReturnAssertTrue_onEachMACFieldCheck() throws UnknownHostException {
67         debugLog.clear()
68                 .startTimer()
69                 .setKeyRequestId(MDC_KEY_REQUEST_ID)
70                 .log(LogLevel.DEBUG, "some message");
71
72         Assert.assertTrue(LogFieldsMdcHandler.getInstance().isMDCParamEmpty(MDC_END_TIMESTAMP));
73         Assert.assertTrue(LogFieldsMdcHandler.getInstance().isMDCParamEmpty(MDC_ELAPSED_TIME));
74         Assert.assertTrue(LogFieldsMdcHandler.getInstance().isMDCParamEmpty(MDC_STATUS_CODE));
75     }
76
77
78     @Test
79     public void validateMandatoryFields(){
80         assertEquals(MDC_KEY_REQUEST_ID, debugLog.checkMandatoryFieldsExistInMDC().trim());
81     }
82
83     @Test
84     public void validateMandatoryFieldsWhenFieldIsSet(){
85         debugLog.clear()
86                 .setKeyRequestId("1234");
87         assertEquals("", debugLog.checkMandatoryFieldsExistInMDC());
88     }
89 }