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 StringMatchFilter.
28 */
29 public class StringMatchFilterTest extends TestCase {
30
31 /***
32 * Create new test instance.
33 *
34 * @param name test name.
35 */
36 public StringMatchFilterTest(final String name) {
37 super(name);
38 }
39
40 /***
41 * Check that StringMatchFilter.decide() returns Filter.NEUTRAL
42 * when string to match is unspecified.
43 */
44 public void test1() {
45 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
46 Logger.getLogger(StringMatchFilterTest.class),
47 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
48 Filter filter = new StringMatchFilter();
49 filter.activateOptions();
50 assertEquals(Filter.NEUTRAL, filter.decide(event));
51 }
52
53 /***
54 * Check that StringMatchFilter.decide() returns Filter.NEUTRAL
55 * when string to match does not appear in message.
56 */
57 public void test2() {
58 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
59 Logger.getLogger(StringMatchFilterTest.class),
60 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
61 StringMatchFilter filter = new StringMatchFilter();
62 filter.setStringToMatch("Monde");
63 filter.activateOptions();
64 assertEquals(Filter.NEUTRAL, filter.decide(event));
65 }
66
67 /***
68 * Check that StringMatchFilter.decide() returns Filter.ACCEPT
69 * when string to match does appear in message.
70 */
71 public void test3() {
72 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
73 Logger.getLogger(StringMatchFilterTest.class),
74 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
75 StringMatchFilter filter = new StringMatchFilter();
76 filter.setStringToMatch("World");
77 filter.activateOptions();
78 assertEquals(Filter.ACCEPT, filter.decide(event));
79 }
80
81 /***
82 * Check that StringMatchFilter.decide() returns Filter.DENY
83 * when string to match does appear in message and
84 * accept on match is false.
85 */
86 public void test4() {
87 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
88 Logger.getLogger(StringMatchFilterTest.class),
89 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
90 StringMatchFilter filter = new StringMatchFilter();
91 filter.setStringToMatch("World");
92 filter.setAcceptOnMatch(false);
93 filter.activateOptions();
94 assertEquals(Filter.DENY, filter.decide(event));
95 }
96
97 /***
98 * Check that StringMatchFilter.decide() returns Filter.NEUTRAL
99 * when string to match does appear in message but differs in case.
100 */
101 public void test5() {
102 LoggingEvent event = new LoggingEvent("org.apache.log4j.Logger",
103 Logger.getLogger(StringMatchFilterTest.class),
104 System.currentTimeMillis(), Level.INFO, "Hello, World", null);
105 StringMatchFilter filter = new StringMatchFilter();
106 filter.setStringToMatch("world");
107 filter.activateOptions();
108 assertEquals(Filter.NEUTRAL, filter.decide(event));
109 }
110
111 }
112