Home / Class/ ExtractorTests Class — spring-boot Architecture

ExtractorTests Class — spring-boot Architecture

Architecture documentation for the ExtractorTests class in ExtractorTests.java from the spring-boot codebase.

Entity Profile

Source Code

core/spring-boot/src/test/java/org/springframework/boot/logging/logback/ExtractorTests.java lines 32–73

class ExtractorTests {

	@Test
	void messageAndStackTraceWhenNoPrinterPrintsUsingLoggingSystem() {
		Extractor extractor = new Extractor(null, createConverter());
		assertThat(extractor.messageAndStackTrace(createEvent())).startsWith("TestMessage\n\n")
			.contains("java.lang.RuntimeException: Boom!");
	}

	@Test
	void messageAndStackTraceWhenNoPrinterPrintsUsingPrinter() {
		Extractor extractor = new Extractor(new SimpleStackTracePrinter(), createConverter());
		assertThat(extractor.messageAndStackTrace(createEvent()))
			.isEqualTo("TestMessage\n\nstacktrace:RuntimeException");
	}

	@Test
	void stackTraceWhenNoPrinterPrintsUsingFallback() {
		Extractor extractor = new Extractor(null, createConverter());
		assertThat(extractor.stackTrace(createEvent())).contains("java.lang.RuntimeException: Boom!");
	}

	@Test
	void stackTraceWhenNoPrinterPrintsUsingPrinter() {
		Extractor extractor = new Extractor(new SimpleStackTracePrinter(), createConverter());
		assertThat(extractor.stackTrace(createEvent())).isEqualTo("stacktrace:RuntimeException");
	}

	private ThrowableProxyConverter createConverter() {
		ThrowableProxyConverter converter = new ThrowableProxyConverter();
		converter.start();
		return converter;
	}

	private ILoggingEvent createEvent() {
		LoggingEvent event = new LoggingEvent();
		event.setMessage("TestMessage");
		event.setThrowableProxy(new ThrowableProxy(new RuntimeException("Boom!")));
		return event;
	}

}

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free