diff options
| author | zhangshuai <[email protected]> | 2024-11-26 10:13:20 +0800 |
|---|---|---|
| committer | zhangshuai <[email protected]> | 2024-11-26 10:13:20 +0800 |
| commit | b189c5d9d0fd67dcd5487928a93cdf021fe9aba5 (patch) | |
| tree | 1162fdc1bc06e9eaa5b35c6d9b6d206aaedfd027 | |
| parent | afcbbe30b667cb9cae1243bdca86b815010675af (diff) | |
feat: ASW-192 playbook支持python 脚本类型application-update-file-format
3 files changed, 14 insertions, 1 deletions
diff --git a/src/main/java/net/geedge/asw/module/runner/job/JobPlaybookExecResultChecker.java b/src/main/java/net/geedge/asw/module/runner/job/JobPlaybookExecResultChecker.java index 2860c34..d5c4aba 100644 --- a/src/main/java/net/geedge/asw/module/runner/job/JobPlaybookExecResultChecker.java +++ b/src/main/java/net/geedge/asw/module/runner/job/JobPlaybookExecResultChecker.java @@ -116,7 +116,7 @@ public class JobPlaybookExecResultChecker extends QuartzJobBean { Constants.RUNNING_JOB_THREAD.computeIfAbsent(id, jobId -> startGetJobLogThread(job, environment)); break; case "error": - Constants.RESULT_JOB_THREAD.computeIfAbsent(id, jobId -> startGetJobResultThread(job, environment, RunnerConstant.JobStatus.FAILED.getValue())); + Constants.RESULT_JOB_THREAD.computeIfAbsent(id, jobId -> startGetJobResultThread(job, environment,RunnerConstant.JobStatus.FAILED.getValue())); break; case "done": Constants.RESULT_JOB_THREAD.computeIfAbsent(id, jobId -> startGetJobResultThread(job, environment, RunnerConstant.JobStatus.PASSED.getValue())); diff --git a/src/main/java/net/geedge/asw/module/runner/job/JobPlaybookExecutor.java b/src/main/java/net/geedge/asw/module/runner/job/JobPlaybookExecutor.java index 43843aa..4692d6a 100644 --- a/src/main/java/net/geedge/asw/module/runner/job/JobPlaybookExecutor.java +++ b/src/main/java/net/geedge/asw/module/runner/job/JobPlaybookExecutor.java @@ -212,6 +212,7 @@ public class JobPlaybookExecutor extends QuartzJobBean { request.form("file", zipFile); request.form("id", job.getId()); request.form("packageName", packageName); + request.form("type", playbook.getType()); for (Map.Entry<String, Object> param : params.entrySet()) { request.form(param.getKey(), param.getValue()); } diff --git a/src/main/java/net/geedge/asw/module/runner/service/impl/PlaybookServiceImpl.java b/src/main/java/net/geedge/asw/module/runner/service/impl/PlaybookServiceImpl.java index 7c02ce7..e48ec2c 100644 --- a/src/main/java/net/geedge/asw/module/runner/service/impl/PlaybookServiceImpl.java +++ b/src/main/java/net/geedge/asw/module/runner/service/impl/PlaybookServiceImpl.java @@ -70,6 +70,7 @@ public class PlaybookServiceImpl extends ServiceImpl<PlaybookDao, PlaybookEntity FileUtils.copyInputStreamToFile(file.getInputStream(), destination); playbook.setPath(destination.getPath()); if (T.StrUtil.equalsIgnoreCase(type, "airtest_script")){ + playbook.setType("airtest_script"); unzip = T.ZipUtil.unzip(destination); List<File> fileList = Arrays.stream(unzip.listFiles()).toList(); if (T.CollUtil.isEmpty(fileList) || fileList.size() != 1) { @@ -87,6 +88,17 @@ public class PlaybookServiceImpl extends ServiceImpl<PlaybookDao, PlaybookEntity throw new ASWException(RCode.PLAYBOOK_INVALID_FILE); } } + if (T.StrUtil.equalsIgnoreCase(type, "python")){ + playbook.setType("python"); + unzip = T.ZipUtil.unzip(destination); + List<File> fileList = Arrays.stream(unzip.listFiles()).toList(); + fileList = fileList.stream().filter(x -> { + return T.StrUtil.equals("main.py", x.getName()); + }).toList(); + if (T.CollUtil.isEmpty(fileList)) { + throw new ASWException(RCode.PLAYBOOK_INVALID_FILE); + } + } this.save(playbook); } catch (Exception e) { log.error(e, "[savePlaybook] [error] [file: {}]", file.getName()); |
