From abe34b403a53b472b17778143c208c93cd482dff Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Mon, 28 Aug 2023 09:34:47 +0300 Subject: [PATCH] Fixed - RedisConnectionDetails isn't used for Redisson configuration in Spring Boot 3.1+. #5273 --- .../RedissonAutoConfiguration2Test.java | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 redisson-spring-boot-starter/src/test/java/org/redisson/spring/starter/RedissonAutoConfiguration2Test.java diff --git a/redisson-spring-boot-starter/src/test/java/org/redisson/spring/starter/RedissonAutoConfiguration2Test.java b/redisson-spring-boot-starter/src/test/java/org/redisson/spring/starter/RedissonAutoConfiguration2Test.java new file mode 100644 index 000000000..a3b23f645 --- /dev/null +++ b/redisson-spring-boot-starter/src/test/java/org/redisson/spring/starter/RedissonAutoConfiguration2Test.java @@ -0,0 +1,56 @@ +package org.redisson.spring.starter; + +import org.junit.jupiter.api.Test; +import org.redisson.api.RMap; +import org.redisson.api.RedissonClient; +import org.redisson.client.codec.StringCodec; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.data.redis.RedisConnectionDetails; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.boot.test.context.TestConfiguration; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Import; +import org.springframework.data.redis.core.BoundHashOperations; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; + +import static org.assertj.core.api.Assertions.assertThat; + +@SpringJUnitConfig +@SpringBootTest(classes = RedissonApplication.class) +@Import(RedissonAutoConfiguration2Test.RedissonConnectionDetailsConfig.class) +public class RedissonAutoConfiguration2Test { + + @TestConfiguration + static class RedissonConnectionDetailsConfig { + + @Bean + RedisConnectionDetails redisConnectionDetails() { + return new RedisConnectionDetails() { + @Override + public Standalone getStandalone() { + return Standalone.of("localhost", 6379); + } + }; + } + } + + @Autowired + private RedissonClient redisson; + + @Autowired + private RedisTemplate template; + + @Test + public void testApp() { + redisson.getKeys().flushall(); + + RMap m = redisson.getMap("test", StringCodec.INSTANCE); + m.put("1", "2"); + + BoundHashOperations hash = template.boundHashOps("test"); + String t = hash.get("1"); + assertThat(t).isEqualTo("2"); + } + +}