Search in sources :

Example 11 with ApplicationContextRunner

use of org.springframework.boot.test.context.runner.ApplicationContextRunner in project spring-boot by spring-projects.

the class RestartClassLoaderTests method packagePrivateClassLoadedByParentClassLoaderCanBeProxied.

@Test
void packagePrivateClassLoadedByParentClassLoaderCanBeProxied() throws IOException {
    try (RestartClassLoader restartClassLoader = new RestartClassLoader(ExampleTransactional.class.getClassLoader(), new URL[] { this.sampleJarFile.toURI().toURL() }, this.updatedFiles)) {
        new ApplicationContextRunner().withClassLoader(restartClassLoader).withUserConfiguration(ProxyConfiguration.class).run((context) -> {
            assertThat(context).hasNotFailed();
            ExampleTransactional transactional = context.getBean(ExampleTransactional.class);
            assertThat(AopUtils.isCglibProxy(transactional)).isTrue();
            assertThat(transactional.getClass().getClassLoader()).isEqualTo(ExampleTransactional.class.getClassLoader());
        });
    }
}
Also used : ApplicationContextRunner(org.springframework.boot.test.context.runner.ApplicationContextRunner) Test(org.junit.jupiter.api.Test)

Example 12 with ApplicationContextRunner

use of org.springframework.boot.test.context.runner.ApplicationContextRunner in project spring-boot by spring-projects.

the class BeansEndpointTests method infrastructureBeansAreOmitted.

@Test
void infrastructureBeansAreOmitted() {
    ApplicationContextRunner contextRunner = new ApplicationContextRunner().withUserConfiguration(EndpointConfiguration.class);
    contextRunner.run((context) -> {
        ConfigurableListableBeanFactory factory = (ConfigurableListableBeanFactory) context.getAutowireCapableBeanFactory();
        List<String> infrastructureBeans = Stream.of(context.getBeanDefinitionNames()).filter((name) -> BeanDefinition.ROLE_INFRASTRUCTURE == factory.getBeanDefinition(name).getRole()).collect(Collectors.toList());
        ApplicationBeans result = context.getBean(BeansEndpoint.class).beans();
        ContextBeans contextDescriptor = result.getContexts().get(context.getId());
        Map<String, BeanDescriptor> beans = contextDescriptor.getBeans();
        for (String infrastructureBean : infrastructureBeans) {
            assertThat(beans).doesNotContainKey(infrastructureBean);
        }
    });
}
Also used : Assertions.assertThat(org.assertj.core.api.Assertions.assertThat) ContextBeans(org.springframework.boot.actuate.beans.BeansEndpoint.ContextBeans) ApplicationContextRunner(org.springframework.boot.test.context.runner.ApplicationContextRunner) Collectors(java.util.stream.Collectors) ConfigurableListableBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory) Test(org.junit.jupiter.api.Test) Configuration(org.springframework.context.annotation.Configuration) BeanDescriptor(org.springframework.boot.actuate.beans.BeansEndpoint.BeanDescriptor) List(java.util.List) Stream(java.util.stream.Stream) Map(java.util.Map) ConfigurableApplicationContext(org.springframework.context.ConfigurableApplicationContext) BeanDefinition(org.springframework.beans.factory.config.BeanDefinition) Lazy(org.springframework.context.annotation.Lazy) Bean(org.springframework.context.annotation.Bean) ApplicationBeans(org.springframework.boot.actuate.beans.BeansEndpoint.ApplicationBeans) ApplicationBeans(org.springframework.boot.actuate.beans.BeansEndpoint.ApplicationBeans) BeanDescriptor(org.springframework.boot.actuate.beans.BeansEndpoint.BeanDescriptor) ApplicationContextRunner(org.springframework.boot.test.context.runner.ApplicationContextRunner) ContextBeans(org.springframework.boot.actuate.beans.BeansEndpoint.ContextBeans) ConfigurableListableBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory) Test(org.junit.jupiter.api.Test)

Example 13 with ApplicationContextRunner

use of org.springframework.boot.test.context.runner.ApplicationContextRunner in project spring-boot by spring-projects.

the class BeansEndpointTests method beansInParentContextAreFound.

@Test
void beansInParentContextAreFound() {
    ApplicationContextRunner parentRunner = new ApplicationContextRunner().withUserConfiguration(BeanConfiguration.class);
    parentRunner.run((parent) -> {
        new ApplicationContextRunner().withUserConfiguration(EndpointConfiguration.class).withParent(parent).run((child) -> {
            ApplicationBeans result = child.getBean(BeansEndpoint.class).beans();
            assertThat(result.getContexts().get(parent.getId()).getBeans()).containsKey("bean");
            assertThat(result.getContexts().get(child.getId()).getBeans()).containsKey("endpoint");
        });
    });
}
Also used : ApplicationBeans(org.springframework.boot.actuate.beans.BeansEndpoint.ApplicationBeans) ApplicationContextRunner(org.springframework.boot.test.context.runner.ApplicationContextRunner) Test(org.junit.jupiter.api.Test)

