Skip to content

Commit dc5dcff

Browse files
removed dependency on testcontainers-redis
1 parent 16983ba commit dc5dcff

File tree

5 files changed

+96
-11
lines changed

5 files changed

+96
-11
lines changed

pom.xml

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>com.redislabs</groupId>
77
<artifactId>redis-enterprise-kafka</artifactId>
8-
<version>1.0.0-SNAPSHOT</version>
8+
<version>0.2.0-SNAPSHOT</version>
99
<name>Redis Enterprise Kafka Connector</name>
1010
<description>Kafka Connect source and sink connectors for Redis Enterprise</description>
1111
<url>https://github.com/RedisLabs-Field-Engineering/redis-enterprise-kafka</url>
@@ -55,11 +55,6 @@
5555
<id>confluent</id>
5656
<url>http://packages.confluent.io/maven/</url>
5757
</repository>
58-
<repository>
59-
<id>github</id>
60-
<name>GitHub Packages</name>
61-
<url>https://maven.pkg.github.com/redis-developer/registry</url>
62-
</repository>
6358
</repositories>
6459
<dependencies>
6560
<dependency>
@@ -129,15 +124,15 @@
129124
<scope>test</scope>
130125
</dependency>
131126
<dependency>
132-
<groupId>com.redislabs</groupId>
133-
<artifactId>testcontainers-redis</artifactId>
134-
<version>1.1.6</version>
127+
<groupId>org.testcontainers</groupId>
128+
<artifactId>testcontainers</artifactId>
129+
<version>1.15.3</version>
135130
<scope>test</scope>
136131
</dependency>
137132
<dependency>
138133
<groupId>org.testcontainers</groupId>
139134
<artifactId>junit-jupiter</artifactId>
140-
<version>1.15.3-REDISLABS</version>
135+
<version>1.15.3</version>
141136
<scope>test</scope>
142137
</dependency>
143138
<dependency>
@@ -291,7 +286,7 @@
291286
<documentationUrl>https://redislabs-field-engineering.github.io/redis-enterprise-kafka/
292287
</documentationUrl>
293288
<ownerLogo>src/docs/asciidoc/images/redislabs.svg</ownerLogo>
294-
<ownerUsername>jruaux</ownerUsername>
289+
<ownerUsername>redislabs</ownerUsername>
295290
<ownerName>Redis Labs</ownerName>
296291
<ownerUrl>https://redislabs.com</ownerUrl>
297292
<sourceUrl>${project.scm.url}</sourceUrl>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.redislabs.testcontainers;
2+
3+
import com.redislabs.testcontainers.support.AbstractRedisContainer;
4+
import org.testcontainers.utility.DockerImageName;
5+
import org.testcontainers.utility.MountableFile;
6+
7+
public class RedisContainer extends AbstractRedisContainer<RedisContainer> {
8+
9+
private static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("redis");
10+
private static final String DEFAULT_TAG = "latest";
11+
12+
public RedisContainer() {
13+
this(DEFAULT_IMAGE_NAME.withTag(DEFAULT_TAG));
14+
}
15+
16+
protected RedisContainer(final DockerImageName dockerImageName) {
17+
super(dockerImageName);
18+
}
19+
20+
@Override
21+
public boolean isCluster() {
22+
return false;
23+
}
24+
25+
@SuppressWarnings("unchecked")
26+
public <C extends RedisContainer> C withKeyspaceNotifications() {
27+
withCopyFileToContainer(MountableFile.forClasspathResource("redis-keyspace-notifications.conf"), "/data/redis.conf");
28+
withCommand("redis-server", "/data/redis.conf");
29+
return (C) this;
30+
}
31+
32+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.redislabs.testcontainers;
2+
3+
import org.testcontainers.containers.GenericContainer;
4+
5+
public interface RedisServer {
6+
7+
String getRedisURI();
8+
9+
boolean isCluster();
10+
11+
static String redisURI(String host, int port) {
12+
return "redis://" + host + ":" + port;
13+
}
14+
15+
static String redisURI(GenericContainer<?> container) {
16+
return redisURI(container.getHost(), container.getFirstMappedPort());
17+
}
18+
19+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.redislabs.testcontainers.support;
2+
3+
import com.redislabs.testcontainers.RedisServer;
4+
import org.testcontainers.containers.GenericContainer;
5+
import org.testcontainers.containers.wait.strategy.Wait;
6+
import org.testcontainers.shaded.org.apache.commons.lang.ClassUtils;
7+
import org.testcontainers.utility.DockerImageName;
8+
9+
public abstract class AbstractRedisContainer<C extends AbstractRedisContainer<C>> extends GenericContainer<C> implements RedisServer {
10+
11+
public static final int REDIS_PORT = 6379;
12+
13+
protected AbstractRedisContainer(final DockerImageName dockerImageName) {
14+
this(dockerImageName, REDIS_PORT);
15+
}
16+
17+
protected AbstractRedisContainer(final DockerImageName dockerImageName, int port) {
18+
super(dockerImageName);
19+
withExposedPorts(port);
20+
waitingFor(Wait.forLogMessage(".*Ready to accept connections.*\\n", 1));
21+
}
22+
23+
/**
24+
* Get Redis URI.
25+
*
26+
* @return Redis URI.
27+
*/
28+
@Override
29+
public String getRedisURI() {
30+
return RedisServer.redisURI(this);
31+
}
32+
33+
@Override
34+
public String toString() {
35+
return ClassUtils.getShortClassName(getClass());
36+
}
37+
38+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
notify-keyspace-events AK

0 commit comments

Comments
 (0)