Home / Class/ ApplicationAvailabilityAutoConfigurationTests Class — spring-boot Architecture

ApplicationAvailabilityAutoConfigurationTests Class — spring-boot Architecture

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

Entity Profile

Relationship Graph

Source Code

core/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/availability/ApplicationAvailabilityAutoConfigurationTests.java lines 37–66

class ApplicationAvailabilityAutoConfigurationTests {

	private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
		.withConfiguration(AutoConfigurations.of(ApplicationAvailabilityAutoConfiguration.class));

	@Test
	void providerIsPresentWhenNotRegistered() {
		this.contextRunner.run(((context) -> assertThat(context).hasSingleBean(ApplicationAvailability.class)
			.hasBean("applicationAvailability")));
	}

	@Test
	void providerIsNotConfiguredWhenCustomOneIsPresent() {
		this.contextRunner
			.withBean("customApplicationAvailability", ApplicationAvailability.class,
					() -> mock(ApplicationAvailability.class))
			.run(((context) -> assertThat(context).hasSingleBean(ApplicationAvailability.class)
				.hasBean("customApplicationAvailability")));
	}

	@Test
	void whenLazyInitializationIsEnabledApplicationAvailabilityBeanShouldStillReceiveAvailabilityChangeEvents() {
		this.contextRunner.withBean(LazyInitializationBeanFactoryPostProcessor.class).run((context) -> {
			AvailabilityChangeEvent.publish(context, ReadinessState.ACCEPTING_TRAFFIC);
			ApplicationAvailability applicationAvailability = context.getBean(ApplicationAvailability.class);
			assertThat(applicationAvailability.getLastChangeEvent(ReadinessState.class)).isNotNull();
		});
	}

}

Domain

Analyze Your Own Codebase

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

Try Supermodel Free