refactor: unify code style

This commit is contained in:
ReaJason
2024-12-20 23:26:13 +08:00
parent 75019e9847
commit c7c4b8be84
146 changed files with 3865 additions and 5631 deletions
File diff suppressed because one or more lines are too long
@@ -0,0 +1,25 @@
package com.reajason.javaweb.memshell.packer;
import com.reajason.javaweb.config.GenerateResult;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* @author ReaJason
* @since 2024/12/14
*/
class FreemarkerPackerTest {
FreemarkerPacker packer = new FreemarkerPacker();
@Test
void test() {
GenerateResult generateResult = GenerateResult.builder()
.injectorClassName("hehe")
.injectorBytesBase64Str("hehe").build();
String content = new String(packer.pack(generateResult));
System.out.println(content);
assertTrue(content.contains("var className = \"hehe\";"));
assertTrue(content.contains("var base64Str = \"hehe\";"));
}
}
@@ -0,0 +1,23 @@
package com.reajason.javaweb.memshell.packer;
import com.reajason.javaweb.config.GenerateResult;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* @author ReaJason
* @since 2024/11/26
*/
class JspPackerTest {
@Test
void pack() {
GenerateResult generateResult = GenerateResult.builder()
.injectorClassName("hehe")
.injectorBytesBase64Str("hehe").build();
String jspContent = new String(new JspPacker().pack(generateResult));
assertTrue(jspContent.contains("String className = \"hehe\";"));
assertTrue(jspContent.contains("String base64Str = \"hehe\";"));
}
}
@@ -0,0 +1,25 @@
package com.reajason.javaweb.memshell.packer;
import com.reajason.javaweb.config.GenerateResult;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* @author ReaJason
* @since 2024/12/3
*/
class ScriptEnginePackerTest {
@Test
void pack() {
GenerateResult generateResult = GenerateResult.builder()
.injectorClassName("hehe")
.injectorBytesBase64Str("hehe").build();
String jsContent = new String(new ScriptEnginePacker().pack(generateResult));
System.out.println(jsContent);
assertTrue(jsContent.contains("var className = \"hehe\";"));
assertTrue(jsContent.contains("var base64Str = \"hehe\";"));
}
}
@@ -0,0 +1,46 @@
package com.reajason.javaweb.memshell.tomcat.command;
import com.reajason.javaweb.config.CommandConfig;
import com.reajason.javaweb.config.ShellConfig;
import com.reajason.javaweb.memshell.CommandGenerator;
import com.reajason.javaweb.memshell.shelltool.command.CommandValve;
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;
import java.util.stream.Stream;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.params.provider.Arguments.arguments;
/**
* @author ReaJason
* @since 2024/11/24
*/
class CommandFilterTest {
static Stream<Arguments> 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")
);
}
@ParameterizedTest
@MethodSource("casesProvider")
void generate(Class<?> clazz, String className) {
ShellConfig generateConfig = new ShellConfig();
CommandConfig shellConfig = CommandConfig.builder()
.shellClass(clazz)
.shellClassName(className)
.paramName("cmd")
.build();
byte[] bytes = CommandGenerator.generate(generateConfig, shellConfig);
Object obj = ClassUtils.newInstance(bytes);
assertEquals(shellConfig.getShellClassName(), obj.getClass().getName());
assertEquals(shellConfig.getParamName(), ClassUtils.getFieldValue(obj, "paramName"));
}
}
@@ -0,0 +1,54 @@
package com.reajason.javaweb.memshell.tomcat.godzilla;
import com.reajason.javaweb.config.GodzillaConfig;
import com.reajason.javaweb.config.ShellConfig;
import com.reajason.javaweb.memshell.GodzillaGenerator;
import com.reajason.javaweb.memshell.shelltool.godzilla.GodzillaValve;
import com.reajason.javaweb.util.ClassUtils;
import com.reajason.javaweb.util.CommonUtil;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import java.util.stream.Stream;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.params.provider.Arguments.arguments;
/**
* @author ReaJason
* @since 2024/11/24
*/
class GodzillaTest {
ShellConfig config = new ShellConfig();
GodzillaConfig.GodzillaConfigBuilder<?, ?> shellConfigBuilder = GodzillaConfig.builder()
.pass(CommonUtil.getRandomString(6))
.key(CommonUtil.getRandomString(6))
.headerName("User-Agent")
.headerValue(CommonUtil.getRandomString(5));
static Stream<Arguments> 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")
);
}
@ParameterizedTest
@MethodSource("casesProvider")
void generate(Class<?> clazz, String className) {
GodzillaConfig shellConfig = shellConfigBuilder
.shellClassName(className)
.shellClass(clazz)
.build();
byte[] bytes = new GodzillaGenerator(config, shellConfig).getBytes();
Object obj = ClassUtils.newInstance(bytes);
assertEquals(shellConfig.getShellClassName(), obj.getClass().getName());
assertEquals(shellConfig.getPass(), ClassUtils.getFieldValue(obj, "pass"));
assertEquals(shellConfig.getHeaderName(), ClassUtils.getFieldValue(obj, "headerName"));
assertEquals(shellConfig.getHeaderValue(), ClassUtils.getFieldValue(obj, "headerValue"));
}
}