Skip to content
18 changes: 18 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@
<version>${junit.jupiter.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>5.1.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
Expand Down Expand Up @@ -50,6 +56,18 @@
<version>2.9.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<version>1.17.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<version>1.17.6</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/org/fungover/storm/client/ClientHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import org.fungover.storm.filehandler.re.ResponseCode;
import org.fungover.storm.filehandler.re.Teapot;


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
Expand All @@ -20,6 +21,7 @@ public class ClientHandler implements Runnable {
private final Socket clientSocket;
private final FileRequestHandler fileRequestHandler;


public ClientHandler(Socket socket, FileRequestHandler fileRequestHandler) {
this.clientSocket = socket;
this.fileRequestHandler = fileRequestHandler;
Expand Down
37 changes: 37 additions & 0 deletions src/test/java/org/fungover/storm/integration/IntegrationTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package org.fungover.storm.integration;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import static org.junit.jupiter.api.Assertions.assertEquals;

@Testcontainers
public class IntegrationTest {

@Container
private static final GenericContainer<?> redisContainer = new GenericContainer<>("redis:latest")
.withExposedPorts(6379);

@Test
void testRedisIntegration() {
// Get the Redis container host and port
String redisHost = redisContainer.getHost();
Integer redisPort = redisContainer.getMappedPort(6379);

// Create a Jedi pool that connects to the Redis container.
JedisPool jedisPool = new JedisPool(redisHost, redisPort);

// Performing a Redis operation, such as a set and goat
try (Jedis jedis = jedisPool.getResource()) {
jedis.set("testKey", "testValue");
String result = jedis.get("testKey");

// Check that the operation was successful
assertEquals("testValue", result);
}
}
}