From b5903f39fa87b66444cf40d08f880500ebe594db Mon Sep 17 00:00:00 2001 From: ReaJason Date: Tue, 7 Jan 2025 20:44:05 +0800 Subject: [PATCH] test: unit test npe --- .../memshell/tomcat/command/CommandFilterTest.java | 10 ++++++---- .../memshell/tomcat/godzilla/GodzillaTest.java | 12 +++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/command/CommandFilterTest.java b/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/command/CommandFilterTest.java index 21e54ba7..8c648ea2 100644 --- a/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/command/CommandFilterTest.java +++ b/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/command/CommandFilterTest.java @@ -1,6 +1,7 @@ package com.reajason.javaweb.memshell.tomcat.command; 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.generator.CommandGenerator; import com.reajason.javaweb.memshell.shelltool.command.CommandFilter; @@ -23,22 +24,23 @@ class CommandFilterTest { static Stream casesProvider() { return Stream.of( - arguments(CommandFilter.class, "org.apache.utils.CommandFilter"), - arguments(CommandListener.class, "org.apache.utils.CommandListener"), - arguments(CommandValve.class, "org.apache.utils.CommandValve") + arguments(Constants.FILTER, CommandFilter.class, "org.apache.utils.CommandFilter"), + arguments(Constants.LISTENER, CommandListener.class, "org.apache.utils.CommandListener"), + arguments(Constants.VALVE, CommandValve.class, "org.apache.utils.CommandValve") ); } @ParameterizedTest @MethodSource("casesProvider") - void generate(Class clazz, String className) { + void generate(String shellType, Class clazz, String className) { ShellConfig generateConfig = new ShellConfig(); CommandConfig shellConfig = CommandConfig.builder() .shellClass(clazz) .shellClassName(className) .paramName("cmd") .build(); + generateConfig.setShellType(shellType); byte[] bytes = CommandGenerator.generate(generateConfig, shellConfig); Object obj = ClassUtils.newInstance(bytes); assertEquals(shellConfig.getShellClassName(), obj.getClass().getName()); diff --git a/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/godzilla/GodzillaTest.java b/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/godzilla/GodzillaTest.java index 00e44de0..0f5606ad 100644 --- a/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/godzilla/GodzillaTest.java +++ b/generator/src/test/java/com/reajason/javaweb/memshell/tomcat/godzilla/GodzillaTest.java @@ -1,12 +1,13 @@ 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.ShellConfig; import com.reajason.javaweb.memshell.generator.GodzillaGenerator; import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaFilter; 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.util.ClassUtils; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -31,20 +32,21 @@ class GodzillaTest { static Stream casesProvider() { return Stream.of( - arguments(GodzillaFilter.class, "org.apache.utils.GodzillaFilter"), - arguments(GodzillaListener.class, "org.apache.utils.GodzillaListener"), - arguments(GodzillaValve.class, "org.apache.utils.GodzillaValve") + arguments(Constants.FILTER, GodzillaFilter.class, "org.apache.utils.GodzillaFilter"), + arguments(Constants.LISTENER, GodzillaListener.class, "org.apache.utils.GodzillaListener"), + arguments(Constants.VALVE, GodzillaValve.class, "org.apache.utils.GodzillaValve") ); } @ParameterizedTest @MethodSource("casesProvider") - void generate(Class clazz, String className) { + void generate(String shellType, Class clazz, String className) { GodzillaConfig shellConfig = shellConfigBuilder .shellClassName(className) .shellClass(clazz) .build(); + config.setShellType(shellType); byte[] bytes = new GodzillaGenerator(config, shellConfig).getBytes(); Object obj = ClassUtils.newInstance(bytes); assertEquals(shellConfig.getShellClassName(), obj.getClass().getName());