diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfigurationJedisTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfigurationJedisTests.java index 9b007db40cc..f00579a4cc8 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfigurationJedisTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfigurationJedisTests.java @@ -19,6 +19,8 @@ package org.springframework.boot.autoconfigure.data.redis; import org.junit.Test; import org.junit.runner.RunWith; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.boot.testsupport.runner.classpath.ClassPathExclusions; @@ -160,8 +162,12 @@ public class RedisAutoConfigurationJedisTests { this.runner .withPropertyValues("spring.redis.sentinel.master:mymaster", "spring.redis.sentinel.nodes:127.0.0.1:26379,127.0.0.1:26380") - .run((context) -> assertThat(context.getBean(JedisConnectionFactory.class) - .isRedisSentinelAware()).isTrue()); + .withUserConfiguration(JedisConnectionFactoryCaptorConfiguration.class) + .run((context) -> { + assertThat(context).hasFailed(); + assertThat(JedisConnectionFactoryCaptor.connectionFactory + .isRedisSentinelAware()).isTrue(); + }); } @Test @@ -170,9 +176,15 @@ public class RedisAutoConfigurationJedisTests { .withPropertyValues("spring.redis.password=password", "spring.redis.sentinel.master:mymaster", "spring.redis.sentinel.nodes:127.0.0.1:26379,127.0.0.1:26380") - .run((context) -> assertThat( - context.getBean(JedisConnectionFactory.class).getPassword()) - .isEqualTo("password")); + .withUserConfiguration(JedisConnectionFactoryCaptorConfiguration.class) + .run((context) -> { + assertThat(context).hasFailed(); + assertThat(JedisConnectionFactoryCaptor.connectionFactory + .isRedisSentinelAware()).isTrue(); + assertThat( + JedisConnectionFactoryCaptor.connectionFactory.getPassword()) + .isEqualTo("password"); + }); } @Test @@ -194,4 +206,29 @@ public class RedisAutoConfigurationJedisTests { } + @Configuration + static class JedisConnectionFactoryCaptorConfiguration { + + @Bean + JedisConnectionFactoryCaptor jedisConnectionFactoryCaptor() { + return new JedisConnectionFactoryCaptor(); + } + + } + + static class JedisConnectionFactoryCaptor implements BeanPostProcessor { + + static JedisConnectionFactory connectionFactory; + + @Override + public Object postProcessBeforeInitialization(Object bean, String beanName) + throws BeansException { + if (bean instanceof JedisConnectionFactory) { + connectionFactory = (JedisConnectionFactory) bean; + } + return bean; + } + + } + } diff --git a/spring-boot-project/spring-boot-dependencies/pom.xml b/spring-boot-project/spring-boot-dependencies/pom.xml index 6a077c764a5..1e7dd646d31 100644 --- a/spring-boot-project/spring-boot-dependencies/pom.xml +++ b/spring-boot-project/spring-boot-dependencies/pom.xml @@ -144,7 +144,7 @@ 2.0.2.RELEASE 4.0.0.RELEASE 2.0.1.RELEASE - Kay-SR3 + Kay-BUILD-SNAPSHOT 0.24.0.RELEASE 5.0.1.RELEASE 2.1.2.RELEASE