@minimaltech/node-infra 0.2.29 → 0.2.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/helpers/testing/test-case.d.ts +5 -5
- package/dist/helpers/testing/test-case.js +3 -0
- package/dist/helpers/testing/test-case.js.map +1 -1
- package/dist/helpers/testing/test-handler.d.ts +3 -0
- package/dist/helpers/testing/test-handler.js +14 -5
- package/dist/helpers/testing/test-handler.js.map +1 -1
- package/package.json +18 -24
package/README.md
CHANGED
@@ -2,19 +2,19 @@ import { AnyObject } from '@loopback/repository';
|
|
2
2
|
import { TestCaseHandler } from './test-handler';
|
3
3
|
import { ITestCase } from './types';
|
4
4
|
export interface ITestCaseOptions<R extends object = {}, I extends object = {}> {
|
5
|
+
code: string;
|
5
6
|
name?: string;
|
6
7
|
description: string;
|
8
|
+
expectation?: string;
|
7
9
|
handler: TestCaseHandler<R, I>;
|
8
10
|
}
|
9
11
|
export declare class TestCase<R extends object = {}, I extends object = {}> implements ITestCase<R, I> {
|
12
|
+
code: string;
|
10
13
|
name?: string;
|
11
14
|
description: string;
|
15
|
+
expectation?: string;
|
12
16
|
handler: TestCaseHandler<R, I>;
|
13
17
|
constructor(opts: ITestCaseOptions<R, I>);
|
14
|
-
static withOptions<R extends object = AnyObject, I extends object = {}>(opts:
|
15
|
-
name?: string;
|
16
|
-
description: string;
|
17
|
-
handler: TestCaseHandler<R, I>;
|
18
|
-
}): TestCase<R, I>;
|
18
|
+
static withOptions<R extends object = AnyObject, I extends object = {}>(opts: ITestCaseOptions<R, I>): TestCase<R, I>;
|
19
19
|
run(): Promise<void>;
|
20
20
|
}
|
@@ -3,8 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TestCase = void 0;
|
4
4
|
class TestCase {
|
5
5
|
constructor(opts) {
|
6
|
+
var _a;
|
7
|
+
this.code = opts.code;
|
6
8
|
this.name = opts.name;
|
7
9
|
this.description = opts.description;
|
10
|
+
this.expectation = (_a = opts.expectation) !== null && _a !== void 0 ? _a : opts.description;
|
8
11
|
this.handler = opts.handler;
|
9
12
|
}
|
10
13
|
static withOptions(opts) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"test-case.js","sourceRoot":"","sources":["../../../src/helpers/testing/test-case.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"test-case.js","sourceRoot":"","sources":["../../../src/helpers/testing/test-case.ts"],"names":[],"mappings":";;;AAaA,MAAa,QAAQ;IAQnB,YAAY,IAA4B;;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,WAAW,mCAAI,IAAI,CAAC,WAAW,CAAC;QAExD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,WAAW,CAAsD,IAA4B;QAClG,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,GAAG;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAzBD,4BAyBC"}
|
@@ -1,12 +1,15 @@
|
|
1
1
|
import { ValueOrPromise } from '../../common';
|
2
2
|
import { ITestCaseHandler, ITestCaseInput, ITestContext, TTestCaseDecision } from './types';
|
3
|
+
import { ApplicationLogger } from '../logger';
|
3
4
|
export interface ITestCaseHandlerOptions<R extends object, I extends ITestCaseInput = {}> {
|
5
|
+
scope?: string;
|
4
6
|
context: ITestContext<R>;
|
5
7
|
args?: I | null;
|
6
8
|
argResolver?: (...args: any[]) => I | null;
|
7
9
|
validator?: (opts: any) => ValueOrPromise<TTestCaseDecision>;
|
8
10
|
}
|
9
11
|
export declare abstract class BaseTestCaseHandler<R extends object = {}, I extends ITestCaseInput = {}> implements ITestCaseHandler<R, I> {
|
12
|
+
protected logger: ApplicationLogger;
|
10
13
|
context: ITestContext<R>;
|
11
14
|
args: I | null;
|
12
15
|
validator?: (opts: any) => ValueOrPromise<TTestCaseDecision>;
|
@@ -16,11 +16,13 @@ exports.TestCaseHandler = exports.BaseTestCaseHandler = void 0;
|
|
16
16
|
const utilities_1 = require("../../utilities");
|
17
17
|
const assert_1 = __importDefault(require("assert"));
|
18
18
|
const common_1 = require("./common");
|
19
|
+
const logger_1 = require("../logger");
|
19
20
|
class BaseTestCaseHandler {
|
20
21
|
constructor(opts) {
|
21
|
-
var _a, _b, _c;
|
22
|
+
var _a, _b, _c, _d;
|
23
|
+
this.logger = logger_1.LoggerFactory.getLogger([(_a = opts === null || opts === void 0 ? void 0 : opts.scope) !== null && _a !== void 0 ? _a : BaseTestCaseHandler.name]);
|
22
24
|
this.context = opts.context;
|
23
|
-
this.args = (
|
25
|
+
this.args = (_d = (_b = opts.args) !== null && _b !== void 0 ? _b : (_c = opts.argResolver) === null || _c === void 0 ? void 0 : _c.call(opts)) !== null && _d !== void 0 ? _d : null;
|
24
26
|
this.validator = opts === null || opts === void 0 ? void 0 : opts.validator;
|
25
27
|
}
|
26
28
|
getArguments() {
|
@@ -30,12 +32,19 @@ class BaseTestCaseHandler {
|
|
30
32
|
exports.BaseTestCaseHandler = BaseTestCaseHandler;
|
31
33
|
class TestCaseHandler extends BaseTestCaseHandler {
|
32
34
|
constructor(opts) {
|
33
|
-
|
35
|
+
var _a;
|
36
|
+
super(Object.assign(Object.assign({}, opts), { scope: (_a = opts.scope) !== null && _a !== void 0 ? _a : TestCaseHandler.name }));
|
34
37
|
}
|
35
38
|
_execute() {
|
36
39
|
return __awaiter(this, void 0, void 0, function* () {
|
37
|
-
|
38
|
-
|
40
|
+
let validateRs = common_1.TestCaseDecisions.UNKNOWN;
|
41
|
+
try {
|
42
|
+
const executeRs = yield this.execute();
|
43
|
+
validateRs = yield this.validate(executeRs);
|
44
|
+
}
|
45
|
+
catch (error) {
|
46
|
+
this.logger.error('[_execute] Failed to execute test handler | Error: %s', error);
|
47
|
+
}
|
39
48
|
assert_1.default.equal(validateRs, common_1.TestCaseDecisions.SUCCESS);
|
40
49
|
});
|
41
50
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"test-handler.js","sourceRoot":"","sources":["../../../src/helpers/testing/test-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2CAAuC;AACvC,oDAA4B;AAC5B,qCAA6C;
|
1
|
+
{"version":3,"file":"test-handler.js","sourceRoot":"","sources":["../../../src/helpers/testing/test-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2CAAuC;AACvC,oDAA4B;AAC5B,qCAA6C;AAE7C,sCAA6D;AAY7D,MAAsB,mBAAmB;IAUvC,YAAY,IAAmC;;QAC7C,IAAI,CAAC,MAAM,GAAG,sBAAa,CAAC,SAAS,CAAC,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,mCAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;QAEjF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,mCAAI,MAAA,IAAI,CAAC,WAAW,oDAAI,mCAAI,IAAI,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,CAAC;IACnC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CAQF;AA5BD,kDA4BC;AAED,MAAsB,eAAsE,SAAQ,mBAGnG;IACC,YAAY,IAAmC;;QAC7C,KAAK,iCACA,IAAI,KACP,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,eAAe,CAAC,IAAI,IACzC,CAAC;IACL,CAAC;IAEK,QAAQ;;YACZ,IAAI,UAAU,GAAG,0BAAiB,CAAC,OAAO,CAAC;YAE3C,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvC,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uDAAuD,EAAE,KAAK,CAAC,CAAC;YACpF,CAAC;YAED,gBAAM,CAAC,KAAK,CAAC,UAAU,EAAE,0BAAiB,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;KAAA;IAED,QAAQ,CAAC,IAAS;;QAChB,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAExD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAA,oBAAQ,EAAC;gBACb,OAAO,EAAE,yCAAyC;aACnD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAA,SAAS,CAAC,IAAI,CAAC,mCAAI,0BAAiB,CAAC,OAAO,CAAC;IACtD,CAAC;CACF;AAnCD,0CAmCC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@minimaltech/node-infra",
|
3
|
-
"version": "0.2.
|
3
|
+
"version": "0.2.31",
|
4
4
|
"description": "NodeJS Infrastructure - Loopback 4 Framework",
|
5
5
|
"keywords": [
|
6
6
|
"web",
|
@@ -10,10 +10,10 @@
|
|
10
10
|
"express",
|
11
11
|
"auth",
|
12
12
|
"security",
|
13
|
-
"
|
14
|
-
"postgresql",
|
15
|
-
"StrongLoop",
|
13
|
+
"backend",
|
16
14
|
"framework",
|
15
|
+
"backend framework",
|
16
|
+
"StrongLoop",
|
17
17
|
"loopback",
|
18
18
|
"loopback-application",
|
19
19
|
"infrastructure"
|
@@ -21,18 +21,17 @@
|
|
21
21
|
"main": "dist/index.js",
|
22
22
|
"types": "dist/index.d.ts",
|
23
23
|
"engines": {
|
24
|
-
"node": ">=18"
|
25
|
-
"pnpm": ">=8"
|
24
|
+
"node": ">=18"
|
26
25
|
},
|
27
26
|
"repository": {
|
28
27
|
"type": "git",
|
29
|
-
"url": "git+https://github.com/phatnt199/
|
28
|
+
"url": "git+https://github.com/phatnt199/node-infra.git"
|
30
29
|
},
|
31
30
|
"author": "Minimal Technology <developer@miminaltek.com>",
|
32
31
|
"bugs": {
|
33
|
-
"url": "https://github.com/phatnt199/
|
32
|
+
"url": "https://github.com/phatnt199/node-infra/issues"
|
34
33
|
},
|
35
|
-
"homepage": "https://github.com/phatnt199/
|
34
|
+
"homepage": "https://github.com/phatnt199/node-infra/wiki",
|
36
35
|
"license": "MIT",
|
37
36
|
"files": [
|
38
37
|
"README.md",
|
@@ -65,8 +64,8 @@
|
|
65
64
|
"@node-oauth/oauth2-server": "^5.1.0",
|
66
65
|
"@socket.io/redis-adapter": "^8.3.0",
|
67
66
|
"@socket.io/redis-emitter": "^5.1.0",
|
68
|
-
"axios": "^1.7.
|
69
|
-
"bullmq": "^5.
|
67
|
+
"axios": "^1.7.7",
|
68
|
+
"bullmq": "^5.12.12",
|
70
69
|
"casbin": "^5.30.0",
|
71
70
|
"cron": "^3.1.7",
|
72
71
|
"dayjs": "^1.11.12",
|
@@ -77,6 +76,7 @@
|
|
77
76
|
"knex": "^3.1.0",
|
78
77
|
"lodash": "^4.17.21",
|
79
78
|
"minio": "^8.0.1",
|
79
|
+
"mocha": "^10.7.3",
|
80
80
|
"mqtt": "^5.9.0",
|
81
81
|
"multer": "^1.4.5-lts.1",
|
82
82
|
"rxjs": "^7.8.0",
|
@@ -86,22 +86,16 @@
|
|
86
86
|
"winston-daily-rotate-file": "^5.0.0"
|
87
87
|
},
|
88
88
|
"devDependencies": {
|
89
|
-
"@eslint/eslintrc": "^3.1.0",
|
90
|
-
"@eslint/js": "^9.9.1",
|
91
89
|
"@loopback/build": "^11.0.3",
|
92
|
-
"@loopback/eslint-config": "^15.0.3",
|
93
90
|
"@loopback/testlab": "^7.0.3",
|
94
|
-
"@minimaltech/eslint-node": "^0.
|
91
|
+
"@minimaltech/eslint-node": "^0.1.14",
|
95
92
|
"@types/express": "^4.17.21",
|
96
93
|
"@types/jsonwebtoken": "^9.0.6",
|
97
94
|
"@types/lodash": "^4.17.7",
|
98
95
|
"@types/mocha": "^10.0.7",
|
99
96
|
"@types/multer": "^1.4.7",
|
100
97
|
"@types/node": "^20.16.2",
|
101
|
-
"eslint": "8.57.0",
|
102
|
-
"eslint-config-love": "^63.0.0",
|
103
|
-
"eslint-plugin-prettier": "^5.1.3",
|
104
|
-
"mocha": "^10.7.3",
|
98
|
+
"eslint": "^8.57.0",
|
105
99
|
"prettier": "^3.3.2",
|
106
100
|
"source-map-support": "^0.5.21",
|
107
101
|
"ts-node": "^10.9.1",
|
@@ -116,12 +110,12 @@
|
|
116
110
|
"eslint": "eslint --report-unused-disable-directives .",
|
117
111
|
"lint": "pnpm eslint && pnpm prettier:cli",
|
118
112
|
"lint:fix": "pnpm eslint --fix && pnpm prettier:fix",
|
119
|
-
"prettier:cli": "prettier \"**/*.{js,ts}\"",
|
113
|
+
"prettier:cli": "prettier \"**/*.{js,ts}\" -l",
|
120
114
|
"prettier:fix": "pnpm prettier:cli --write",
|
121
|
-
"rebuild": "sh ./scripts/rebuild.sh
|
122
|
-
"rebuild:major": "sh ./scripts/rebuild.sh
|
123
|
-
"rebuild:minor": "sh ./scripts/rebuild.sh
|
124
|
-
"rebuild:patch": "sh ./scripts/rebuild.sh
|
115
|
+
"rebuild": "sh ./scripts/rebuild.sh no-version",
|
116
|
+
"rebuild:major": "sh ./scripts/rebuild.sh major",
|
117
|
+
"rebuild:minor": "sh ./scripts/rebuild.sh minor",
|
118
|
+
"rebuild:patch": "sh ./scripts/rebuild.sh patch",
|
125
119
|
"pretest:dev": "pnpm run rebuild",
|
126
120
|
"test:dev": "NODE_ENV=development mocha -r dotenv-flow/config -r source-map-support/register --timeout 60000 --exit dist/__tests__/index.js"
|
127
121
|
}
|