1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package com.minutefforts.test.util.logging;
17
18
19 import org.apache.log4j.Logger;
20 import static org.junit.Assert.*;
21 import org.junit.Before;
22 import org.junit.Test;
23
24 import static com.minutefforts.test.util.logging.UnitTestAppender.*;
25
26
27
28
29
30
31 public class UnitTestAppenderTest {
32
33 private Logger logger = Logger.getLogger(UnitTestAppenderTest.class);
34
35
36
37
38
39 @Test
40 public void appenderAccess() {
41
42
43 UnitTestAppender unitTestAppender = (UnitTestAppender) Logger.getRootLogger().getAppender("unitTestAppender");
44 assertNotNull(unitTestAppender);
45 assertSame("These appenders should be the same.", unitTestAppender, getDefaultTestAppender());
46
47
48 unitTestAppender = (UnitTestAppender) this.logger.getAppender("infoTestAppender");
49 assertNotNull(unitTestAppender);
50 assertSame("These appenders should be the same.", unitTestAppender, getTestAppender("infoTestAppender"));
51 }
52
53
54
55
56
57 @Test
58 public void someSimpleLogging() {
59
60 logger.debug("A debug message");
61 logger.info("An info message");
62
63 assertEquals("INFO [UnitTestAppenderTest] An info message \n",
64 getTestAppender("infoTestAppender").getLogAsString());
65
66 assertEquals("DEBUG [UnitTestAppenderTest] A debug message \n" +
67 "INFO [UnitTestAppenderTest] An info message \n",
68 getDefaultTestAppender().getLogAsString());
69
70
71
72
73
74
75
76 }
77
78
79
80
81
82 @Test
83 public void exceptionLogging() {
84
85 logger.debug("Next stop: Error!");
86 logger.error("An error message with an exception.", new NullPointerException("Only sissies test for null!"));
87
88 assertEquals("DEBUG [UnitTestAppenderTest] Next stop: Error! \n" +
89 "ERROR [UnitTestAppenderTest] An error message with an exception. \n" +
90 "java.lang.NullPointerException: Only sissies test for null!\n",
91 getDefaultTestAppender().getLogAsString());
92
93 assertEquals("ERROR [UnitTestAppenderTest] An error message with an exception. \n" +
94 "java.lang.NullPointerException: Only sissies test for null!\n",
95 getTestAppender("infoTestAppender").getLogAsString());
96
97
98
99
100
101
102
103 }
104
105
106
107
108
109
110
111 @Before
112 public void setUp() throws Exception {
113
114
115 getDefaultTestAppender().clear();
116 getTestAppender("infoTestAppender").clear();
117 }
118 }