1
2
3
4
5
6
7
8
9
10 package ch.qos.logback.core.appender;
11
12
13 import static org.junit.Assert.assertFalse;
14 import static org.junit.Assert.assertTrue;
15
16 import org.junit.Test;
17
18 import ch.qos.logback.core.AppenderBase;
19 import ch.qos.logback.core.Context;
20 import ch.qos.logback.core.ContextBase;
21 import ch.qos.logback.core.status.StatusChecker;
22
23
24
25 abstract public class AbstractAppenderTest<E> {
26
27
28 abstract protected AppenderBase<E> getAppender();
29 abstract protected AppenderBase<E> getConfiguredAppender();
30
31 @Test
32 public void testNewAppender() {
33
34 AppenderBase appender = getAppender();
35 assertFalse( appender.isStarted());
36 }
37
38 @Test
39 public void testConfiguredAppender() {
40 AppenderBase appender = getConfiguredAppender();
41 appender.start();
42 assertTrue(appender.isStarted());
43
44 appender.stop();
45 assertFalse(appender.isStarted());
46
47 }
48
49 @Test
50 public void testNoStart() {
51 AppenderBase<E> appender = getAppender();
52 Context context = new ContextBase();
53 appender.setContext(context);
54 appender.setName("doh");
55
56 appender.doAppend(null);
57 StatusChecker checker = new StatusChecker(context.getStatusManager());
58
59 assertTrue(checker.containsMatch("Attempted to append to non started appender \\[doh\\]."));
60 }
61 }
62
63