test: remove some packer test to speedup

This commit is contained in:
ReaJason
2025-11-20 00:36:25 +08:00
parent 5c27b8062d
commit fe86bc04c1
52 changed files with 248 additions and 83 deletions
@@ -58,11 +58,13 @@ public class GlassFish3ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.GlassFish; String server = Server.GlassFish;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.FILTER,
ShellType.LISTENER,
ShellType.VALVE,
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -58,11 +58,13 @@ public class GlassFish4ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.GlassFish; String server = Server.GlassFish;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.FILTER,
ShellType.LISTENER,
ShellType.VALVE,
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -51,17 +51,20 @@ public class GlassFish501ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.GlassFish; String server = Server.GlassFish;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.FILTER,
ShellType.LISTENER,
ShellType.VALVE,
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -51,11 +51,13 @@ public class GlassFish510ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.GlassFish; String server = Server.GlassFish;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.FILTER,
ShellType.LISTENER,
ShellType.VALVE,
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -52,11 +52,13 @@ public class GlassFish6ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.GlassFish; String server = Server.GlassFish;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_VALVE, ShellType.JAKARTA_FILTER,
ShellType.JAKARTA_LISTENER,
ShellType.JAKARTA_VALVE,
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword)); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword));
} }
@@ -52,17 +52,20 @@ public class GlassFish7ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.GlassFish; String server = Server.GlassFish;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_VALVE, ShellType.JAKARTA_FILTER,
ShellType.JAKARTA_LISTENER,
ShellType.JAKARTA_VALVE,
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword)); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword));
} }
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -52,9 +52,14 @@ public class Jboss423ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.JBoss; String server = Server.JBoss;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.PROXY_VALVE ShellType.FILTER,
ShellType.LISTENER,
ShellType.VALVE,
ShellType.PROXY_VALVE,
ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -58,7 +58,7 @@ public class Jboss510ContainerTest {
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers,
null, List.of(ShellTool.Behinder) // Behinder SocketTimeOuts null, List.of(ShellTool.Behinder) // Behinder SocketTimeOuts
); );
@@ -57,7 +57,7 @@ public class Jboss610ContainerTest {
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -60,7 +60,7 @@ public class Jboss711ContainerTest {
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.ScriptEngine); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -50,17 +50,22 @@ public class JbossEap6ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.JBoss; String server = Server.JBoss;
List<String> supportedShellTypes = List.of(ShellType.FILTER, ShellType.LISTENER, List<String> supportedShellTypes = List.of(
ShellType.FILTER,
ShellType.LISTENER,
ShellType.VALVE, ShellType.VALVE,
ShellType.PROXY_VALVE, ShellType.PROXY_VALVE,
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE); ShellType.AGENT_FILTER_CHAIN,
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.ScriptEngine); ShellType.CATALINA_AGENT_CONTEXT_VALVE
);
List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -51,17 +51,19 @@ public class JbossEap7ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Undertow; String server = Server.Undertow;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET,
ShellType.FILTER, ShellType.FILTER,
ShellType.LISTENER, ShellType.LISTENER,
ShellType.UNDERTOW_AGENT_SERVLET_HANDLER ShellType.UNDERTOW_AGENT_SERVLET_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.ScriptEngine); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -51,10 +51,12 @@ public class Jetty10ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Jetty; String server = Server.Jetty;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.JETTY_AGENT_HANDLER ShellType.JETTY_AGENT_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -57,7 +57,7 @@ public class Jetty11ContainerTest {
ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_LISTENER,
ShellType.JETTY_AGENT_HANDLER ShellType.JETTY_AGENT_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.DefineClassJSP, Packers.JSPX); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers,
null, List.of(ShellTool.AntSword) null, List.of(ShellTool.AntSword)
); );
@@ -0,0 +1,78 @@
package com.reajason.javaweb.integration.memshell.jetty;
import com.reajason.javaweb.Server;
import com.reajason.javaweb.integration.TestCasesProvider;
import com.reajason.javaweb.memshell.ShellTool;
import com.reajason.javaweb.memshell.ShellType;
import com.reajason.javaweb.packer.Packers;
import lombok.extern.slf4j.Slf4j;
import net.bytebuddy.jar.asm.Opcodes;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.Network;
import org.testcontainers.containers.wait.strategy.Wait;
import org.testcontainers.images.builder.ImageFromDockerfile;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import java.util.List;
import java.util.stream.Stream;
import static com.reajason.javaweb.integration.ContainerTool.*;
import static com.reajason.javaweb.integration.DoesNotContainExceptionMatcher.doesNotContainException;
import static com.reajason.javaweb.integration.ShellAssertion.shellInjectIsOk;
import static org.hamcrest.MatcherAssert.assertThat;
/**
* @author ReaJason
* @since 2025/11/11
*/
@Slf4j
@Testcontainers
public class Jetty12ee11ContainerTest {
public static final String imageName = "reajason/jetty:12.1-jre21-ee11";
static Network network = Network.newNetwork();
@Container
public final static GenericContainer<?> python = new GenericContainer<>(new ImageFromDockerfile()
.withDockerfile(neoGeorgDockerfile))
.withNetwork(network);
@Container
public final static GenericContainer<?> container = new GenericContainer<>(imageName)
.withCopyToContainer(warJakartaFile, "/var/lib/jetty/webapps/app.war")
.withCopyToContainer(jattachFile, "/jattach")
.withCopyToContainer(jettyPid, "/fetch_pid.sh")
.withNetwork(network)
.withNetworkAliases("app")
.waitingFor(Wait.forHttp("/app"))
.withExposedPorts(8080);
static Stream<Arguments> casesProvider() {
String server = Server.Jetty;
List<String> supportedShellTypes = List.of(
ShellType.JAKARTA_SERVLET,
ShellType.JAKARTA_FILTER,
ShellType.JAKARTA_LISTENER,
ShellType.JETTY_AGENT_HANDLER
);
List<Packers> testPackers = List.of(Packers.Base64);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers,
null, List.of(ShellTool.AntSword) // AntSword not supported Jakarta
);
}
@AfterAll
static void tearDown() {
String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
}
@ParameterizedTest(name = "{0}|{1}{2}|{3}")
@MethodSource("casesProvider")
void test(String imageName, String shellType, String shellTool, Packers packer) {
shellInjectIsOk(getUrl(container), Server.Jetty, shellType, shellTool, Opcodes.V21, packer, container, python);
}
}
@@ -63,6 +63,7 @@ public class Jetty12ee8ContainerTest {
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -51,10 +51,12 @@ public class Jetty61ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Jetty; String server = Server.Jetty;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.JETTY_AGENT_HANDLER ShellType.JETTY_AGENT_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -51,10 +51,12 @@ public class Jetty75ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Jetty; String server = Server.Jetty;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.JETTY_AGENT_HANDLER ShellType.JETTY_AGENT_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -51,10 +51,12 @@ public class Jetty76ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Jetty; String server = Server.Jetty;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.JETTY_AGENT_HANDLER ShellType.JETTY_AGENT_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -51,10 +51,12 @@ public class Jetty81ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Jetty; String server = Server.Jetty;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.JETTY_AGENT_HANDLER ShellType.JETTY_AGENT_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -52,10 +52,12 @@ public class Jetty92ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Jetty; String server = Server.Jetty;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.JETTY_AGENT_HANDLER ShellType.JETTY_AGENT_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -51,10 +51,12 @@ public class Jetty93ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Jetty; String server = Server.Jetty;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.JETTY_AGENT_HANDLER ShellType.JETTY_AGENT_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -51,10 +51,12 @@ public class Jetty94ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Jetty; String server = Server.Jetty;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.JETTY_AGENT_HANDLER ShellType.JETTY_AGENT_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -51,16 +51,20 @@ public class Payara5201ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.GlassFish; String server = Server.GlassFish;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.FILTER,
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.LISTENER,
ShellType.VALVE,
ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize, Packers.ScriptEngine); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -51,16 +51,20 @@ public class Payara520225ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.GlassFish; String server = Server.GlassFish;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.FILTER, ShellType.LISTENER, ShellType.VALVE, ShellType.FILTER,
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.LISTENER,
ShellType.VALVE,
ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize, Packers.ScriptEngine); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -52,16 +52,20 @@ public class Payara620222ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.GlassFish; String server = Server.GlassFish;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_VALVE, ShellType.JAKARTA_FILTER,
ShellType.AGENT_FILTER_CHAIN, ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.JAKARTA_LISTENER,
ShellType.JAKARTA_VALVE,
ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword)); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword));
} }
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -52,10 +52,11 @@ public class Resin3116ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Resin; String server = Server.Resin;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.FILTER, ShellType.LISTENER, ShellType.FILTER,
ShellType.LISTENER,
ShellType.AGENT_FILTER_CHAIN ShellType.AGENT_FILTER_CHAIN
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -51,16 +51,18 @@ public class Resin318ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Resin; String server = Server.Resin;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.FILTER, ShellType.LISTENER, ShellType.FILTER,
ShellType.LISTENER,
ShellType.AGENT_FILTER_CHAIN ShellType.AGENT_FILTER_CHAIN
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -51,16 +51,18 @@ public class Resin4058ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Resin; String server = Server.Resin;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.FILTER, ShellType.LISTENER, ShellType.FILTER,
ShellType.LISTENER,
ShellType.AGENT_FILTER_CHAIN ShellType.AGENT_FILTER_CHAIN
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -51,10 +51,11 @@ public class Resin4067ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Resin; String server = Server.Resin;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.FILTER, ShellType.LISTENER, ShellType.FILTER,
ShellType.LISTENER,
ShellType.AGENT_FILTER_CHAIN ShellType.AGENT_FILTER_CHAIN
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -57,7 +57,7 @@ public class SpringBoot2ContainerTest {
ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER, ShellType.SPRING_WEBMVC_CONTROLLER_HANDLER,
ShellType.SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET ShellType.SPRING_WEBMVC_AGENT_FRAMEWORK_SERVLET
); );
List<Packers> testPackers = List.of(Packers.ScriptEngine, Packers.SpEL, Packers.Base64, Packers.H2JS); List<Packers> testPackers = List.of(Packers.H2JS);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -60,7 +60,7 @@ public class Tomcat10ContainerTest {
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize, Packers.AgentJarWithJREAttacher, Packers.BigInteger); List<Packers> testPackers = List.of(Packers.JSP, Packers.AgentJarWithJREAttacher);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword)); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword));
} }
@@ -61,7 +61,7 @@ public class Tomcat11ContainerTest {
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.DefineClassJSP, Packers.JSPX, Packers.AgentJarWithJREAttacher, Packers.BigInteger); List<Packers> testPackers = List.of(Packers.JSP, Packers.AgentJarWithJREAttacher);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword)); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword));
} }
@@ -62,7 +62,7 @@ public class Tomcat11JRE21ContainerTest {
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.AgentJarWithJREAttacher, Packers.BigInteger); List<Packers> testPackers = List.of(Packers.JSP, Packers.AgentJarWithJREAttacher);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword)); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, null, List.of(ShellTool.AntSword));
} }
@@ -60,7 +60,7 @@ public class Tomcat5ContainerTest {
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.DefineClassJSP, Packers.JavaDeserialize, Packers.AgentJarWithJDKAttacher, Packers.BigInteger); List<Packers> testPackers = List.of(Packers.JSP, Packers.AgentJarWithJDKAttacher);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -58,7 +58,7 @@ public class Tomcat6ContainerTest {
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize, Packers.AgentJarWithJDKAttacher, Packers.BigInteger); List<Packers> testPackers = List.of(Packers.JSP, Packers.AgentJarWithJDKAttacher);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -59,7 +59,7 @@ public class Tomcat7ContainerTest {
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize, Packers.AgentJarWithJREAttacher, Packers.BigInteger); List<Packers> testPackers = List.of(Packers.JSP, Packers.AgentJarWithJREAttacher);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -78,7 +78,7 @@ public class Tomcat8CommandEncryptorContainerTest {
.encryptor(CommandConfig.Encryptor.DOUBLE_BASE64) .encryptor(CommandConfig.Encryptor.DOUBLE_BASE64)
.build(); .build();
MemShellResult generateResult = ShellAssertion.generate(urlPattern, Server.Tomcat, shellType, shellTool, Opcodes.V1_8, shellToolConfig, packer); MemShellResult generateResult = ShellAssertion.generate(urlPattern, Server.Tomcat, null, shellType, shellTool, Opcodes.V1_8, shellToolConfig, packer);
ShellAssertion.packerResultAndInject(generateResult, url, shellTool, shellType, packer, container); ShellAssertion.packerResultAndInject(generateResult, url, shellTool, shellType, packer, container);
@@ -61,7 +61,7 @@ public class Tomcat8ContainerTest {
ShellType.WEBSOCKET, ShellType.WEBSOCKET,
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE); ShellType.CATALINA_AGENT_CONTEXT_VALVE);
List<Packers> testPackers = List.of(Packers.ClassLoaderJSP, Packers.DefineClassJSP, Packers.JSPX, Packers.JavaDeserialize, Packers.AgentJarWithJREAttacher, Packers.BigInteger); List<Packers> testPackers = List.of(Packers.BigInteger, Packers.AgentJarWithJREAttacher);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -43,6 +43,7 @@ public class Tomcat8ExpressionContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
return Stream.of( return Stream.of(
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.EL), arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.EL),
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.BigInteger),
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.OGNLScriptEngine), arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.OGNLScriptEngine),
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.OGNLSpringGzip), arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.OGNLSpringGzip),
arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.MVEL), arguments(imageName, ShellType.FILTER, ShellTool.Godzilla, Packers.MVEL),
@@ -59,7 +59,7 @@ public class Tomcat9ContainerTest {
ShellType.AGENT_FILTER_CHAIN, ShellType.AGENT_FILTER_CHAIN,
ShellType.CATALINA_AGENT_CONTEXT_VALVE ShellType.CATALINA_AGENT_CONTEXT_VALVE
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.JavaDeserialize, Packers.AgentJarWithJREAttacher, Packers.BigInteger); List<Packers> testPackers = List.of(Packers.JSP, Packers.AgentJarWithJREAttacher);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -49,7 +49,9 @@ public class WebLogic1036ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.WebLogic; String server = Server.WebLogic;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT
); );
List<Packers> testPackers = List.of(Packers.Base64); List<Packers> testPackers = List.of(Packers.Base64);
@@ -51,7 +51,9 @@ public class WebLogic12214ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.WebLogic; String server = Server.WebLogic;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT
); );
List<Packers> testPackers = List.of(Packers.Base64); List<Packers> testPackers = List.of(Packers.Base64);
@@ -61,6 +63,7 @@ public class WebLogic12214ContainerTest {
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -51,7 +51,9 @@ public class WebLogic14110ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.WebLogic; String server = Server.WebLogic;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT ShellType.WEBLOGIC_AGENT_SERVLET_CONTEXT
); );
List<Packers> testPackers = List.of(Packers.Base64); List<Packers> testPackers = List.of(Packers.Base64);
@@ -54,7 +54,9 @@ public class WebSphere855ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.WebSphere; String server = Server.WebSphere;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.WAS_AGENT_FILTER_MANAGER ShellType.WAS_AGENT_FILTER_MANAGER
); );
List<Packers> testPackers = List.of(Packers.JSP); List<Packers> testPackers = List.of(Packers.JSP);
@@ -64,7 +66,7 @@ public class WebSphere855ContainerTest {
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info("container stopped, logs is : {}", logs); log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -54,7 +54,9 @@ public class WebSphere905ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.WebSphere; String server = Server.WebSphere;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.WAS_AGENT_FILTER_MANAGER ShellType.WAS_AGENT_FILTER_MANAGER
); );
List<Packers> testPackers = List.of(Packers.JSP); List<Packers> testPackers = List.of(Packers.JSP);
@@ -64,6 +66,7 @@ public class WebSphere905ContainerTest {
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -54,7 +54,9 @@ public class WebSphere700ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.WebSphere; String server = Server.WebSphere;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER
// ShellType.WAS_AGENT_FILTER_MANAGER // fuck the env, java.lang.instrument.UnmodifiableClassException // ShellType.WAS_AGENT_FILTER_MANAGER // fuck the env, java.lang.instrument.UnmodifiableClassException
); );
List<Packers> testPackers = List.of(Packers.JSP); List<Packers> testPackers = List.of(Packers.JSP);
@@ -64,7 +66,7 @@ public class WebSphere700ContainerTest {
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
String logs = container.getLogs(); String logs = container.getLogs();
log.info("container stopped, logs is : {}", logs); log.info(logs);
assertThat("Logs should not contain any exceptions", logs, doesNotContainException()); assertThat("Logs should not contain any exceptions", logs, doesNotContainException());
} }
@@ -51,10 +51,12 @@ public class Wildfly18ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Undertow; String server = Server.Undertow;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.UNDERTOW_AGENT_SERVLET_HANDLER ShellType.UNDERTOW_AGENT_SERVLET_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -51,10 +51,12 @@ public class Wildfly23ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Undertow; String server = Server.Undertow;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.UNDERTOW_AGENT_SERVLET_HANDLER ShellType.UNDERTOW_AGENT_SERVLET_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers); return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers);
} }
@@ -52,10 +52,12 @@ public class Wildfly30ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Undertow; String server = Server.Undertow;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.JAKARTA_SERVLET, ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER, ShellType.JAKARTA_SERVLET,
ShellType.JAKARTA_FILTER,
ShellType.JAKARTA_LISTENER,
ShellType.UNDERTOW_AGENT_SERVLET_HANDLER ShellType.UNDERTOW_AGENT_SERVLET_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers,
null, List.of(ShellTool.AntSword) // AntSword not support jakarta null, List.of(ShellTool.AntSword) // AntSword not support jakarta
); );
@@ -52,9 +52,12 @@ public class Wildfly36ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Undertow; String server = Server.Undertow;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.JAKARTA_SERVLET, ShellType.JAKARTA_FILTER, ShellType.JAKARTA_LISTENER ShellType.JAKARTA_SERVLET,
ShellType.JAKARTA_FILTER,
ShellType.JAKARTA_LISTENER,
ShellType.UNDERTOW_AGENT_SERVLET_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX); List<Packers> testPackers = List.of(Packers.JSP);
return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers, return TestCasesProvider.getTestCases(imageName, server, supportedShellTypes, testPackers,
null, List.of(ShellTool.AntSword) // AntSword not support jakarta null, List.of(ShellTool.AntSword) // AntSword not support jakarta
); );
@@ -56,10 +56,12 @@ public class Wildfly9ContainerTest {
static Stream<Arguments> casesProvider() { static Stream<Arguments> casesProvider() {
String server = Server.Undertow; String server = Server.Undertow;
List<String> supportedShellTypes = List.of( List<String> supportedShellTypes = List.of(
ShellType.SERVLET, ShellType.FILTER, ShellType.LISTENER, ShellType.SERVLET,
ShellType.FILTER,
ShellType.LISTENER,
ShellType.UNDERTOW_AGENT_SERVLET_HANDLER ShellType.UNDERTOW_AGENT_SERVLET_HANDLER
); );
List<Packers> testPackers = List.of(Packers.JSP, Packers.JSPX, Packers.ScriptEngine); List<Packers> testPackers = List.of(Packers.JSP);
List<Triple<String, String, Packers>> unSupportedCases = List.of( List<Triple<String, String, Packers>> unSupportedCases = List.of(
Triple.of(ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.AntSword, Packers.AgentJar) // Request ClassNotFound in module Triple.of(ShellType.UNDERTOW_AGENT_SERVLET_HANDLER, ShellTool.AntSword, Packers.AgentJar) // Request ClassNotFound in module
); );