formatting code upload project instance to files

This commit is contained in:
IDONTSUDO 2023-11-28 18:34:41 +03:00
parent ce4c98ff13
commit a0b4f00f47
65 changed files with 399 additions and 748 deletions

View file

@ -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();

View file

@ -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);

View file

@ -1,4 +1,4 @@
const seconds = 1000 * 10
setTimeout(()=>{
console.log(200)
}, seconds)
const seconds = 1000 * 10;
setTimeout(() => {
console.log(200);
}, seconds);

View file

@ -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,

View file

@ -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);

View file

@ -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;

View file

@ -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() {

View file

@ -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;

View file

@ -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),
},
""
);

View file

@ -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,

View file

@ -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;

View file

@ -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) => {}
);

View file

@ -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(