package tech.powerjob.official.processors.impl;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import tech.powerjob.worker.core.processor.TaskContext;
|
import org.junit.jupiter.api.Test;
|
import tech.powerjob.official.processors.TestUtils;
|
|
import java.util.regex.Pattern;
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
/**
|
* test FileCleanupProcessor
|
*
|
* @author tjq
|
* @since 2021/2/1
|
*/
|
class FileCleanupProcessorTest {
|
|
@Test
|
void testPatternCompile() throws Exception {
|
String fileName = "abc.log";
|
System.out.println(fileName.matches("[\\s\\S]*log"));
|
System.out.println(Pattern.matches("[a-z.0-9]*log", fileName));
|
}
|
|
@Test
|
void testScriptCompile() throws Exception {
|
Pattern compile = Pattern.compile("(shell|python)_[0-9]*\\.(sh|py)");
|
String fileNameA = "shell_158671537124147264.sh";
|
String fileNameB = "python_158671537124147264.py";
|
assertTrue(compile.matcher(fileNameA).matches());
|
assertTrue(compile.matcher(fileNameB).matches());
|
}
|
|
@Test
|
void testProcess() throws Exception {
|
JSONObject params = new JSONObject();
|
params.put("dirPath", "/Users/tjq/logs");
|
params.put("filePattern", "[\\s\\S]*log");
|
params.put("retentionTime", 0);
|
JSONArray array = new JSONArray();
|
array.add(params);
|
|
String paramsStr = array.toJSONString();
|
System.out.println(paramsStr);
|
|
TaskContext taskContext = TestUtils.genTaskContext(paramsStr);
|
System.out.println(new FileCleanupProcessor().process(taskContext));
|
}
|
|
@Test
|
void testCleanWorkerScript() throws Exception {
|
JSONObject params = new JSONObject();
|
params.put("dirPath", "/");
|
params.put("filePattern", "(shell|python)_[0-9]*\\.(sh|py)");
|
params.put("retentionTime", 24);
|
JSONArray array = new JSONArray();
|
array.add(params);
|
|
TaskContext taskContext = TestUtils.genTaskContext(array.toJSONString());
|
System.out.println(new FileCleanupProcessor().process(taskContext));
|
}
|
}
|