1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.log4j.filter;
18
19 import junit.framework.TestCase;
20 import org.apache.log4j.Level;
21 import org.apache.log4j.Logger;
22 import org.apache.log4j.spi.Filter;
23 import org.apache.log4j.spi.LoggingEvent;
24
25
26 /***
27 * Unit tests for LevelRangeFilter.
28 */
29 public class LevelRangeFilterTest extends TestCase {
30
31 /***
32 * Create new test instance.
33 *
34 * @param name test name.
35 */
36 public LevelRangeFilterTest(final String name) {
37 super(name);
38 }
39
40 /***
41 * Check that LevelRangeFilter.decide() returns Filter.DENY
42 * when event level is below min level.
43 */
44 public void test1() {
45 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
46 Logger.getLogger(LevelRangeFilterTest.class),
47 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
48 LevelRangeFilter filter = new LevelRangeFilter();
49 filter.setLevelMin(Level.WARN);
50 filter.activateOptions();
51 assertEquals(Filter.DENY, filter.decide(event));
52 }
53
54 /***
55 * Check that LevelRangeFilter.decide() returns Filter.DENY
56 * when event level is above max level.
57 */
58 public void test2() {
59 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
60 Logger.getLogger(LevelRangeFilterTest.class),
61 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
62 LevelRangeFilter filter = new LevelRangeFilter();
63 filter.setLevelMax(Level.DEBUG);
64 filter.activateOptions();
65 assertEquals(Filter.DENY, filter.decide(event));
66 }
67
68 /***
69 * Check that LevelRangeFilter.decide() returns Filter.ACCEPT
70 * when event level is above min level.
71 */
72 public void test3() {
73 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
74 Logger.getLogger(LevelRangeFilterTest.class),
75 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
76 LevelRangeFilter filter = new LevelRangeFilter();
77 filter.setLevelMin(Level.DEBUG);
78 filter.setAcceptOnMatch(true);
79 filter.activateOptions();
80 assertEquals(Filter.ACCEPT, filter.decide(event));
81 }
82
83 /***
84 * Check that LevelRangeFilter.decide() returns Filter.ACCEPT
85 * when event level is below max level.
86 */
87 public void test4() {
88 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
89 Logger.getLogger(LevelRangeFilterTest.class),
90 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
91 LevelRangeFilter filter = new LevelRangeFilter();
92 filter.setLevelMax(Level.ERROR);
93 filter.setAcceptOnMatch(true);
94 filter.activateOptions();
95 assertEquals(Filter.ACCEPT, filter.decide(event));
96 }
97
98 /***
99 * Check that LevelRangeFilter.decide() returns Filter.NEUTRAL
100 * when event level is above min level and accept on match is false.
101 */
102 public void test5() {
103 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
104 Logger.getLogger(LevelRangeFilterTest.class),
105 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
106 LevelRangeFilter filter = new LevelRangeFilter();
107 filter.setLevelMin(Level.DEBUG);
108 filter.activateOptions();
109 assertEquals(Filter.NEUTRAL, filter.decide(event));
110 }
111
112 /***
113 * Check that LevelRangeFilter.decide() returns Filter.NEUTRAL
114 * when event level is below max level and accept on match is false.
115 */
116 public void test6() {
117 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
118 Logger.getLogger(LevelRangeFilterTest.class),
119 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
120 LevelRangeFilter filter = new LevelRangeFilter();
121 filter.setLevelMax(Level.ERROR);
122 filter.activateOptions();
123 assertEquals(Filter.NEUTRAL, filter.decide(event));
124 }
125 }
126