spring-boot-2-template
44 строки · 1.6 Кб
1package by.andd3dfx.templateapp.util;
2
3import ch.qos.logback.classic.Logger;
4import ch.qos.logback.classic.LoggerContext;
5import ch.qos.logback.classic.spi.ILoggingEvent;
6import org.junit.jupiter.api.BeforeEach;
7import org.junit.jupiter.api.Test;
8import org.slf4j.LoggerFactory;
9import org.springframework.core.env.StandardEnvironment;
10
11import java.util.List;
12
13import static org.junit.jupiter.api.Assertions.assertEquals;
14
15class StartupHelperTest {
16
17private MemoryAppender memoryAppender;
18
19@BeforeEach
20public void clearLoggingStatements() {
21memoryAppender = new MemoryAppender();
22memoryAppender.setContext((LoggerContext) LoggerFactory.getILoggerFactory());
23Logger logger = (Logger) LoggerFactory.getLogger(StartupHelper.class.getCanonicalName());
24logger.addAppender(memoryAppender);
25memoryAppender.start();
26}
27
28@Test
29void logApplicationStartup() {
30final StandardEnvironment env = new StandardEnvironment();
31
32StartupHelper.logApplicationStartup(env);
33
34List<ILoggingEvent> loggedEvents = memoryAppender.getLoggedEvents();
35assertEquals(loggedEvents.size(), 1);
36assertEquals(loggedEvents.get(0).getMessage(), "\n"
37+ "----------------------------------------------------------\n"
38+ "\tApplication '{}' is running! Access URLs:\n"
39+ "\tLocal: \t\t{}://localhost:{}{}\n"
40+ "\tExternal: \t{}://{}:{}{}\n"
41+ "\tProfile(s): \t{}\n"
42+ "----------------------------------------------------------");
43}
44}
45