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