Polish support for Testcontainers Redis
- Add support for RedisStackContainer - Update the docs Closes gh-41450
This commit is contained in:
parent
7deb74af76
commit
f7ba5f1bbc
|
|
@ -87,7 +87,7 @@ The following service connection factories are provided in the `spring-boot-test
|
|||
| Containers of type `RabbitMQContainer`
|
||||
|
||||
| `RedisConnectionDetails`
|
||||
| Containers named "redis", "redis/redis-stack" or "redis/redis-stack-server"
|
||||
| Containers of type `com.redis.testcontainers.RedisContainer` or `com.redis.testcontainers.RedisStackContainer`, or containers named "redis", "redis/redis-stack" or "redis/redis-stack-server"
|
||||
|
||||
| `ZipkinConnectionDetails`
|
||||
| Containers named "openzipkin/zipkin"
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ package org.springframework.boot.testcontainers.service.connection.redis;
|
|||
import java.util.Map;
|
||||
|
||||
import com.redis.testcontainers.RedisContainer;
|
||||
import com.redis.testcontainers.RedisStackContainer;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import org.springframework.boot.autoconfigure.data.redis.RedisConnectionDetails;
|
||||
|
|
@ -32,7 +33,7 @@ import org.springframework.core.annotation.MergedAnnotation;
|
|||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
/**
|
||||
* Test for {@link RedisContainerConnectionDetailsFactory} when using a custom contain
|
||||
* Test for {@link RedisContainerConnectionDetailsFactory} when using a custom container
|
||||
* without "redis" as the name.
|
||||
*
|
||||
* @author Phillip Webb
|
||||
|
|
@ -50,4 +51,15 @@ class CustomRedisContainerConnectionDetailsFactoryTests {
|
|||
assertThat(connectionDetails.get(RedisConnectionDetails.class)).isNotNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void getConnectionDetailsWhenRedisStackContainerWithCustomName() {
|
||||
ConnectionDetailsFactories factories = new ConnectionDetailsFactories();
|
||||
MergedAnnotation<ServiceConnection> annotation = MergedAnnotation.of(ServiceConnection.class,
|
||||
Map.of("value", ""));
|
||||
ContainerConnectionSource<RedisStackContainer> source = TestContainerConnectionSource.create("test", null,
|
||||
RedisStackContainer.class, "mycustomimage", annotation, null);
|
||||
Map<Class<?>, ConnectionDetails> connectionDetails = factories.getConnectionDetails(source, true);
|
||||
assertThat(connectionDetails.get(RedisConnectionDetails.class)).isNotNull();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ package org.springframework.boot.testcontainers.service.connection.redis;
|
|||
import java.util.List;
|
||||
|
||||
import com.redis.testcontainers.RedisContainer;
|
||||
import com.redis.testcontainers.RedisStackContainer;
|
||||
import org.testcontainers.containers.Container;
|
||||
import org.testcontainers.containers.GenericContainer;
|
||||
|
||||
|
|
@ -53,7 +54,8 @@ class RedisContainerConnectionDetailsFactory
|
|||
protected boolean sourceAccepts(ContainerConnectionSource<Container<?>> source, Class<?> requiredContainerType,
|
||||
Class<?> requiredConnectionDetailsType) {
|
||||
return super.sourceAccepts(source, requiredContainerType, requiredConnectionDetailsType)
|
||||
|| source.accepts(ANY_CONNECTION_NAME, RedisContainer.class, requiredConnectionDetailsType);
|
||||
|| source.accepts(ANY_CONNECTION_NAME, RedisContainer.class, requiredConnectionDetailsType)
|
||||
|| source.accepts(ANY_CONNECTION_NAME, RedisStackContainer.class, requiredConnectionDetailsType);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Reference in New Issue