From bf8510e5f423ca6d8e14500c7ae8c28551c39021 Mon Sep 17 00:00:00 2001 From: Radoslav Husar Date: Tue, 4 Jun 2024 11:05:10 +0200 Subject: [PATCH] feat: Introduce AverageSystemLoadServletTomcatIT --- .../it/tomcat/AbstractTomcatIT.java | 24 ++++++++++ .../AverageSystemLoadServletTomcatIT.java | 47 +++++++++++++++++++ .../it/tomcat/HttpSessionServletTomcatIT.java | 16 +------ 3 files changed, 72 insertions(+), 15 deletions(-) create mode 100644 integration-tests/tomcat-10.1/src/test/java/org/jboss/test/clusterbench/it/tomcat/AbstractTomcatIT.java create mode 100644 integration-tests/tomcat-10.1/src/test/java/org/jboss/test/clusterbench/it/tomcat/AverageSystemLoadServletTomcatIT.java diff --git a/integration-tests/tomcat-10.1/src/test/java/org/jboss/test/clusterbench/it/tomcat/AbstractTomcatIT.java b/integration-tests/tomcat-10.1/src/test/java/org/jboss/test/clusterbench/it/tomcat/AbstractTomcatIT.java new file mode 100644 index 00000000..7018fd2c --- /dev/null +++ b/integration-tests/tomcat-10.1/src/test/java/org/jboss/test/clusterbench/it/tomcat/AbstractTomcatIT.java @@ -0,0 +1,24 @@ +package org.jboss.test.clusterbench.it.tomcat; + +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.shrinkwrap.api.Archive; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.importer.ZipImporter; +import org.jboss.shrinkwrap.api.spec.WebArchive; + +import java.io.File; + +/** + * @author Radoslav Husar + */ +public abstract class AbstractTomcatIT { + + @Deployment(testable = false) + public static Archive deployment() { + return ShrinkWrap + .create(ZipImporter.class, "clusterbench.war") + .importFrom(new File("target/clusterbench-ee10-web-tomcat.war")) + .as(WebArchive.class); + } + +} diff --git a/integration-tests/tomcat-10.1/src/test/java/org/jboss/test/clusterbench/it/tomcat/AverageSystemLoadServletTomcatIT.java b/integration-tests/tomcat-10.1/src/test/java/org/jboss/test/clusterbench/it/tomcat/AverageSystemLoadServletTomcatIT.java new file mode 100644 index 00000000..8eb2a9ad --- /dev/null +++ b/integration-tests/tomcat-10.1/src/test/java/org/jboss/test/clusterbench/it/tomcat/AverageSystemLoadServletTomcatIT.java @@ -0,0 +1,47 @@ +/* + * Copyright The ClusterBench Authors + * SPDX-License-Identifier: Apache-2.0 + */ + +package org.jboss.test.clusterbench.it.tomcat; + +import static org.junit.Assert.assertEquals; + +import java.net.URL; + +import org.apache.http.client.methods.CloseableHttpResponse; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.util.EntityUtils; +import org.jboss.arquillian.container.test.api.RunAsClient; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.arquillian.test.api.ArquillianResource; +import org.jboss.test.clusterbench.web.session.HttpSessionServlet; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** + * Tomcat version of the smoke test for {@link org.jboss.test.clusterbench.web.load.AverageSystemLoadServlet}. + * + * @author Radoslav Husar + */ +@RunWith(Arquillian.class) +@RunAsClient +public class AverageSystemLoadServletTomcatIT extends AbstractTomcatIT { + + @Test + public void test(@ArquillianResource(HttpSessionServlet.class) URL baseURL) throws Exception { + try (CloseableHttpClient httpClient = HttpClients.createDefault()) { + HttpGet httpGet = new HttpGet(baseURL.toURI() + "/averagesystemload?milliseconds=1000&threads=4"); + System.out.println(httpGet); + + try (CloseableHttpResponse response = httpClient.execute(httpGet)) { + assertEquals(200, response.getStatusLine().getStatusCode()); + + String responseBody = EntityUtils.toString(response.getEntity()); + assertEquals("DONE", responseBody); + } + } + } +} diff --git a/integration-tests/tomcat-10.1/src/test/java/org/jboss/test/clusterbench/it/tomcat/HttpSessionServletTomcatIT.java b/integration-tests/tomcat-10.1/src/test/java/org/jboss/test/clusterbench/it/tomcat/HttpSessionServletTomcatIT.java index 9f8915b5..9f4b2582 100644 --- a/integration-tests/tomcat-10.1/src/test/java/org/jboss/test/clusterbench/it/tomcat/HttpSessionServletTomcatIT.java +++ b/integration-tests/tomcat-10.1/src/test/java/org/jboss/test/clusterbench/it/tomcat/HttpSessionServletTomcatIT.java @@ -8,7 +8,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import java.io.File; import java.net.URL; import java.util.Arrays; import java.util.Optional; @@ -19,14 +18,9 @@ import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; -import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.container.test.api.RunAsClient; import org.jboss.arquillian.junit.Arquillian; import org.jboss.arquillian.test.api.ArquillianResource; -import org.jboss.shrinkwrap.api.Archive; -import org.jboss.shrinkwrap.api.ShrinkWrap; -import org.jboss.shrinkwrap.api.importer.ZipImporter; -import org.jboss.shrinkwrap.api.spec.WebArchive; import org.jboss.test.clusterbench.web.session.HttpSessionServlet; import org.junit.Test; import org.junit.runner.RunWith; @@ -36,15 +30,7 @@ */ @RunWith(Arquillian.class) @RunAsClient -public class HttpSessionServletTomcatIT { - - @Deployment(testable = false) - public static Archive deployment() { - return ShrinkWrap - .create(ZipImporter.class, "clusterbench.war") - .importFrom(new File("target/clusterbench-ee10-web-tomcat.war")) - .as(WebArchive.class); - } +public class HttpSessionServletTomcatIT extends AbstractTomcatIT { @Test public void test(@ArquillianResource(HttpSessionServlet.class) URL baseURL) throws Exception {