1 package ch.qos.logback.classic.spi;
2
3 import java.io.PrintStream;
4
5 import org.junit.jupiter.api.AfterEach;
6 import org.junit.jupiter.api.BeforeEach;
7 import org.junit.jupiter.api.Test;
8 import org.slf4j.Logger;
9 import org.slf4j.LoggerFactory;
10 import org.slf4j.LoggerFactoryFriend;
11
12 import ch.qos.logback.classic.testUtil.StringPrintStream;
13
14 import static org.junit.jupiter.api.Assertions.assertEquals;
15 import static org.junit.jupiter.api.Assertions.assertTrue;
16
17 public class InvocationTest {
18
19 private final PrintStream oldErr = System.err;
20 final String loggerName = this.getClass().getName();
21 StringPrintStream sps = new StringPrintStream(oldErr, true);
22
23 String CONNECTED_WITH_MESSAGE = "SLF4J(I): Connected with provider of type [ch.qos.logback.classic.spi.LogbackServiceProvider]";
24
25 @BeforeEach
26 public void setUp() throws Exception {
27 System.setErr(sps);
28 }
29
30 @AfterEach
31 public void tearDown() throws Exception {
32 LoggerFactoryFriend.reset();
33 System.setErr(oldErr);
34 }
35
36
37
38 @Test
39 public void smoke() {
40 Logger logger = LoggerFactory.getLogger(this.getClass());
41 logger.debug("Hello world.");
42
43 assertEquals(1, sps.stringList.size());
44 assertEquals(CONNECTED_WITH_MESSAGE, sps.stringList.get(0));
45
46 }
47
48 }