Home / Class/ SpringBootConditionTests Class — spring-boot Architecture

SpringBootConditionTests Class — spring-boot Architecture

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

Entity Profile

Source Code

core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/condition/SpringBootConditionTests.java lines 35–76

@SuppressWarnings("resource")
class SpringBootConditionTests {

	@Test
	void sensibleClassException() {
		assertThatIllegalStateException().isThrownBy(() -> new AnnotationConfigApplicationContext(ErrorOnClass.class))
			.withMessageContaining("Error processing condition on " + ErrorOnClass.class.getName());
	}

	@Test
	void sensibleMethodException() {
		assertThatIllegalStateException().isThrownBy(() -> new AnnotationConfigApplicationContext(ErrorOnMethod.class))
			.withMessageContaining("Error processing condition on " + ErrorOnMethod.class.getName() + ".myBean");
	}

	@Configuration(proxyBeanMethods = false)
	@Conditional(AlwaysThrowsCondition.class)
	static class ErrorOnClass {

	}

	@Configuration(proxyBeanMethods = false)
	static class ErrorOnMethod {

		@Bean
		@Conditional(AlwaysThrowsCondition.class)
		String myBean() {
			return "bean";
		}

	}

	static class AlwaysThrowsCondition extends SpringBootCondition {

		@Override
		public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) {
			throw new RuntimeException("Oh no!");
		}

	}

}

Analyze Your Own Codebase

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

Try Supermodel Free