From 9a1d92fc084ba588ccd00690915cb7c3830f57f5 Mon Sep 17 00:00:00 2001 From: Paul Tuckey Date: Thu, 8 Jun 2023 22:48:18 +1200 Subject: [PATCH] progress --- container-test2/example-webapp/pom.xml | 11 ++-- .../test-with-testcontainters/pom.xml | 8 ++- .../urlrewriteviacontainer/ExampleTest.java | 52 +++++++++++-------- 3 files changed, 43 insertions(+), 28 deletions(-) diff --git a/container-test2/example-webapp/pom.xml b/container-test2/example-webapp/pom.xml index 54ecf6b4..20d500b3 100644 --- a/container-test2/example-webapp/pom.xml +++ b/container-test2/example-webapp/pom.xml @@ -28,7 +28,7 @@ - webapp + example-webapp maven-compiler-plugin @@ -55,14 +55,15 @@ + org.tuckey urlrewritefilter - 4.0.4 + 5.0.0-SNAPSHOT - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + 6.0.0 provided diff --git a/container-test2/test-with-testcontainters/pom.xml b/container-test2/test-with-testcontainters/pom.xml index fe1b7dd2..f17728ef 100644 --- a/container-test2/test-with-testcontainters/pom.xml +++ b/container-test2/test-with-testcontainters/pom.xml @@ -33,9 +33,15 @@ + org.tuckey urlrewritefilter - 4.0.4 + 5.0.0-SNAPSHOT + + + org.apache.httpcomponents.client5 + httpclient5 + 5.2.1 org.junit.jupiter diff --git a/container-test2/test-with-testcontainters/src/test/java/org/tuckey/web/filters/urlrewriteviacontainer/ExampleTest.java b/container-test2/test-with-testcontainters/src/test/java/org/tuckey/web/filters/urlrewriteviacontainer/ExampleTest.java index 5e499b72..c81325cf 100644 --- a/container-test2/test-with-testcontainters/src/test/java/org/tuckey/web/filters/urlrewriteviacontainer/ExampleTest.java +++ b/container-test2/test-with-testcontainters/src/test/java/org/tuckey/web/filters/urlrewriteviacontainer/ExampleTest.java @@ -1,48 +1,56 @@ package org.tuckey.web.filters.urlrewriteviacontainer; +import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; +import org.apache.hc.client5.http.impl.classic.HttpClients; +import org.apache.hc.core5.http.ClassicHttpRequest; +import org.apache.hc.core5.http.io.support.ClassicRequestBuilder; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.wait.strategy.Wait; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; -import org.testcontainers.utility.DockerImageName; -import org.testcontainers.utility.MountableFile; -import static org.hamcrest.MatcherAssert.assertThat; -import static org.testcontainers.shaded.org.apache.commons.lang3.BooleanUtils.isTrue; + +import java.io.IOException; +import java.nio.file.Paths; + @Testcontainers public class ExampleTest { - private final MountableFile warFile = MountableFile.forHostPath("/Users/paul/co/urlrewritefilter/container-test2/example-webapp/target/webapp.war"); + String webappPath = Paths.get("..", "example-webapp", "target", "example-webapp.war") + .toAbsolutePath().toString(); @Container - public GenericContainer container = new GenericContainer(DockerImageName.parse("payara/micro")) - .withExposedPorts(8087) - .withCopyFileToContainer(warFile, "/opt/payara/deployments/webapp.war") - .withCommand("--noCluster --deploy /opt/payara/deployments/webapp.war --contextRoot /") - .waitingFor(Wait.forHttp("/get").forStatusCode(200)); + public GenericContainer container = new GenericContainer<>("tomcat:10.1.9") + .withReuse(true) + .withExposedPorts(8080) + .withFileSystemBind(webappPath, "/usr/local/tomcat/webapps/example-webapp.war") + .waitingFor(Wait.forHttp("/example-webapp/test/test.jsp").forStatusCode(200)); @BeforeEach public void setUp() { - // Assume that we have Redis running locally? - //underTest = new RedisBackedCache("localhost", 6379); + System.out.println("War: " + webappPath); } @Test - public void checkContainerIsRunning(){ - assert(isTrue(container.isRunning())); + public void checkContainerIsRunning() { + System.out.println(container.getContainerId()); + assert (container.isRunning()); } @Test - public void testSimplePutAndGet() { - //System.out.println(webContainer.getContainerId()); - //underTest.put("test", "example"); - - //String retrieved = underTest.get("test"); - //assertThat("123").isEqualTo("example"); - - + public void testSimplePutAndGet() throws IOException { + System.out.println("Container ID" + container.getContainerId()); + + try (CloseableHttpClient httpClient = HttpClients.createDefault()) { + ClassicHttpRequest httpGet = ClassicRequestBuilder.get("http://localhost:8080/example-webapp/test/test.jsp") + .build(); + httpClient.execute(httpGet, response -> { + System.out.println(response.getCode() + " " + response.getReasonPhrase()); + return null; + }); + } } } \ No newline at end of file