Example 14 with ApplicationContextRunner

use of org.springframework.boot.test.context.runner.ApplicationContextRunner in project spring-boot by spring-projects.

the class BeansEndpointTests method lazyBeansAreOmitted.

@Test
void lazyBeansAreOmitted() {
    ApplicationContextRunner contextRunner = new ApplicationContextRunner().withUserConfiguration(EndpointConfiguration.class, LazyBeanConfiguration.class);
    contextRunner.run((context) -> {
        ApplicationBeans result = context.getBean(BeansEndpoint.class).beans();
        ContextBeans contextDescriptor = result.getContexts().get(context.getId());
        assertThat(context).hasBean("lazyBean");
        assertThat(contextDescriptor.getBeans()).doesNotContainKey("lazyBean");
    });
}
Also used : ApplicationBeans(org.springframework.boot.actuate.beans.BeansEndpoint.ApplicationBeans) ApplicationContextRunner(org.springframework.boot.test.context.runner.ApplicationContextRunner) ContextBeans(org.springframework.boot.actuate.beans.BeansEndpoint.ContextBeans) Test(org.junit.jupiter.api.Test)

Example 15 with ApplicationContextRunner

use of org.springframework.boot.test.context.runner.ApplicationContextRunner in project spring-boot by spring-projects.

the class BeansEndpointTests method beansAreFound.

@Test
void beansAreFound() {
    ApplicationContextRunner contextRunner = new ApplicationContextRunner().withUserConfiguration(EndpointConfiguration.class);
    contextRunner.run((context) -> {
        ApplicationBeans result = context.getBean(BeansEndpoint.class).beans();
        ContextBeans descriptor = result.getContexts().get(context.getId());
        assertThat(descriptor.getParentId()).isNull();
        Map<String, BeanDescriptor> beans = descriptor.getBeans();
        assertThat(beans.size()).isLessThanOrEqualTo(context.getBeanDefinitionCount());
        assertThat(beans).containsKey("endpoint");
    });
}
Also used : ApplicationBeans(org.springframework.boot.actuate.beans.BeansEndpoint.ApplicationBeans) BeanDescriptor(org.springframework.boot.actuate.beans.BeansEndpoint.BeanDescriptor) ApplicationContextRunner(org.springframework.boot.test.context.runner.ApplicationContextRunner) ContextBeans(org.springframework.boot.actuate.beans.BeansEndpoint.ContextBeans) Test(org.junit.jupiter.api.Test)

Aggregations

ApplicationContextRunner (org.springframework.boot.test.context.runner.ApplicationContextRunner)53 Test (org.junit.jupiter.api.Test)49 ApplicationConfigurationProperties (org.springframework.boot.actuate.context.properties.ConfigurationPropertiesReportEndpoint.ApplicationConfigurationProperties)21 ConfigurationPropertiesBeanDescriptor (org.springframework.boot.actuate.context.properties.ConfigurationPropertiesReportEndpoint.ConfigurationPropertiesBeanDescriptor)16 Map (java.util.Map)7 MeterRegistry (io.micrometer.core.instrument.MeterRegistry)6 CompositeMeterRegistry (io.micrometer.core.instrument.composite.CompositeMeterRegistry)6 HashMap (java.util.HashMap)6 List (java.util.List)6 ArrayList (java.util.ArrayList)5 Assertions.assertThat (org.assertj.core.api.Assertions.assertThat)5 ContextConfigurationProperties (org.springframework.boot.actuate.context.properties.ConfigurationPropertiesReportEndpoint.ContextConfigurationProperties)5 Bean (org.springframework.context.annotation.Bean)5 Configuration (org.springframework.context.annotation.Configuration)5 SimpleMeterRegistry (io.micrometer.core.instrument.simple.SimpleMeterRegistry)4 GraphiteMeterRegistry (io.micrometer.graphite.GraphiteMeterRegistry)4 JmxMeterRegistry (io.micrometer.jmx.JmxMeterRegistry)4 ApplicationBeans (org.springframework.boot.actuate.beans.BeansEndpoint.ApplicationBeans)4 Test (org.junit.Test)3 ContextBeans (org.springframework.boot.actuate.beans.BeansEndpoint.ContextBeans)3