refactor: pipeline run log

This commit is contained in:
xiaojunnuo
2022-10-28 16:08:12 +08:00
parent 25d5a99b3d
commit 3dfdd3c31c
24 changed files with 381 additions and 153 deletions
@@ -2,7 +2,7 @@ import { IAccessService } from "../../src/access/access-service";
import { AbstractAccess, AliyunAccess } from "../../src";
import { aliyunSecret } from "../user.secret";
export class AccessServiceTest implements IAccessService {
getById(id: any): AbstractAccess {
async getById(id: any): Promise<AbstractAccess> {
return {
...aliyunSecret,
} as AliyunAccess;
@@ -0,0 +1,15 @@
import { ContextFactory } from "../../src/core/context";
import { FileStorage } from "../../src/core/storage";
import { AccessServiceTest } from "./access-service-test";
import { logger } from "../../src/utils/util.log";
const contextFactory = new ContextFactory(new FileStorage());
const userContext = contextFactory.getContext("user", "test");
const pipelineContext = contextFactory.getContext("pipeline", "test");
export const pluginInitProps = {
accessService: new AccessServiceTest(),
pipelineContext: pipelineContext,
userContext: userContext,
logger: logger,
};
@@ -1,4 +1,4 @@
import { ConcurrencyStrategy, NextStrategy, Pipeline } from "../../src";
import { ConcurrencyStrategy, NextStrategy, Pipeline, RunStrategy } from "../../src";
let idIndex = 0;
function generateId() {
@@ -44,15 +44,18 @@ export const pipeline: Pipeline = {
tasks: [
{
id: generateId(),
title: "测试输出参数",
title: "测试输出参数任务",
steps: [
{
id: generateId(),
title: "输出参数",
title: "输出参数echo插件)",
type: "EchoPlugin",
input: {
cert: "cert",
},
strategy: {
runStrategy: RunStrategy.SkipWhenSucceed,
},
},
],
},
@@ -1,4 +1,4 @@
import { expect } from "chai";
//import { expect } from "chai";
import "mocha";
import { Executor, RunHistory } from "../../src";
import { pipeline } from "./pipeline.define";
@@ -11,7 +11,7 @@ describe("pipeline", function () {
console.log("changed:");
}
const executor = new Executor({ userId: 1, pipeline, onChanged, accessService: new AccessServiceTest(), storage: new FileStorage() });
const executor = new Executor({ userId: "test", pipeline, onChanged, accessService: new AccessServiceTest(), storage: new FileStorage() });
await executor.run();
// expect(define.name).eq("EchoPlugin");
});
@@ -0,0 +1,23 @@
import { expect } from "chai";
import "mocha";
import { CertApplyPlugin } from "../../../src/plugin/plugins";
import { pluginInitProps } from "../init.test";
describe("CertApply", function () {
it("#execute", async function () {
this.timeout(120000);
const plugin = new CertApplyPlugin();
// @ts-ignore
delete plugin.define;
await plugin.doInit(pluginInitProps);
const output = await plugin.execute({
domains: ["*.docmirror.cn", "docmirror.cn"],
email: "xiaojunnuo@qq.com",
dnsProviderType: "aliyun",
accessId: "111",
forceUpdate: true,
});
const cert = output.cert;
expect(plugin.getDefine().name).eq("CertApply");
expect(cert.crt != null).eq(true);
});
});
@@ -0,0 +1,23 @@
import { expect } from "chai";
import "mocha";
import { DeployCertToAliyunCDN } from "../../../src/plugin/plugins";
import { pluginInitProps } from "../init.test";
describe("DeployToAliyunCDN", function () {
it("#execute", async function () {
this.timeout(120000);
const plugin = new DeployCertToAliyunCDN();
// @ts-ignore
delete plugin.define;
await plugin.doInit(pluginInitProps);
const cert = await pluginInitProps.pipelineContext.get("cert");
await plugin.execute({
cert,
domainName: "certd-cdn-upload.docmirror.cn",
});
expect(plugin.getDefine().name).eq("DeployCertToAliyunCDN");
});
});