mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-24 16:01:52 +08:00
test: unit test npe
This commit is contained in:
+6
-4
@@ -1,6 +1,7 @@
|
|||||||
package com.reajason.javaweb.memshell.tomcat.command;
|
package com.reajason.javaweb.memshell.tomcat.command;
|
||||||
|
|
||||||
import com.reajason.javaweb.memshell.config.CommandConfig;
|
import com.reajason.javaweb.memshell.config.CommandConfig;
|
||||||
|
import com.reajason.javaweb.memshell.config.Constants;
|
||||||
import com.reajason.javaweb.memshell.config.ShellConfig;
|
import com.reajason.javaweb.memshell.config.ShellConfig;
|
||||||
import com.reajason.javaweb.memshell.generator.CommandGenerator;
|
import com.reajason.javaweb.memshell.generator.CommandGenerator;
|
||||||
import com.reajason.javaweb.memshell.shelltool.command.CommandFilter;
|
import com.reajason.javaweb.memshell.shelltool.command.CommandFilter;
|
||||||
@@ -23,22 +24,23 @@ class CommandFilterTest {
|
|||||||
|
|
||||||
static Stream<Arguments> casesProvider() {
|
static Stream<Arguments> casesProvider() {
|
||||||
return Stream.of(
|
return Stream.of(
|
||||||
arguments(CommandFilter.class, "org.apache.utils.CommandFilter"),
|
arguments(Constants.FILTER, CommandFilter.class, "org.apache.utils.CommandFilter"),
|
||||||
arguments(CommandListener.class, "org.apache.utils.CommandListener"),
|
arguments(Constants.LISTENER, CommandListener.class, "org.apache.utils.CommandListener"),
|
||||||
arguments(CommandValve.class, "org.apache.utils.CommandValve")
|
arguments(Constants.VALVE, CommandValve.class, "org.apache.utils.CommandValve")
|
||||||
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ParameterizedTest
|
@ParameterizedTest
|
||||||
@MethodSource("casesProvider")
|
@MethodSource("casesProvider")
|
||||||
void generate(Class<?> clazz, String className) {
|
void generate(String shellType, Class<?> clazz, String className) {
|
||||||
ShellConfig generateConfig = new ShellConfig();
|
ShellConfig generateConfig = new ShellConfig();
|
||||||
CommandConfig shellConfig = CommandConfig.builder()
|
CommandConfig shellConfig = CommandConfig.builder()
|
||||||
.shellClass(clazz)
|
.shellClass(clazz)
|
||||||
.shellClassName(className)
|
.shellClassName(className)
|
||||||
.paramName("cmd")
|
.paramName("cmd")
|
||||||
.build();
|
.build();
|
||||||
|
generateConfig.setShellType(shellType);
|
||||||
byte[] bytes = CommandGenerator.generate(generateConfig, shellConfig);
|
byte[] bytes = CommandGenerator.generate(generateConfig, shellConfig);
|
||||||
Object obj = ClassUtils.newInstance(bytes);
|
Object obj = ClassUtils.newInstance(bytes);
|
||||||
assertEquals(shellConfig.getShellClassName(), obj.getClass().getName());
|
assertEquals(shellConfig.getShellClassName(), obj.getClass().getName());
|
||||||
|
|||||||
+7
-5
@@ -1,12 +1,13 @@
|
|||||||
package com.reajason.javaweb.memshell.tomcat.godzilla;
|
package com.reajason.javaweb.memshell.tomcat.godzilla;
|
||||||
|
|
||||||
|
import com.reajason.javaweb.memshell.config.Constants;
|
||||||
import com.reajason.javaweb.memshell.config.GodzillaConfig;
|
import com.reajason.javaweb.memshell.config.GodzillaConfig;
|
||||||
import com.reajason.javaweb.memshell.config.ShellConfig;
|
import com.reajason.javaweb.memshell.config.ShellConfig;
|
||||||
import com.reajason.javaweb.memshell.generator.GodzillaGenerator;
|
import com.reajason.javaweb.memshell.generator.GodzillaGenerator;
|
||||||
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaFilter;
|
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaFilter;
|
||||||
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaValve;
|
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaValve;
|
||||||
import com.reajason.javaweb.util.ClassUtils;
|
|
||||||
import com.reajason.javaweb.memshell.utils.CommonUtil;
|
import com.reajason.javaweb.memshell.utils.CommonUtil;
|
||||||
|
import com.reajason.javaweb.util.ClassUtils;
|
||||||
import org.junit.jupiter.params.ParameterizedTest;
|
import org.junit.jupiter.params.ParameterizedTest;
|
||||||
import org.junit.jupiter.params.provider.Arguments;
|
import org.junit.jupiter.params.provider.Arguments;
|
||||||
import org.junit.jupiter.params.provider.MethodSource;
|
import org.junit.jupiter.params.provider.MethodSource;
|
||||||
@@ -31,20 +32,21 @@ class GodzillaTest {
|
|||||||
|
|
||||||
static Stream<Arguments> casesProvider() {
|
static Stream<Arguments> casesProvider() {
|
||||||
return Stream.of(
|
return Stream.of(
|
||||||
arguments(GodzillaFilter.class, "org.apache.utils.GodzillaFilter"),
|
arguments(Constants.FILTER, GodzillaFilter.class, "org.apache.utils.GodzillaFilter"),
|
||||||
arguments(GodzillaListener.class, "org.apache.utils.GodzillaListener"),
|
arguments(Constants.LISTENER, GodzillaListener.class, "org.apache.utils.GodzillaListener"),
|
||||||
arguments(GodzillaValve.class, "org.apache.utils.GodzillaValve")
|
arguments(Constants.VALVE, GodzillaValve.class, "org.apache.utils.GodzillaValve")
|
||||||
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ParameterizedTest
|
@ParameterizedTest
|
||||||
@MethodSource("casesProvider")
|
@MethodSource("casesProvider")
|
||||||
void generate(Class<?> clazz, String className) {
|
void generate(String shellType, Class<?> clazz, String className) {
|
||||||
GodzillaConfig shellConfig = shellConfigBuilder
|
GodzillaConfig shellConfig = shellConfigBuilder
|
||||||
.shellClassName(className)
|
.shellClassName(className)
|
||||||
.shellClass(clazz)
|
.shellClass(clazz)
|
||||||
.build();
|
.build();
|
||||||
|
config.setShellType(shellType);
|
||||||
byte[] bytes = new GodzillaGenerator(config, shellConfig).getBytes();
|
byte[] bytes = new GodzillaGenerator(config, shellConfig).getBytes();
|
||||||
Object obj = ClassUtils.newInstance(bytes);
|
Object obj = ClassUtils.newInstance(bytes);
|
||||||
assertEquals(shellConfig.getShellClassName(), obj.getClass().getName());
|
assertEquals(shellConfig.getShellClassName(), obj.getClass().getName());
|
||||||
|
|||||||
Reference in New Issue
Block a user