From 44586e849dc63cbc4e1b055c930dc276aaceab8f Mon Sep 17 00:00:00 2001 From: olivier lamy Date: Sat, 16 May 2020 17:09:03 +1000 Subject: [PATCH] configure test using TestContainer to use containerIpAddress as default localhost can cause issue in some environement Signed-off-by: olivier lamy --- .../CouchbaseAutoConfigurationIntegrationTests.java | 2 +- ...ssandraDataAutoConfigurationIntegrationTests.java | 3 ++- .../session/SessionAutoConfigurationRedisTests.java | 12 ++++++++---- .../data/redis/DataRedisTestIntegrationTests.java | 1 + ...taRedisTestWithIncludeFilterIntegrationTests.java | 1 + 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfigurationIntegrationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfigurationIntegrationTests.java index b9ec3da79bdb..71568ab6450d 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfigurationIntegrationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/couchbase/CouchbaseAutoConfigurationIntegrationTests.java @@ -74,7 +74,7 @@ static void createBucket() { void setUp() { this.context = new AnnotationConfigApplicationContext(); this.context.register(CouchbaseAutoConfiguration.class); - TestPropertyValues.of("spring.couchbase.bootstrap-hosts=localhost", + TestPropertyValues.of("spring.couchbase.bootstrap-hosts=" + couchbase.getContainerIpAddress(), "spring.couchbase.env.bootstrap.http-direct-port:" + couchbase.getMappedPort(8091), "spring.couchbase.username:spring", "spring.couchbase.password:password", "spring.couchbase.bucket.name:default").applyTo(this.context.getEnvironment()); diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfigurationIntegrationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfigurationIntegrationTests.java index 82b3e0d05ec9..ab3356cedc86 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfigurationIntegrationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/cassandra/CassandraDataAutoConfigurationIntegrationTests.java @@ -56,7 +56,8 @@ class CassandraDataAutoConfigurationIntegrationTests { void setUp() { this.context = new AnnotationConfigApplicationContext(); TestPropertyValues - .of("spring.data.cassandra.port=" + cassandra.getFirstMappedPort(), + .of("spring.data.cassandra.contact-points=" + cassandra.getContainerIpAddress(), + "spring.data.cassandra.port=" + cassandra.getFirstMappedPort(), "spring.data.cassandra.read-timeout=24000", "spring.data.cassandra.connect-timeout=10000") .applyTo(this.context.getEnvironment()); } diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationRedisTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationRedisTests.java index 26dbd2764800..a1d0437c24d4 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationRedisTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/SessionAutoConfigurationRedisTests.java @@ -63,9 +63,8 @@ class SessionAutoConfigurationRedisTests extends AbstractSessionAutoConfiguratio @Test void defaultConfig() { - this.contextRunner - .withPropertyValues("spring.session.store-type=redis", - "spring.redis.port=" + redis.getFirstMappedPort()) + this.contextRunner.withPropertyValues("spring.session.store-type=redis", + "spring.redis.host=" + redis.getContainerIpAddress(), "spring.redis.port=" + redis.getFirstMappedPort()) .withConfiguration(AutoConfigurations.of(RedisAutoConfiguration.class)) .run(validateSpringSessionUsesRedis("spring:session:event:0:created:", FlushMode.ON_SAVE, SaveMode.ON_SET_ATTRIBUTE, "0 * * * * *")); @@ -77,7 +76,8 @@ void defaultConfigWithUniqueStoreImplementation() { .withClassLoader(new FilteredClassLoader(HazelcastIndexedSessionRepository.class, JdbcIndexedSessionRepository.class, MongoIndexedSessionRepository.class)) .withConfiguration(AutoConfigurations.of(RedisAutoConfiguration.class)) - .withPropertyValues("spring.redis.port=" + redis.getFirstMappedPort()) + .withPropertyValues("spring.redis.host=" + redis.getContainerIpAddress(), + "spring.redis.port=" + redis.getFirstMappedPort()) .run(validateSpringSessionUsesRedis("spring:session:event:0:created:", FlushMode.ON_SAVE, SaveMode.ON_SET_ATTRIBUTE, "0 * * * * *")); } @@ -88,6 +88,7 @@ void redisSessionStoreWithCustomizations() { .withPropertyValues("spring.session.store-type=redis", "spring.session.redis.namespace=foo", "spring.session.redis.flush-mode=immediate", "spring.session.redis.save-mode=on-get-attribute", "spring.session.redis.cleanup-cron=0 0 12 * * *", + "spring.redis.host=" + redis.getContainerIpAddress(), "spring.redis.port=" + redis.getFirstMappedPort()) .run(validateSpringSessionUsesRedis("foo:event:0:created:", FlushMode.IMMEDIATE, SaveMode.ON_GET_ATTRIBUTE, "0 0 12 * * *")); @@ -97,6 +98,7 @@ void redisSessionStoreWithCustomizations() { void redisSessionWithConfigureActionNone() { this.contextRunner.withConfiguration(AutoConfigurations.of(RedisAutoConfiguration.class)) .withPropertyValues("spring.session.store-type=redis", "spring.session.redis.configure-action=none", + "spring.redis.host=" + redis.getContainerIpAddress(), "spring.redis.port=" + redis.getFirstMappedPort()) .run(validateStrategy(ConfigureRedisAction.NO_OP.getClass())); } @@ -105,6 +107,7 @@ void redisSessionWithConfigureActionNone() { void redisSessionWithDefaultConfigureActionNone() { this.contextRunner.withConfiguration(AutoConfigurations.of(RedisAutoConfiguration.class)) .withPropertyValues("spring.session.store-type=redis", + "spring.redis.host=" + redis.getContainerIpAddress(), "spring.redis.port=" + redis.getFirstMappedPort()) .run(validateStrategy(ConfigureNotifyKeyspaceEventsAction.class, entry("notify-keyspace-events", "gxE"))); @@ -115,6 +118,7 @@ void redisSessionWithCustomConfigureRedisActionBean() { this.contextRunner.withConfiguration(AutoConfigurations.of(RedisAutoConfiguration.class)) .withUserConfiguration(MaxEntriesRedisAction.class) .withPropertyValues("spring.session.store-type=redis", + "spring.redis.host=" + redis.getContainerIpAddress(), "spring.redis.port=" + redis.getFirstMappedPort()) .run(validateStrategy(MaxEntriesRedisAction.class, entry("set-max-intset-entries", "1024"))); diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/data/redis/DataRedisTestIntegrationTests.java b/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/data/redis/DataRedisTestIntegrationTests.java index 2f8ae12cdcce..abd8c64753df 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/data/redis/DataRedisTestIntegrationTests.java +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/data/redis/DataRedisTestIntegrationTests.java @@ -61,6 +61,7 @@ class DataRedisTestIntegrationTests { @DynamicPropertySource static void redisProperties(DynamicPropertyRegistry registry) { registry.add("spring.redis.port", redis::getFirstMappedPort); + registry.add("spring.redis.host", redis::getContainerIpAddress); } @Test diff --git a/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/data/redis/DataRedisTestWithIncludeFilterIntegrationTests.java b/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/data/redis/DataRedisTestWithIncludeFilterIntegrationTests.java index fcdddb9b3837..1bc9e172aef6 100644 --- a/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/data/redis/DataRedisTestWithIncludeFilterIntegrationTests.java +++ b/spring-boot-project/spring-boot-test-autoconfigure/src/test/java/org/springframework/boot/test/autoconfigure/data/redis/DataRedisTestWithIncludeFilterIntegrationTests.java @@ -50,6 +50,7 @@ class DataRedisTestWithIncludeFilterIntegrationTests { @DynamicPropertySource static void redisProperties(DynamicPropertyRegistry registry) { registry.add("spring.redis.port", redis::getFirstMappedPort); + registry.add("spring.redis.host", redis::getContainerIpAddress); } @Test