composite-build-usage-example
43 строки · 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 {
16private MemoryAppender memoryAppender;
17
18@BeforeEach
19public void clearLoggingStatements() {
20memoryAppender = new MemoryAppender();
21memoryAppender.setContext((LoggerContext) LoggerFactory.getILoggerFactory());
22Logger logger = (Logger) LoggerFactory.getLogger(StartupHelper.class.getCanonicalName());
23logger.addAppender(memoryAppender);
24memoryAppender.start();
25}
26
27@Test
28void logApplicationStartup() {
29final StandardEnvironment env = new StandardEnvironment();
30
31StartupHelper.logApplicationStartup(env);
32
33List<ILoggingEvent> loggedEvents = memoryAppender.getLoggedEvents();
34assertEquals(loggedEvents.size(), 1);
35assertEquals(loggedEvents.get(0).getMessage(), "\n"
36+ "----------------------------------------------------------\n"
37+ "\tApplication '{}' is running! Access URLs:\n"
38+ "\tLocal: \t\t{}://localhost:{}{}\n"
39+ "\tExternal: \t{}://{}:{}{}\n"
40+ "\tProfile(s): \t{}\n"
41+ "----------------------------------------------------------");
42}
43}
44