formatting code upload project instance to files
This commit is contained in:
parent
ce4c98ff13
commit
a0b4f00f47
65 changed files with 399 additions and 748 deletions
|
@ -3,10 +3,9 @@ import { delay } from "../../src/core/helper/delay";
|
|||
import { Result } from "../../src/core/helper/result";
|
||||
import { TypedEvent } from "../../src/core/helper/typed_event";
|
||||
|
||||
|
||||
export const before = async () =>{
|
||||
await mongoose.connection.dropDatabase()
|
||||
}
|
||||
export const before = async () => {
|
||||
await mongoose.connection.dropDatabase();
|
||||
};
|
||||
|
||||
export class TestCore {
|
||||
allTests = 0;
|
||||
|
@ -33,17 +32,14 @@ export class TestCore {
|
|||
console.log("\x1b[32m", "=============");
|
||||
|
||||
if (this.allTests - this.testOk === 0) {
|
||||
console.log(
|
||||
"\x1b[32m",
|
||||
`✅ All test success! ${this.allTests}/${this.testOk}`
|
||||
);
|
||||
console.log("\x1b[32m", `✅ All test success! ${this.allTests}/${this.testOk}`);
|
||||
return;
|
||||
}
|
||||
if (this.testErr !== 0) {
|
||||
console.log("\x1b[31m", "❌ test error:" + String(this.testErr));
|
||||
console.log("\x1b[32m", `✅ test success! ${this.testOk}`);
|
||||
}
|
||||
await before()
|
||||
await before();
|
||||
};
|
||||
resultTest = async (
|
||||
eventClass: TypedEvent<Result<any, any>> | any,
|
||||
|
@ -54,24 +50,20 @@ export class TestCore {
|
|||
) => {
|
||||
let testIsOk = false;
|
||||
eventClass.call(...args);
|
||||
const listener = eventClass.on(
|
||||
(e: {
|
||||
fold: (arg0: (_s: any) => void, arg1: (_e: any) => void) => void;
|
||||
}) => {
|
||||
e.fold(
|
||||
() => {
|
||||
if (isOk) {
|
||||
testIsOk = true;
|
||||
}
|
||||
},
|
||||
() => {
|
||||
if (!isOk) {
|
||||
testIsOk = true;
|
||||
}
|
||||
const listener = eventClass.on((e: { fold: (arg0: (_s: any) => void, arg1: (_e: any) => void) => void }) => {
|
||||
e.fold(
|
||||
() => {
|
||||
if (isOk) {
|
||||
testIsOk = true;
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
},
|
||||
() => {
|
||||
if (!isOk) {
|
||||
testIsOk = true;
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
await delay(delayTime);
|
||||
this.assert(testIsOk, testName);
|
||||
listener.dispose();
|
||||
|
|
|
@ -1,17 +1,15 @@
|
|||
|
||||
|
||||
setTimeout(() =>{
|
||||
console.log('log')
|
||||
console.log('log')
|
||||
console.log('log')
|
||||
console.log('log')
|
||||
console.log('log')
|
||||
console.log('log')
|
||||
console.log('log')
|
||||
console.log('log')
|
||||
console.log('log')
|
||||
console.log('log')
|
||||
},2000)
|
||||
setTimeout(() =>{
|
||||
console.log('log end')
|
||||
}, 5000)
|
||||
setTimeout(() => {
|
||||
console.log("log");
|
||||
console.log("log");
|
||||
console.log("log");
|
||||
console.log("log");
|
||||
console.log("log");
|
||||
console.log("log");
|
||||
console.log("log");
|
||||
console.log("log");
|
||||
console.log("log");
|
||||
console.log("log");
|
||||
}, 2000);
|
||||
setTimeout(() => {
|
||||
console.log("log end");
|
||||
}, 5000);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
const seconds = 1000 * 10
|
||||
setTimeout(()=>{
|
||||
console.log(200)
|
||||
}, seconds)
|
||||
const seconds = 1000 * 10;
|
||||
setTimeout(() => {
|
||||
console.log(200);
|
||||
}, seconds);
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
import { EXEC_TYPE } from "../../src/core/model/exec_error_model";
|
||||
import {
|
||||
IPipeline,
|
||||
IssueType,
|
||||
StackGenerateType,
|
||||
} from "../../src/core/model/process_model";
|
||||
import { IPipeline, IssueType, StackGenerateType } from "../../src/core/model/process_model";
|
||||
import { TriggerType } from "../../src/features/triggers/trigger_model";
|
||||
|
||||
export const mockSimplePipeline:IPipeline[] = [
|
||||
export const mockSimplePipeline: IPipeline[] = [
|
||||
{
|
||||
process: {
|
||||
type: EXEC_TYPE.EXEC,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { Schema, model } from "mongoose";
|
||||
|
||||
export interface ITestModel{
|
||||
export interface ITestModel {
|
||||
_id?: string;
|
||||
result: string;
|
||||
}
|
||||
|
@ -12,4 +12,3 @@ export const TestSchema = new Schema({
|
|||
const schema = "Test";
|
||||
|
||||
export const TestDBModel = model<ITestModel>(schema, TestSchema);
|
||||
|
|
@ -15,12 +15,8 @@ export class ExecutorProgramServiceTest extends ExecutorProgramService {
|
|||
await this.logWriteAndEventEndTypeSpawn();
|
||||
};
|
||||
private async logWriteAndEventEndTypeSpawn() {
|
||||
const executorProgramService = await new ExecutorProgramService(
|
||||
dirname__ + "/"
|
||||
);
|
||||
executorProgramService.call(EXEC_TYPE.SPAWN, "node", [
|
||||
"./mocks/log_code",
|
||||
]);
|
||||
const executorProgramService = await new ExecutorProgramService(dirname__ + "/");
|
||||
executorProgramService.call(EXEC_TYPE.SPAWN, "node", ["./mocks/log_code"]);
|
||||
const test = TestCore.instance;
|
||||
let testIsOk = false;
|
||||
let logEvent = false;
|
||||
|
@ -29,24 +25,17 @@ export class ExecutorProgramServiceTest extends ExecutorProgramService {
|
|||
if (e.isSuccess()) {
|
||||
const executorResult = e.value as ExecutorResult;
|
||||
if (logEvent == false) {
|
||||
logEvent =
|
||||
executorResult.data != null && executorResult.data != undefined;
|
||||
logEvent = executorResult.data != null && executorResult.data != undefined;
|
||||
}
|
||||
testIsOk = executorResult.event == "END" && logEvent;
|
||||
}
|
||||
});
|
||||
await delay(8000);
|
||||
test.assert(
|
||||
testIsOk,
|
||||
"ExecutorProgramService EXEC_TYPE.SPAWN end event and log write"
|
||||
);
|
||||
test.assert(testIsOk, "ExecutorProgramService EXEC_TYPE.SPAWN end event and log write");
|
||||
}
|
||||
private async logWriteAndEventEndTestTypeExec() {
|
||||
const executorProgramService = await new ExecutorProgramService(dirname__);
|
||||
executorProgramService.call(
|
||||
EXEC_TYPE.EXEC,
|
||||
"node ./test/mocks/log_code"
|
||||
);
|
||||
executorProgramService.call(EXEC_TYPE.EXEC, "node ./test/mocks/log_code");
|
||||
const test = TestCore.instance;
|
||||
executorProgramService.on((e) => {
|
||||
if (e.isSuccess()) {
|
||||
|
@ -61,10 +50,7 @@ export class ExecutorProgramServiceTest extends ExecutorProgramService {
|
|||
}
|
||||
private async longTimeCancelTest() {
|
||||
const executorProgramService = await new ExecutorProgramService("", 1000);
|
||||
executorProgramService.call(
|
||||
EXEC_TYPE.EXEC,
|
||||
"node ./test/mocks/long_code"
|
||||
);
|
||||
executorProgramService.call(EXEC_TYPE.EXEC, "node ./test/mocks/long_code");
|
||||
await delay(1500);
|
||||
const worker = executorProgramService.worker as Worker;
|
||||
const test = TestCore.instance;
|
||||
|
|
|
@ -26,10 +26,7 @@ export class FilesChangerTest extends FilesChangeNotifierService {
|
|||
await delay(2000);
|
||||
fs.writeFileSync(this.filePath, this.data());
|
||||
await delay(1000);
|
||||
this.hashUnitEqualTo(
|
||||
EventsFileChanger.create,
|
||||
"FilesChangeNotifierService create file"
|
||||
);
|
||||
this.hashUnitEqualTo(EventsFileChanger.create, "FilesChangeNotifierService create file");
|
||||
|
||||
this.cancel();
|
||||
}
|
||||
|
@ -39,28 +36,19 @@ export class FilesChangerTest extends FilesChangeNotifierService {
|
|||
await delay(1000);
|
||||
fs.writeFileSync(this.filePath, this.data() + "132");
|
||||
await delay(500);
|
||||
this.hashUnitEqualTo(
|
||||
EventsFileChanger.update,
|
||||
"FilesChangeNotifierService update file"
|
||||
);
|
||||
this.hashUnitEqualTo(EventsFileChanger.update, "FilesChangeNotifierService update file");
|
||||
this.cancel();
|
||||
}
|
||||
public async initFile() {
|
||||
this.init();
|
||||
await delay(500);
|
||||
this.hashUnitEqualTo(
|
||||
EventsFileChanger.static,
|
||||
"FilesChangeNotifierService init file"
|
||||
);
|
||||
this.hashUnitEqualTo(EventsFileChanger.static, "FilesChangeNotifierService init file");
|
||||
}
|
||||
public async deleteFile() {
|
||||
this.call();
|
||||
fs.unlinkSync(this.filePath);
|
||||
await delay(1000);
|
||||
this.hashUnitEqualTo(
|
||||
EventsFileChanger.delete,
|
||||
"FilesChangeNotifierService delete file"
|
||||
);
|
||||
this.hashUnitEqualTo(EventsFileChanger.delete, "FilesChangeNotifierService delete file");
|
||||
this.cancel();
|
||||
}
|
||||
public async notExistsDirectory() {
|
||||
|
|
|
@ -9,20 +9,13 @@ abstract class IStackServiceTest {
|
|||
abstract test(): Promise<boolean>;
|
||||
}
|
||||
|
||||
|
||||
class SimpleTestStackServiceTest
|
||||
extends StackService
|
||||
implements IStackServiceTest
|
||||
{
|
||||
class SimpleTestStackServiceTest extends StackService implements IStackServiceTest {
|
||||
constructor() {
|
||||
super(mockSimplePipeline, dirname__ + "/context/");
|
||||
}
|
||||
async test(): Promise<boolean> {
|
||||
await this.call();
|
||||
const testResult = readDirRecursive(this.path).equals(
|
||||
["1.txt", "test.txt"],
|
||||
true
|
||||
);
|
||||
const testResult = readDirRecursive(this.path).equals(["1.txt", "test.txt"], true);
|
||||
await delay(100);
|
||||
rmSync(this.path + "example/", { recursive: true });
|
||||
return testResult;
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
import {
|
||||
EventsFileChanger,
|
||||
MetaDataFileManagerModel,
|
||||
} from "../../src/core/model/meta_data_file_manager_model";
|
||||
|
||||
import { EventsFileChanger, MetaDataFileManagerModel } from "../../src/core/model/meta_data_file_manager_model";
|
||||
|
||||
import { TriggerService } from "../../src/core/services/trigger_service";
|
||||
import { TriggerType } from "../../src/features/triggers/trigger_model";
|
||||
import { assert } from "../test";
|
||||
|
@ -17,11 +14,7 @@ class TriggerServiceFileOkTest extends TriggerService implements TriggerTest {
|
|||
value: ["context"],
|
||||
},
|
||||
{
|
||||
"/context/": new MetaDataFileManagerModel(
|
||||
"",
|
||||
"",
|
||||
EventsFileChanger.create
|
||||
),
|
||||
"/context/": new MetaDataFileManagerModel("", "", EventsFileChanger.create),
|
||||
},
|
||||
""
|
||||
);
|
||||
|
@ -32,10 +25,7 @@ class TriggerServiceFileOkTest extends TriggerService implements TriggerTest {
|
|||
return r.isSuccess();
|
||||
}
|
||||
}
|
||||
class TriggerServiceFileErrorTest
|
||||
extends TriggerService
|
||||
implements TriggerTest
|
||||
{
|
||||
class TriggerServiceFileErrorTest extends TriggerService implements TriggerTest {
|
||||
constructor() {
|
||||
super(
|
||||
{
|
||||
|
@ -44,11 +34,7 @@ class TriggerServiceFileErrorTest
|
|||
},
|
||||
{
|
||||
"/ctx/": new MetaDataFileManagerModel("", "", EventsFileChanger.create),
|
||||
"/context/": new MetaDataFileManagerModel(
|
||||
"",
|
||||
"",
|
||||
EventsFileChanger.create
|
||||
),
|
||||
"/context/": new MetaDataFileManagerModel("", "", EventsFileChanger.create),
|
||||
},
|
||||
|
||||
""
|
||||
|
@ -60,10 +46,7 @@ class TriggerServiceFileErrorTest
|
|||
return r.isFailure();
|
||||
}
|
||||
}
|
||||
class TriggerServiceProcessOkTest
|
||||
extends TriggerService
|
||||
implements TriggerTest
|
||||
{
|
||||
class TriggerServiceProcessOkTest extends TriggerService implements TriggerTest {
|
||||
constructor() {
|
||||
super(
|
||||
{
|
||||
|
@ -77,11 +60,7 @@ class TriggerServiceProcessOkTest
|
|||
],
|
||||
},
|
||||
{
|
||||
"/context/": new MetaDataFileManagerModel(
|
||||
"",
|
||||
"",
|
||||
EventsFileChanger.create
|
||||
),
|
||||
"/context/": new MetaDataFileManagerModel("", "", EventsFileChanger.create),
|
||||
},
|
||||
""
|
||||
);
|
||||
|
@ -92,10 +71,7 @@ class TriggerServiceProcessOkTest
|
|||
}
|
||||
}
|
||||
|
||||
class TriggerServiceProcessErrorTest
|
||||
extends TriggerService
|
||||
implements TriggerTest
|
||||
{
|
||||
class TriggerServiceProcessErrorTest extends TriggerService implements TriggerTest {
|
||||
constructor() {
|
||||
super(
|
||||
{
|
||||
|
@ -109,11 +85,7 @@ class TriggerServiceProcessErrorTest
|
|||
],
|
||||
},
|
||||
{
|
||||
"/context/": new MetaDataFileManagerModel(
|
||||
"",
|
||||
"",
|
||||
EventsFileChanger.create
|
||||
),
|
||||
"/context/": new MetaDataFileManagerModel("", "", EventsFileChanger.create),
|
||||
},
|
||||
""
|
||||
);
|
||||
|
|
|
@ -19,7 +19,6 @@ const testCore = TestCore.instance;
|
|||
export const dirname__: string = dirname(__filename);
|
||||
export const assert = testCore.assert;
|
||||
export const resultTest = testCore.resultTest;
|
||||
|
||||
|
||||
const tests = [
|
||||
CreateDataBaseModelUseCaseTest,
|
||||
|
|
|
@ -5,9 +5,7 @@ export class PaginationDataBaseModelUseCaseTest {
|
|||
async test() {
|
||||
let testIsSuccess = false;
|
||||
await (
|
||||
await new PaginationDataBaseModelUseCase<ITestModel>(TestDBModel, 1).call(
|
||||
1
|
||||
)
|
||||
await new PaginationDataBaseModelUseCase<ITestModel>(TestDBModel, 1).call(1)
|
||||
).fold(
|
||||
(s) => {
|
||||
testIsSuccess = s.length === 1;
|
||||
|
|
|
@ -6,20 +6,15 @@ export class ReadDataBaseModelUseCaseTest {
|
|||
async test() {
|
||||
let testIsSuccess = false;
|
||||
|
||||
const result = await new CreateDataBaseModelUseCase<ITestModel>(
|
||||
TestDBModel
|
||||
).call({
|
||||
const result = await new CreateDataBaseModelUseCase<ITestModel>(TestDBModel).call({
|
||||
result: "test",
|
||||
});
|
||||
await result.fold(
|
||||
async (s) => {
|
||||
const r = await new ReadByIdDataBaseModelUseCase<ITestModel>(
|
||||
TestDBModel
|
||||
).call(s.id);
|
||||
const r = await new ReadByIdDataBaseModelUseCase<ITestModel>(TestDBModel).call(s.id);
|
||||
await r.fold(
|
||||
(_s1) => {
|
||||
testIsSuccess = true;
|
||||
|
||||
},
|
||||
(_e) => {}
|
||||
);
|
||||
|
|
|
@ -6,18 +6,14 @@ export class UpdateDataBaseModelUseCaseTest {
|
|||
async test() {
|
||||
let testIsSuccess = false;
|
||||
|
||||
const model = await new CreateDataBaseModelUseCase<ITestModel>(
|
||||
TestDBModel
|
||||
).call({
|
||||
const model = await new CreateDataBaseModelUseCase<ITestModel>(TestDBModel).call({
|
||||
result: "test",
|
||||
});
|
||||
await model.fold(
|
||||
async (s) => {
|
||||
(
|
||||
await new UpdateDataBaseModelUseCase<any, ITestModel>(
|
||||
TestDBModel
|
||||
).call({
|
||||
_id:s.id,
|
||||
await new UpdateDataBaseModelUseCase<any, ITestModel>(TestDBModel).call({
|
||||
_id: s.id,
|
||||
result: "complete",
|
||||
})
|
||||
).fold(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue