@Test void autoConfigWhenTemplateRendererBeanPresentDoesNotRegisterTemplateRenderer() { this.contextRunner .withUserConfiguration(CustomTemplateRendererConfiguration.class) .run((context) -> { assertThat(context).hasSingleBean(TemplateRenderer.class); assertThat(context).hasBean("testTemplateRenderer"); }); }
@Test void cacheConfigurationConditionalOnClass() { this.contextRunner .withClassLoader(new FilteredClassLoader("javax.cache.CacheManager")) .run((context) -> assertThat(context) .doesNotHaveBean(JCacheManagerCustomizer.class)); }
@Test public void shouldNotRegisterBeansIfVaultDisabled() { contextRunner .withUserConfiguration(DiscoveryConfiguration.class) .withPropertyValues("spring.cloud.vault.token=foo", "spring.cloud.vault.enabled=false") .run(context -> { assertThat( context.getBeanNamesForType(VaultServiceInstanceProvider.class)) .isEmpty(); }); }
@Test void autoConfigRegistersTemplateRenderer() { this.contextRunner.run( (context) -> assertThat(context).hasSingleBean(TemplateRenderer.class)); }
@Test void testDecoratingDbcp2DataSource() { ApplicationContextRunner contextRunner = this.contextRunner.withPropertyValues("spring.datasource.type:" + BasicDataSource.class.getName()); contextRunner.run(context -> { DataSource dataSource = context.getBean(DataSource.class); assertDataSourceOfType(dataSource, BasicDataSource.class); }); }
@Test public void shouldNotConfigureIfHttpClientIsMissing() { contextRunner .withUserConfiguration(AuthenticationFactoryConfiguration.class) .withClassLoader( new FilteredClassLoader("reactor.netty.http.client.HttpClient")) .run(context -> { assertThat(context.getBeanNamesForType(ReactiveVaultOperations.class)) .isEmpty(); }); }
@Test void testDecoratingHikariDataSourceWithCustomBeanStrategies() { ApplicationContextRunner contextRunner = this.contextRunner.withPropertyValues("spring.datasource.type:" + HikariDataSource.class.getName()) .withConfiguration(AutoConfigurations.of(HikariConfiguration.class)); contextRunner.run(context -> { DataSource dataSource = context.getBean(DataSource.class); FlexyPoolDataSource<HikariDataSource> flexyPoolDataSource = assertDataSourceOfType(dataSource, HikariDataSource.class); IncrementPoolOnTimeoutConnectionAcquiringStrategy strategy1 = findStrategy(flexyPoolDataSource, IncrementPoolOnTimeoutConnectionAcquiringStrategy.class); assertThat(strategy1).isNotNull(); assertThat(strategy1).hasFieldOrPropertyWithValue("maxOverflowPoolSize", 35); assertThat(strategy1).hasFieldOrPropertyWithValue("timeoutMillis", 10000); RetryConnectionAcquiringStrategy strategy2 = findStrategy(flexyPoolDataSource, RetryConnectionAcquiringStrategy.class); assertThat(strategy2).isNotNull(); assertThat(strategy2).hasFieldOrPropertyWithValue("retryAttempts", 5); HikariConnectionAcquiringFactory strategy3 = findStrategy(flexyPoolDataSource, HikariConnectionAcquiringFactory.class); assertThat(strategy3).isNotNull(); Dbcp2ConnectionAcquiringFactory strategy4 = findStrategy(flexyPoolDataSource, Dbcp2ConnectionAcquiringFactory.class); assertThat(strategy4).isNull(); }); }
private ApplicationContextRunner nonWebApplicationContextRunner() { return new ApplicationContextRunner().withConfiguration( AutoConfigurations.of(ApiVersionWebMvcAutoConfiguration.class, ApiVersionWebFluxAutoConfiguration.class)); }
@Override protected ApplicationContextRunner newInstance( Supplier<ConfigurableApplicationContext> contextFactory, List<ApplicationContextInitializer<? super ConfigurableApplicationContext>> initializers, TestPropertyValues environmentProperties, TestPropertyValues systemProperties, ClassLoader classLoader, ApplicationContext parent, List<Configurations> configurations) { return new ApplicationContextRunner(contextFactory, initializers, environmentProperties, systemProperties, classLoader, parent, configurations); }
@Test public void shouldNotRegisterBeansIfDiscoveryDisabled() { contextRunner .withUserConfiguration(DiscoveryConfiguration.class) .withPropertyValues("spring.cloud.vault.token=foo", "spring.cloud.vault.discovery.enabled=false") .run(context -> { assertThat( context.getBeanNamesForType(VaultServiceInstanceProvider.class)) .isEmpty(); }); }
@Test void autoConfigRegistersDependencyMetadataProvider() { this.contextRunner.run((context) -> assertThat(context) .hasSingleBean(DependencyMetadataProvider.class)); }
@Test void testDecoratingCanBeDisabled() { ApplicationContextRunner contextRunner = this.contextRunner.withPropertyValues("decorator.datasource.enabled:false"); contextRunner.run(context -> { DataSource dataSource = context.getBean(DataSource.class); assertThat(dataSource).isInstanceOf(HikariDataSource.class); }); }
private ApplicationContextRunner nonWebApplicationContextRunner() { return new ApplicationContextRunner().withConfiguration( AutoConfigurations.of(ServiceBrokerWebMvcAutoConfiguration.class, ServiceBrokerWebFluxAutoConfiguration.class)); }
@BeforeEach public void setUp() { this.joinfacesApplicationAnalyzer = new JoinfacesApplicationAnalyzer(); this.applicationContextRunner = new ApplicationContextRunner(); }
@Test void autoConfigWhenProjectRequestResolverBeanPresentDoesNotRegisterProjectRequestResolver() { this.contextRunner .withUserConfiguration(CustomProjectRequestResolverConfiguration.class) .run((context) -> { assertThat(context).hasSingleBean(ProjectRequestResolver.class); assertThat(context).hasBean("testProjectRequestResolver"); }); }
@Test public void shouldNotConfigureReactiveSupport() { contextRunner .withUserConfiguration(VaultBootstrapConfiguration.class) .withPropertyValues("spring.cloud.vault.reactive.enabled=false", "spring.cloud.vault.token=foo") .run(context -> { assertThat(context.getBeanNamesForType(ReactiveVaultOperations.class)) .isEmpty(); assertThat(context.getBean(SessionManager.class)).isInstanceOf( LifecycleAwareSessionManager.class); }); }
@Test void autoConfigRegistersProjectRequestResolver() { this.contextRunner.run((context) -> assertThat(context) .hasSingleBean(ProjectRequestResolver.class)); }
@Test void testNoDecoratingForExcludeBeans() { ApplicationContextRunner contextRunner = this.contextRunner.withPropertyValues("decorator.datasource.exclude-beans:dataSource"); contextRunner.run(context -> { DataSource dataSource = context.getBean(DataSource.class); assertThat(dataSource).isInstanceOf(HikariDataSource.class); }); }
@Test void testNoDecoratingDefaultDataSourceWithoutAdapterDependency() { ApplicationContextRunner contextRunner = this.contextRunner.withClassLoader(new HidePackagesClassLoader("net.ttddyy.dsproxy", "com.p6spy", "com.vladmihalcea.flexypool.adaptor")); contextRunner.run(context -> { assertThat(context).doesNotHaveBean(DecoratedDataSource.class); }); }
private ApplicationContextRunner nonWebApplicationContextRunner() { return new ApplicationContextRunner().withConfiguration( AutoConfigurations.of(ServiceBrokerWebFluxAutoConfiguration.class, ServiceBrokerWebMvcAutoConfiguration.class)); }