@hg-ts/redis 0.1.17
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/.eslintcache +1 -0
- package/.eslintrc.json +1 -0
- package/.nyc_output/089b21aa-e535-4b85-ae33-c883bb354098.json +1 -0
- package/.nyc_output/3e07cb8f-5adb-4386-8f08-9568a8f6b6fe.json +1 -0
- package/.nyc_output/84fba1cd-e0a1-4b6f-9061-44e27d7310d3.json +1 -0
- package/.nyc_output/processinfo/089b21aa-e535-4b85-ae33-c883bb354098.json +1 -0
- package/.nyc_output/processinfo/3e07cb8f-5adb-4386-8f08-9568a8f6b6fe.json +1 -0
- package/.nyc_output/processinfo/84fba1cd-e0a1-4b6f-9061-44e27d7310d3.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -0
- package/dist/config.d.ts +31 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +18 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/redis.module.d.ts +6 -0
- package/dist/redis.module.d.ts.map +1 -0
- package/dist/redis.module.js +37 -0
- package/dist/redis.module.js.map +1 -0
- package/dist-esm/base.handler-map.d.ts +13 -0
- package/dist-esm/base.handler-map.d.ts.map +1 -0
- package/dist-esm/base.handler-map.js +24 -0
- package/dist-esm/base.handler-map.js.map +1 -0
- package/dist-esm/base.server.d.ts +25 -0
- package/dist-esm/base.server.d.ts.map +1 -0
- package/dist-esm/base.server.js +51 -0
- package/dist-esm/base.server.js.map +1 -0
- package/dist-esm/config.d.ts +31 -0
- package/dist-esm/config.d.ts.map +1 -0
- package/dist-esm/config.js +13 -0
- package/dist-esm/config.js.map +1 -0
- package/dist-esm/controller-explorer.service.d.ts +10 -0
- package/dist-esm/controller-explorer.service.d.ts.map +1 -0
- package/dist-esm/controller-explorer.service.js +23 -0
- package/dist-esm/controller-explorer.service.js.map +1 -0
- package/dist-esm/controller.caller.d.ts +9 -0
- package/dist-esm/controller.caller.d.ts.map +1 -0
- package/dist-esm/controller.caller.js +41 -0
- package/dist-esm/controller.caller.js.map +1 -0
- package/dist-esm/controllers/controller-explorer.service.d.ts +10 -0
- package/dist-esm/controllers/controller-explorer.service.d.ts.map +1 -0
- package/dist-esm/controllers/controller-explorer.service.js +23 -0
- package/dist-esm/controllers/controller-explorer.service.js.map +1 -0
- package/dist-esm/controllers/controller.caller.d.ts +9 -0
- package/dist-esm/controllers/controller.caller.d.ts.map +1 -0
- package/dist-esm/controllers/controller.caller.js +41 -0
- package/dist-esm/controllers/controller.caller.js.map +1 -0
- package/dist-esm/controllers/index.d.ts +3 -0
- package/dist-esm/controllers/index.d.ts.map +1 -0
- package/dist-esm/controllers/index.js +3 -0
- package/dist-esm/controllers/index.js.map +1 -0
- package/dist-esm/decorators/context.decorator.d.ts +2 -0
- package/dist-esm/decorators/context.decorator.d.ts.map +1 -0
- package/dist-esm/decorators/context.decorator.js +3 -0
- package/dist-esm/decorators/context.decorator.js.map +1 -0
- package/dist-esm/decorators/controller.decorator.d.ts +7 -0
- package/dist-esm/decorators/controller.decorator.d.ts.map +1 -0
- package/dist-esm/decorators/controller.decorator.js +27 -0
- package/dist-esm/decorators/controller.decorator.js.map +1 -0
- package/dist-esm/decorators/create-param-decorator.d.ts +14 -0
- package/dist-esm/decorators/create-param-decorator.d.ts.map +1 -0
- package/dist-esm/decorators/create-param-decorator.js +26 -0
- package/dist-esm/decorators/create-param-decorator.js.map +1 -0
- package/dist-esm/decorators/index.d.ts +5 -0
- package/dist-esm/decorators/index.d.ts.map +1 -0
- package/dist-esm/decorators/index.js +5 -0
- package/dist-esm/decorators/index.js.map +1 -0
- package/dist-esm/decorators/middleware-data.decorator.d.ts +2 -0
- package/dist-esm/decorators/middleware-data.decorator.d.ts.map +1 -0
- package/dist-esm/decorators/middleware-data.decorator.js +3 -0
- package/dist-esm/decorators/middleware-data.decorator.js.map +1 -0
- package/dist-esm/execution-context/execution-context.d.ts +38 -0
- package/dist-esm/execution-context/execution-context.d.ts.map +1 -0
- package/dist-esm/execution-context/execution-context.js +69 -0
- package/dist-esm/execution-context/execution-context.js.map +1 -0
- package/dist-esm/execution-context/execution-context.provider.d.ts +5 -0
- package/dist-esm/execution-context/execution-context.provider.d.ts.map +1 -0
- package/dist-esm/execution-context/execution-context.provider.js +4 -0
- package/dist-esm/execution-context/execution-context.provider.js.map +1 -0
- package/dist-esm/execution-context/index.d.ts +3 -0
- package/dist-esm/execution-context/index.d.ts.map +1 -0
- package/dist-esm/execution-context/index.js +3 -0
- package/dist-esm/execution-context/index.js.map +1 -0
- package/dist-esm/index.d.ts +1 -0
- package/dist-esm/index.d.ts.map +1 -0
- package/dist-esm/index.js +2 -0
- package/dist-esm/index.js.map +1 -0
- package/dist-esm/map-to-observable.d.ts +5 -0
- package/dist-esm/map-to-observable.d.ts.map +1 -0
- package/dist-esm/map-to-observable.js +32 -0
- package/dist-esm/map-to-observable.js.map +1 -0
- package/dist-esm/redis.module.d.ts +6 -0
- package/dist-esm/redis.module.d.ts.map +1 -0
- package/dist-esm/redis.module.js +34 -0
- package/dist-esm/redis.module.js.map +1 -0
- package/dist-esm/request.handler.d.ts +6 -0
- package/dist-esm/request.handler.d.ts.map +1 -0
- package/dist-esm/request.handler.js +14 -0
- package/dist-esm/request.handler.js.map +1 -0
- package/dist-esm/server/base.handler-map.d.ts +13 -0
- package/dist-esm/server/base.handler-map.d.ts.map +1 -0
- package/dist-esm/server/base.handler-map.js +24 -0
- package/dist-esm/server/base.handler-map.js.map +1 -0
- package/dist-esm/server/base.server.d.ts +25 -0
- package/dist-esm/server/base.server.d.ts.map +1 -0
- package/dist-esm/server/base.server.js +51 -0
- package/dist-esm/server/base.server.js.map +1 -0
- package/dist-esm/server/index.d.ts +4 -0
- package/dist-esm/server/index.d.ts.map +1 -0
- package/dist-esm/server/index.js +4 -0
- package/dist-esm/server/index.js.map +1 -0
- package/dist-esm/server/request.handler.d.ts +6 -0
- package/dist-esm/server/request.handler.d.ts.map +1 -0
- package/dist-esm/server/request.handler.js +14 -0
- package/dist-esm/server/request.handler.js.map +1 -0
- package/dist-esm/server.module.d.ts +3 -0
- package/dist-esm/server.module.d.ts.map +1 -0
- package/dist-esm/server.module.js +25 -0
- package/dist-esm/server.module.js.map +1 -0
- package/dist-esm/tests/controllers/consts.d.ts +2 -0
- package/dist-esm/tests/controllers/consts.d.ts.map +1 -0
- package/dist-esm/tests/controllers/consts.js +2 -0
- package/dist-esm/tests/controllers/consts.js.map +1 -0
- package/dist-esm/tests/controllers/controller.test-suite.d.ts +9 -0
- package/dist-esm/tests/controllers/controller.test-suite.d.ts.map +1 -0
- package/dist-esm/tests/controllers/controller.test-suite.js +78 -0
- package/dist-esm/tests/controllers/controller.test-suite.js.map +1 -0
- package/dist-esm/tests/controllers/test.controller.d.ts +7 -0
- package/dist-esm/tests/controllers/test.controller.d.ts.map +1 -0
- package/dist-esm/tests/controllers/test.controller.js +32 -0
- package/dist-esm/tests/controllers/test.controller.js.map +1 -0
- package/dist-esm/tests/controllers/test.execution-context.d.ts +5 -0
- package/dist-esm/tests/controllers/test.execution-context.d.ts.map +1 -0
- package/dist-esm/tests/controllers/test.execution-context.js +7 -0
- package/dist-esm/tests/controllers/test.execution-context.js.map +1 -0
- package/dist-esm/tests/server/server.test-suite.d.ts +11 -0
- package/dist-esm/tests/server/server.test-suite.d.ts.map +1 -0
- package/dist-esm/tests/server/server.test-suite.js +42 -0
- package/dist-esm/tests/server/server.test-suite.js.map +1 -0
- package/dist-esm/tests/server/test-handler.decorator.d.ts +6 -0
- package/dist-esm/tests/server/test-handler.decorator.d.ts.map +1 -0
- package/dist-esm/tests/server/test-handler.decorator.js +15 -0
- package/dist-esm/tests/server/test-handler.decorator.js.map +1 -0
- package/dist-esm/tests/server/test.body.d.ts +2 -0
- package/dist-esm/tests/server/test.body.d.ts.map +1 -0
- package/dist-esm/tests/server/test.body.js +3 -0
- package/dist-esm/tests/server/test.body.js.map +1 -0
- package/dist-esm/tests/server/test.controller.d.ts +4 -0
- package/dist-esm/tests/server/test.controller.d.ts.map +1 -0
- package/dist-esm/tests/server/test.controller.js +21 -0
- package/dist-esm/tests/server/test.controller.js.map +1 -0
- package/dist-esm/tests/server/test.execution-context.d.ts +6 -0
- package/dist-esm/tests/server/test.execution-context.d.ts.map +1 -0
- package/dist-esm/tests/server/test.execution-context.js +7 -0
- package/dist-esm/tests/server/test.execution-context.js.map +1 -0
- package/dist-esm/tests/server/test.handler-map.d.ts +14 -0
- package/dist-esm/tests/server/test.handler-map.d.ts.map +1 -0
- package/dist-esm/tests/server/test.handler-map.js +12 -0
- package/dist-esm/tests/server/test.handler-map.js.map +1 -0
- package/dist-esm/tests/server/test.module.d.ts +3 -0
- package/dist-esm/tests/server/test.module.d.ts.map +1 -0
- package/dist-esm/tests/server/test.module.js +15 -0
- package/dist-esm/tests/server/test.module.js.map +1 -0
- package/dist-esm/tests/server/test.server.d.ts +17 -0
- package/dist-esm/tests/server/test.server.d.ts.map +1 -0
- package/dist-esm/tests/server/test.server.js +39 -0
- package/dist-esm/tests/server/test.server.js.map +1 -0
- package/dist-esm/tests/server.test-suite.d.ts +11 -0
- package/dist-esm/tests/server.test-suite.d.ts.map +1 -0
- package/dist-esm/tests/server.test-suite.js +42 -0
- package/dist-esm/tests/server.test-suite.js.map +1 -0
- package/dist-esm/tests/test-handler.decorator.d.ts +6 -0
- package/dist-esm/tests/test-handler.decorator.d.ts.map +1 -0
- package/dist-esm/tests/test-handler.decorator.js +15 -0
- package/dist-esm/tests/test-handler.decorator.js.map +1 -0
- package/dist-esm/tests/test.body.d.ts +2 -0
- package/dist-esm/tests/test.body.d.ts.map +1 -0
- package/dist-esm/tests/test.body.js +3 -0
- package/dist-esm/tests/test.body.js.map +1 -0
- package/dist-esm/tests/test.controller.d.ts +4 -0
- package/dist-esm/tests/test.controller.d.ts.map +1 -0
- package/dist-esm/tests/test.controller.js +21 -0
- package/dist-esm/tests/test.controller.js.map +1 -0
- package/dist-esm/tests/test.execution-context.d.ts +6 -0
- package/dist-esm/tests/test.execution-context.d.ts.map +1 -0
- package/dist-esm/tests/test.execution-context.js +7 -0
- package/dist-esm/tests/test.execution-context.js.map +1 -0
- package/dist-esm/tests/test.handler-map.d.ts +14 -0
- package/dist-esm/tests/test.handler-map.d.ts.map +1 -0
- package/dist-esm/tests/test.handler-map.js +12 -0
- package/dist-esm/tests/test.handler-map.js.map +1 -0
- package/dist-esm/tests/test.module.d.ts +3 -0
- package/dist-esm/tests/test.module.d.ts.map +1 -0
- package/dist-esm/tests/test.module.js +15 -0
- package/dist-esm/tests/test.module.js.map +1 -0
- package/dist-esm/tests/test.server.d.ts +18 -0
- package/dist-esm/tests/test.server.d.ts.map +1 -0
- package/dist-esm/tests/test.server.js +39 -0
- package/dist-esm/tests/test.server.js.map +1 -0
- package/dist-esm/utils.d.ts +5 -0
- package/dist-esm/utils.d.ts.map +1 -0
- package/dist-esm/utils.js +32 -0
- package/dist-esm/utils.js.map +1 -0
- package/package.json +47 -0
- package/src/config.ts +13 -0
- package/src/index.ts +0 -0
- package/src/redis.module.ts +40 -0
- package/tsconfig.esm.json +9 -0
- package/tsconfig.json +9 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Describe, Test, TestSuite, expect, } from '@hg-ts/tests';
|
|
3
|
+
import { getControllerHandlers, getHandlerArguments, isController, } from '../../decorators';
|
|
4
|
+
import { ExecutionContext } from '../../execution-context';
|
|
5
|
+
import { TEST_TRANSPORT } from './consts';
|
|
6
|
+
import { TestController, HANDLERS_COUNT } from './test.controller';
|
|
7
|
+
import { TestExecutionContext } from './test.execution-context';
|
|
8
|
+
let ControllerTestSuite = class ControllerTestSuite extends TestSuite {
|
|
9
|
+
async isController() {
|
|
10
|
+
expect(isController(TestController, TEST_TRANSPORT)).toBe(true);
|
|
11
|
+
}
|
|
12
|
+
async isControllerWithIncorrectTransport() {
|
|
13
|
+
const UNKNOWN_TRANSPORT = Symbol('UNKNOWN_TRANSPORT');
|
|
14
|
+
expect(isController(TestController, UNKNOWN_TRANSPORT)).toBe(false);
|
|
15
|
+
}
|
|
16
|
+
async getHandlers() {
|
|
17
|
+
const controller = new TestController();
|
|
18
|
+
const handlers = getControllerHandlers(controller);
|
|
19
|
+
expect(handlers.size).toBe(HANDLERS_COUNT);
|
|
20
|
+
expect(handlers.has('noop')).toBe(true);
|
|
21
|
+
expect(handlers.has('echo')).toBe(true);
|
|
22
|
+
}
|
|
23
|
+
async getEmptyArguments() {
|
|
24
|
+
const controller = new TestController();
|
|
25
|
+
const args = getHandlerArguments(controller, 'noop');
|
|
26
|
+
expect(args.size).toBe(0);
|
|
27
|
+
}
|
|
28
|
+
async getEchoArguments() {
|
|
29
|
+
const controller = new TestController();
|
|
30
|
+
const args = getHandlerArguments(controller, 'echo');
|
|
31
|
+
expect(args.size).toBe(1);
|
|
32
|
+
expect(args.has(1)).toBe(true);
|
|
33
|
+
const argumentInfo = args.get(1);
|
|
34
|
+
expect(argumentInfo.metaType).toBeInstanceOf(Function);
|
|
35
|
+
expect(argumentInfo.metaType.prototype).toBeInstanceOf(ExecutionContext);
|
|
36
|
+
const executionContext = new TestExecutionContext({
|
|
37
|
+
instance: controller,
|
|
38
|
+
method: 'echo',
|
|
39
|
+
data: 'some data',
|
|
40
|
+
});
|
|
41
|
+
expect(argumentInfo.factory(executionContext)).toBe(executionContext);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
__decorate([
|
|
45
|
+
Test(),
|
|
46
|
+
__metadata("design:type", Function),
|
|
47
|
+
__metadata("design:paramtypes", []),
|
|
48
|
+
__metadata("design:returntype", Promise)
|
|
49
|
+
], ControllerTestSuite.prototype, "isController", null);
|
|
50
|
+
__decorate([
|
|
51
|
+
Test(),
|
|
52
|
+
__metadata("design:type", Function),
|
|
53
|
+
__metadata("design:paramtypes", []),
|
|
54
|
+
__metadata("design:returntype", Promise)
|
|
55
|
+
], ControllerTestSuite.prototype, "isControllerWithIncorrectTransport", null);
|
|
56
|
+
__decorate([
|
|
57
|
+
Test(),
|
|
58
|
+
__metadata("design:type", Function),
|
|
59
|
+
__metadata("design:paramtypes", []),
|
|
60
|
+
__metadata("design:returntype", Promise)
|
|
61
|
+
], ControllerTestSuite.prototype, "getHandlers", null);
|
|
62
|
+
__decorate([
|
|
63
|
+
Test(),
|
|
64
|
+
__metadata("design:type", Function),
|
|
65
|
+
__metadata("design:paramtypes", []),
|
|
66
|
+
__metadata("design:returntype", Promise)
|
|
67
|
+
], ControllerTestSuite.prototype, "getEmptyArguments", null);
|
|
68
|
+
__decorate([
|
|
69
|
+
Test(),
|
|
70
|
+
__metadata("design:type", Function),
|
|
71
|
+
__metadata("design:paramtypes", []),
|
|
72
|
+
__metadata("design:returntype", Promise)
|
|
73
|
+
], ControllerTestSuite.prototype, "getEchoArguments", null);
|
|
74
|
+
ControllerTestSuite = __decorate([
|
|
75
|
+
Describe()
|
|
76
|
+
], ControllerTestSuite);
|
|
77
|
+
export { ControllerTestSuite };
|
|
78
|
+
//# sourceMappingURL=controller.test-suite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.test-suite.js","sourceRoot":"","sources":["../../../src/tests/controllers/controller.test-suite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { TestExecutionContext } from './test.execution-context';
|
|
2
|
+
export declare const HANDLERS_COUNT = 2;
|
|
3
|
+
export declare class TestController {
|
|
4
|
+
noop(): Promise<void>;
|
|
5
|
+
echo(_noDecoratedArgument: unknown, _context: TestExecutionContext): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=test.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.controller.d.ts","sourceRoot":"","sources":["../../../src/tests/controllers/test.controller.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAMhE,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,qBACa,cAAc;IAEb,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAKrB,IAAI,CAAC,oBAAoB,EAAE,OAAO,EAAa,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1G"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
+
import { addControllerHandler, Context, Controller, } from '../../decorators';
|
|
3
|
+
import { TEST_TRANSPORT } from './consts';
|
|
4
|
+
import { TestExecutionContext } from './test.execution-context';
|
|
5
|
+
const TestHandler = (target, propertyKey, _descriptor) => {
|
|
6
|
+
addControllerHandler(target, propertyKey);
|
|
7
|
+
};
|
|
8
|
+
export const HANDLERS_COUNT = 2;
|
|
9
|
+
let TestController = class TestController {
|
|
10
|
+
async noop() {
|
|
11
|
+
}
|
|
12
|
+
async echo(_noDecoratedArgument, _context) {
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
__decorate([
|
|
16
|
+
TestHandler,
|
|
17
|
+
__metadata("design:type", Function),
|
|
18
|
+
__metadata("design:paramtypes", []),
|
|
19
|
+
__metadata("design:returntype", Promise)
|
|
20
|
+
], TestController.prototype, "noop", null);
|
|
21
|
+
__decorate([
|
|
22
|
+
TestHandler,
|
|
23
|
+
__param(1, Context()),
|
|
24
|
+
__metadata("design:type", Function),
|
|
25
|
+
__metadata("design:paramtypes", [Object, TestExecutionContext]),
|
|
26
|
+
__metadata("design:returntype", Promise)
|
|
27
|
+
], TestController.prototype, "echo", null);
|
|
28
|
+
TestController = __decorate([
|
|
29
|
+
Controller(TEST_TRANSPORT)
|
|
30
|
+
], TestController);
|
|
31
|
+
export { TestController };
|
|
32
|
+
//# sourceMappingURL=test.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.controller.js","sourceRoot":"","sources":["../../../src/tests/controllers/test.controller.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,oBAAoB,EACpB,OAAO,EACP,UAAU,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,WAAW,GAAoB,CAAC,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE;IACzE,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAGzB,IAAM,cAAc,GAApB,MAAM,cAAc;IAEb,AAAN,KAAK,CAAC,IAAI;IAEjB,CAAC;IAGY,AAAN,KAAK,CAAC,IAAI,CAAC,oBAA6B,EAAa,QAA8B;IAE1F,CAAC;CACD,CAAA;AARa;IADZ,WAAW;;;;0CAGX;AAGY;IADZ,WAAW;IACsC,WAAA,OAAO,EAAE,CAAA;;6CAAW,oBAAoB;;0CAEzF;AATW,cAAc;IAD1B,UAAU,CAAC,cAAc,CAAC;GACd,cAAc,CAU1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.execution-context.d.ts","sourceRoot":"","sources":["../../../src/tests/controllers/test.execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,oBAAqB,SAAQ,gBAAgB;IACzD,SAAS,CAAC,QAAQ,IAAI,QAAQ;CAG9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.execution-context.js","sourceRoot":"","sources":["../../../src/tests/controllers/test.execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,gBAAgB,GAChB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IAC/C,QAAQ;QACjB,OAAO,QAAQ,CAAC,GAAG,CAAC;IACrB,CAAC;CACD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TestSuite } from '@hg-ts/tests';
|
|
2
|
+
import { TestContainer } from '@hg-ts/ioc';
|
|
3
|
+
import { TestServer } from './test.server';
|
|
4
|
+
export declare class ServerTestSuite extends TestSuite {
|
|
5
|
+
protected server: TestServer;
|
|
6
|
+
protected container: TestContainer;
|
|
7
|
+
test(): Promise<void>;
|
|
8
|
+
beforeEach(): Promise<void>;
|
|
9
|
+
afterEach(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=server.test-suite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.test-suite.d.ts","sourceRoot":"","sources":["../../../src/tests/server/server.test-suite.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,SAAS,EAGT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBACa,eAAgB,SAAQ,SAAS;IAC7C,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IAGtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAeZ,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Describe, TestSuite, Test, expect, } from '@hg-ts/tests';
|
|
3
|
+
import { TestContainer } from '@hg-ts/ioc';
|
|
4
|
+
import { TestModule } from './test.module';
|
|
5
|
+
import { TestServer } from './test.server';
|
|
6
|
+
let ServerTestSuite = class ServerTestSuite extends TestSuite {
|
|
7
|
+
server;
|
|
8
|
+
container;
|
|
9
|
+
async test() {
|
|
10
|
+
const data = Math.random();
|
|
11
|
+
const response = await new Promise((resolve, reject) => {
|
|
12
|
+
this.server.request({
|
|
13
|
+
data,
|
|
14
|
+
key: 'echo',
|
|
15
|
+
response: resolve,
|
|
16
|
+
error: reject,
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
expect(response).toBe(data);
|
|
20
|
+
}
|
|
21
|
+
async beforeEach() {
|
|
22
|
+
this.container = await TestContainer.create(TestModule);
|
|
23
|
+
await this.container.init();
|
|
24
|
+
await this.container.start();
|
|
25
|
+
this.server = this.container.get(TestServer);
|
|
26
|
+
}
|
|
27
|
+
async afterEach() {
|
|
28
|
+
await this.container.destroy();
|
|
29
|
+
await this.container.shutdown();
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
__decorate([
|
|
33
|
+
Test(),
|
|
34
|
+
__metadata("design:type", Function),
|
|
35
|
+
__metadata("design:paramtypes", []),
|
|
36
|
+
__metadata("design:returntype", Promise)
|
|
37
|
+
], ServerTestSuite.prototype, "test", null);
|
|
38
|
+
ServerTestSuite = __decorate([
|
|
39
|
+
Describe()
|
|
40
|
+
], ServerTestSuite);
|
|
41
|
+
export { ServerTestSuite };
|
|
42
|
+
//# sourceMappingURL=server.test-suite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.test-suite.js","sourceRoot":"","sources":["../../../src/tests/server/server.test-suite.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,GACN,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGpC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,SAAS;IACnC,MAAM,CAAa;IACnB,SAAS,CAAgB;IAGtB,AAAN,KAAK,CAAC,IAAI;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE3B,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBACnB,IAAI;gBACJ,GAAG,EAAE,MAAM;gBACX,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,MAAM;aACb,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEe,KAAK,CAAC,UAAU;QAC/B,IAAI,CAAC,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAEe,KAAK,CAAC,SAAS;QAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACD,CAAA;AA5Ba;IADZ,IAAI,EAAE;;;;2CAcN;AAlBW,eAAe;IAD3B,QAAQ,EAAE;GACE,eAAe,CAiC3B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="@hg-ts/types" />
|
|
2
|
+
export type TestHandlerKey = RegExp | string;
|
|
3
|
+
export declare const TEST_TRANSPORT: unique symbol;
|
|
4
|
+
export declare function TestHandler(mask?: TestHandlerKey): MethodDecorator;
|
|
5
|
+
export declare function getTestHandlerKey(target: object, propertyKey: string | symbol): Nullable<RegExp | string>;
|
|
6
|
+
//# sourceMappingURL=test-handler.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-handler.decorator.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test-handler.decorator.ts"],"names":[],"mappings":";AAIA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7C,eAAO,MAAM,cAAc,eAA2B,CAAC;AAEvD,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,eAAe,CASlE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,CAEzG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { addControllerHandler } from '../../decorators';
|
|
3
|
+
export const TEST_TRANSPORT = Symbol('TEST_TRANSPORT');
|
|
4
|
+
export function TestHandler(mask) {
|
|
5
|
+
return (target, propertyKey) => {
|
|
6
|
+
const key = mask || propertyKey;
|
|
7
|
+
assert.ok(typeof key !== 'symbol');
|
|
8
|
+
addControllerHandler(target, propertyKey);
|
|
9
|
+
Reflect.defineMetadata(TEST_TRANSPORT, key, target, propertyKey);
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export function getTestHandlerKey(target, propertyKey) {
|
|
13
|
+
return Reflect.getMetadata(TEST_TRANSPORT, target, propertyKey) ?? null;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=test-handler.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-handler.decorator.js","sourceRoot":"","sources":["../../../src/tests/server/test-handler.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIxD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEvD,MAAM,UAAU,WAAW,CAAC,IAAqB;IAChD,OAAO,CAAC,MAAM,EAAE,WAAW,EAAQ,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,IAAI,WAAW,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC;QAEnC,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE1C,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,WAA4B;IAC7E,OAAO,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.body.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test.body.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,0BAA8E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.body.js","sourceRoot":"","sources":["../../../src/tests/server/test.body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAGxD,MAAM,CAAC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,OAA6B,EAAE,EAAE,CAAC,OAAO,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.controller.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test.controller.ts"],"names":[],"mappings":"AAQA,qBACa,cAAc;IAEb,IAAI,CACJ,IAAI,EAAE,OAAO,GACvB,OAAO,CAAC,OAAO,CAAC;CAGnB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
+
import { Controller } from '../../decorators';
|
|
3
|
+
import { TEST_TRANSPORT, TestHandler, } from './test-handler.decorator';
|
|
4
|
+
import { TestBody } from './test.body';
|
|
5
|
+
let TestController = class TestController {
|
|
6
|
+
async echo(data) {
|
|
7
|
+
return data;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
__decorate([
|
|
11
|
+
TestHandler(),
|
|
12
|
+
__param(0, TestBody()),
|
|
13
|
+
__metadata("design:type", Function),
|
|
14
|
+
__metadata("design:paramtypes", [Object]),
|
|
15
|
+
__metadata("design:returntype", Promise)
|
|
16
|
+
], TestController.prototype, "echo", null);
|
|
17
|
+
TestController = __decorate([
|
|
18
|
+
Controller(TEST_TRANSPORT)
|
|
19
|
+
], TestController);
|
|
20
|
+
export { TestController };
|
|
21
|
+
//# sourceMappingURL=test.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.controller.js","sourceRoot":"","sources":["../../../src/tests/server/test.controller.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACN,cAAc,EACd,WAAW,GACX,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGhC,IAAM,cAAc,GAApB,MAAM,cAAc;IAEb,AAAN,KAAK,CAAC,IAAI,CACJ,IAAa;QAEzB,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AALa;IADZ,WAAW,EAAE;IAEZ,WAAA,QAAQ,EAAE,CAAA;;;;0CAGX;AANW,cAAc;IAD1B,UAAU,CAAC,cAAc,CAAC;GACd,cAAc,CAO1B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CallType, ExecutionContext } from '../../execution-context';
|
|
2
|
+
import type { TestInput } from './test.handler-map';
|
|
3
|
+
export declare class TestExecutionContext extends ExecutionContext<TestInput> {
|
|
4
|
+
protected callType(): CallType;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=test.execution-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.execution-context.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test.execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,gBAAgB,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,oBAAqB,SAAQ,gBAAgB,CAAC,SAAS,CAAC;IACpE,SAAS,CAAC,QAAQ,IAAI,QAAQ;CAG9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.execution-context.js","sourceRoot":"","sources":["../../../src/tests/server/test.execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,QAAQ,EACR,gBAAgB,GAChB,MAAM,yBAAyB,CAAC;AAGjC,MAAM,OAAO,oBAAqB,SAAQ,gBAA2B;IAC1D,QAAQ;QACjB,OAAO,QAAQ,CAAC,GAAG,CAAC;IACrB,CAAC;CACD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="@hg-ts/types" />
|
|
2
|
+
import { BaseHandlersMap, GetHandlerParams } from '../../server';
|
|
3
|
+
import { TestHandlerKey } from './test-handler.decorator';
|
|
4
|
+
export type TestInput = {
|
|
5
|
+
key: string;
|
|
6
|
+
data: unknown;
|
|
7
|
+
response(data: unknown): void;
|
|
8
|
+
error(error: unknown): void;
|
|
9
|
+
};
|
|
10
|
+
export declare class TestHandlerMap extends BaseHandlersMap<TestHandlerKey, TestInput> {
|
|
11
|
+
getInputKey(input: TestInput): Nullable<string>;
|
|
12
|
+
protected getHandlerKey({ controller, method }: GetHandlerParams): Nullable<TestHandlerKey>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=test.handler-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.handler-map.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test.handler-map.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,eAAe,EACf,gBAAgB,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAEN,cAAc,EACd,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,SAAS,GAAG;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,qBAAa,cAAe,SAAQ,eAAe,CAAC,cAAc,EAAE,SAAS,CAAC;IACtE,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;IAGtD,SAAS,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC;CAK3F"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseHandlersMap, } from '../../server';
|
|
2
|
+
import { getTestHandlerKey, } from './test-handler.decorator';
|
|
3
|
+
export class TestHandlerMap extends BaseHandlersMap {
|
|
4
|
+
getInputKey(input) {
|
|
5
|
+
return input.key;
|
|
6
|
+
}
|
|
7
|
+
getHandlerKey({ controller, method }) {
|
|
8
|
+
const controllerPrototype = Object.getPrototypeOf(controller);
|
|
9
|
+
return getTestHandlerKey(controllerPrototype, method);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=test.handler-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.handler-map.js","sourceRoot":"","sources":["../../../src/tests/server/test.handler-map.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,GAEf,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,iBAAiB,GAEjB,MAAM,0BAA0B,CAAC;AASlC,MAAM,OAAO,cAAe,SAAQ,eAA0C;IACtE,WAAW,CAAC,KAAgB;QAClC,OAAO,KAAK,CAAC,GAAG,CAAC;IAClB,CAAC;IACS,aAAa,CAAC,EAAE,UAAU,EAAE,MAAM,EAAoB;QAC/D,MAAM,mBAAmB,GAAG,MAAM,CAAC,cAAc,CAAC,UAAU,CAAE,CAAC;QAE/D,OAAO,iBAAiB,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.module.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test.module.ts"],"names":[],"mappings":"AAMA,qBAIa,UAAU;CAAG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Module } from '@hg-ts/ioc';
|
|
3
|
+
import { ServerModule } from '../../server.module';
|
|
4
|
+
import { TestController } from './test.controller';
|
|
5
|
+
import { TestServer } from './test.server';
|
|
6
|
+
let TestModule = class TestModule {
|
|
7
|
+
};
|
|
8
|
+
TestModule = __decorate([
|
|
9
|
+
Module({
|
|
10
|
+
imports: [ServerModule],
|
|
11
|
+
providers: [TestServer, TestController],
|
|
12
|
+
})
|
|
13
|
+
], TestModule);
|
|
14
|
+
export { TestModule };
|
|
15
|
+
//# sourceMappingURL=test.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.module.js","sourceRoot":"","sources":["../../../src/tests/server/test.module.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAMpC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,UAAU;IAJtB,MAAM,CAAC;QACP,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,SAAS,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC;KACvC,CAAC;GACW,UAAU,CAAG"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { MonoTypeOperatorFunction, Observable, OperatorFunction } from 'rxjs';
|
|
2
|
+
import { GetHandlerParams, BaseServer } from '../../server';
|
|
3
|
+
import { TestHandlerKey } from './test-handler.decorator';
|
|
4
|
+
import { TestExecutionContext } from './test.execution-context';
|
|
5
|
+
import { TestHandlerMap, TestInput } from './test.handler-map';
|
|
6
|
+
export declare class TestServer extends BaseServer<TestHandlerKey, TestInput, TestExecutionContext> {
|
|
7
|
+
protected readonly handlersMap: TestHandlerMap;
|
|
8
|
+
private readonly subject;
|
|
9
|
+
request(data: TestInput): void;
|
|
10
|
+
protected getInputSteam(): Observable<TestInput>;
|
|
11
|
+
protected get transportKey(): symbol;
|
|
12
|
+
protected getFilterOperator(): MonoTypeOperatorFunction<TestInput>;
|
|
13
|
+
protected getHandlerResultOperator(): OperatorFunction<unknown, void>;
|
|
14
|
+
protected createContext(input: TestInput, info: GetHandlerParams): TestExecutionContext;
|
|
15
|
+
protected close(): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=test.server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.server.d.ts","sourceRoot":"","sources":["../../../src/tests/server/test.server.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,wBAAwB,EACxB,UAAU,EAEV,gBAAgB,EAEhB,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAkB,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACN,cAAc,EACd,SAAS,EACT,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,UAAW,SAAQ,UAAU,CAAC,cAAc,EAAE,SAAS,EAAE,oBAAoB,CAAC;IAC1F,SAAS,CAAC,QAAQ,CAAC,WAAW,iBAAwB;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA4B;IAE7C,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAIrC,SAAS,CAAC,aAAa,IAAI,UAAU,CAAC,SAAS,CAAC;IAIhD,SAAS,KAAK,YAAY,IAAI,MAAM,CAEnC;IAED,SAAS,CAAC,iBAAiB,IAAI,wBAAwB,CAAC,SAAS,CAAC;IAMlE,SAAS,CAAC,wBAAwB,IAAI,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC;IAWrE,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,GAAG,oBAAoB;cAQvE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGtC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { filter, mergeMap, of, Subject, } from 'rxjs';
|
|
2
|
+
import { BaseServer } from '../../server';
|
|
3
|
+
import { TEST_TRANSPORT } from './test-handler.decorator';
|
|
4
|
+
import { TestExecutionContext } from './test.execution-context';
|
|
5
|
+
import { TestHandlerMap, } from './test.handler-map';
|
|
6
|
+
export class TestServer extends BaseServer {
|
|
7
|
+
handlersMap = new TestHandlerMap();
|
|
8
|
+
subject = new Subject();
|
|
9
|
+
request(data) {
|
|
10
|
+
this.subject.next(data);
|
|
11
|
+
}
|
|
12
|
+
getInputSteam() {
|
|
13
|
+
return this.subject.asObservable();
|
|
14
|
+
}
|
|
15
|
+
get transportKey() {
|
|
16
|
+
return TEST_TRANSPORT;
|
|
17
|
+
}
|
|
18
|
+
getFilterOperator() {
|
|
19
|
+
return (source) => source.pipe(filter(input => this.handlersMap.hasInputKey(input)));
|
|
20
|
+
}
|
|
21
|
+
getHandlerResultOperator() {
|
|
22
|
+
return source => source.pipe(mergeMap(response => {
|
|
23
|
+
const { context } = this;
|
|
24
|
+
context.data?.response(response);
|
|
25
|
+
return of();
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
createContext(input, info) {
|
|
29
|
+
return new TestExecutionContext({
|
|
30
|
+
instance: info.controller,
|
|
31
|
+
method: info.method,
|
|
32
|
+
data: input,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async close() {
|
|
36
|
+
this.subject.complete();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=test.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.server.js","sourceRoot":"","sources":["../../../src/tests/server/test.server.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,MAAM,EACN,QAAQ,EAGR,EAAE,EAEF,OAAO,GACP,MAAM,MAAM,CAAC;AAEd,OAAO,EAAoB,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAkB,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACN,cAAc,GAEd,MAAM,oBAAoB,CAAC;AAE5B,MAAM,OAAO,UAAW,SAAQ,UAA2D;IACvE,WAAW,GAAG,IAAI,cAAc,EAAE,CAAC;IACrC,OAAO,GAAG,IAAI,OAAO,EAAa,CAAC;IAE7C,OAAO,CAAC,IAAe;QAC7B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAES,aAAa;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,IAAc,YAAY;QACzB,OAAO,cAAc,CAAC;IACvB,CAAC;IAES,iBAAiB;QAC1B,OAAO,CAAC,MAAM,EAAyB,EAAE,CAAC,MAAM,CAAC,IAAI,CACpD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CACpD,CAAC;IACH,CAAC;IAES,wBAAwB;QACjC,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACnB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAEzB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACjC,OAAO,EAAE,EAAE,CAAC;QACb,CAAC,CAAC,CACF,CAAC;IACH,CAAC;IAES,aAAa,CAAC,KAAgB,EAAE,IAAsB;QAC/D,OAAO,IAAI,oBAAoB,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,KAAK;SACX,CAAC,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,KAAK;QACpB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TestSuite } from '@hg-ts/tests';
|
|
2
|
+
import { TestContainer } from '@hg-ts/ioc';
|
|
3
|
+
import { TestServer } from './test.server';
|
|
4
|
+
export declare class ServerTestSuite extends TestSuite {
|
|
5
|
+
protected server: TestServer;
|
|
6
|
+
protected container: TestContainer;
|
|
7
|
+
test(): Promise<void>;
|
|
8
|
+
beforeEach(): Promise<void>;
|
|
9
|
+
afterEach(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=server.test-suite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.test-suite.d.ts","sourceRoot":"","sources":["../../src/tests/server.test-suite.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,SAAS,EAGT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,qBACa,eAAgB,SAAQ,SAAS;IAC7C,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IAGtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAeZ,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { Describe, TestSuite, Test, expect, } from '@hg-ts/tests';
|
|
3
|
+
import { TestContainer } from '@hg-ts/ioc';
|
|
4
|
+
import { TestModule } from './test.module';
|
|
5
|
+
import { TestServer } from './test.server';
|
|
6
|
+
let ServerTestSuite = class ServerTestSuite extends TestSuite {
|
|
7
|
+
server;
|
|
8
|
+
container;
|
|
9
|
+
async test() {
|
|
10
|
+
const data = Math.random();
|
|
11
|
+
const response = await new Promise((resolve, reject) => {
|
|
12
|
+
this.server.request({
|
|
13
|
+
data,
|
|
14
|
+
key: 'echo',
|
|
15
|
+
response: resolve,
|
|
16
|
+
error: reject,
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
expect(response).toBe(data);
|
|
20
|
+
}
|
|
21
|
+
async beforeEach() {
|
|
22
|
+
this.container = await TestContainer.create(TestModule);
|
|
23
|
+
await this.container.init();
|
|
24
|
+
await this.container.start();
|
|
25
|
+
this.server = this.container.get(TestServer);
|
|
26
|
+
}
|
|
27
|
+
async afterEach() {
|
|
28
|
+
await this.container.destroy();
|
|
29
|
+
await this.container.shutdown();
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
__decorate([
|
|
33
|
+
Test(),
|
|
34
|
+
__metadata("design:type", Function),
|
|
35
|
+
__metadata("design:paramtypes", []),
|
|
36
|
+
__metadata("design:returntype", Promise)
|
|
37
|
+
], ServerTestSuite.prototype, "test", null);
|
|
38
|
+
ServerTestSuite = __decorate([
|
|
39
|
+
Describe()
|
|
40
|
+
], ServerTestSuite);
|
|
41
|
+
export { ServerTestSuite };
|
|
42
|
+
//# sourceMappingURL=server.test-suite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.test-suite.js","sourceRoot":"","sources":["../../src/tests/server.test-suite.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,MAAM,GACN,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGpC,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,SAAS;IACnC,MAAM,CAAa;IACnB,SAAS,CAAgB;IAGtB,AAAN,KAAK,CAAC,IAAI;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAE3B,MAAM,QAAQ,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBACnB,IAAI;gBACJ,GAAG,EAAE,MAAM;gBACX,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,MAAM;aACb,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEe,KAAK,CAAC,UAAU;QAC/B,IAAI,CAAC,SAAS,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAEe,KAAK,CAAC,SAAS;QAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;CACD,CAAA;AA5Ba;IADZ,IAAI,EAAE;;;;2CAcN;AAlBW,eAAe;IAD3B,QAAQ,EAAE;GACE,eAAe,CAiC3B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="@hg-ts/types" />
|
|
2
|
+
export type TestHandlerKey = RegExp | string;
|
|
3
|
+
export declare const TEST_TRANSPORT: unique symbol;
|
|
4
|
+
export declare function TestHandler(mask?: TestHandlerKey): MethodDecorator;
|
|
5
|
+
export declare function getTestHandlerKey(target: object, propertyKey: string | symbol): Nullable<RegExp | string>;
|
|
6
|
+
//# sourceMappingURL=test-handler.decorator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-handler.decorator.d.ts","sourceRoot":"","sources":["../../src/tests/test-handler.decorator.ts"],"names":[],"mappings":";AAIA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC;AAE7C,eAAO,MAAM,cAAc,eAA2B,CAAC;AAEvD,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,eAAe,CASlE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,CAEzG"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { addControllerHandler } from '@hg-ts/controllers';
|
|
3
|
+
export const TEST_TRANSPORT = Symbol('TEST_TRANSPORT');
|
|
4
|
+
export function TestHandler(mask) {
|
|
5
|
+
return (target, propertyKey) => {
|
|
6
|
+
const key = mask || propertyKey;
|
|
7
|
+
assert.ok(typeof key !== 'symbol');
|
|
8
|
+
addControllerHandler(target, propertyKey);
|
|
9
|
+
Reflect.defineMetadata(TEST_TRANSPORT, key, target, propertyKey);
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export function getTestHandlerKey(target, propertyKey) {
|
|
13
|
+
return Reflect.getMetadata(TEST_TRANSPORT, target, propertyKey) ?? null;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=test-handler.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-handler.decorator.js","sourceRoot":"","sources":["../../src/tests/test-handler.decorator.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAI1D,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAEvD,MAAM,UAAU,WAAW,CAAC,IAAqB;IAChD,OAAO,CAAC,MAAM,EAAE,WAAW,EAAQ,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,IAAI,WAAW,CAAC;QAChC,MAAM,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC;QAEnC,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE1C,OAAO,CAAC,cAAc,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,WAA4B;IAC7E,OAAO,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.body.d.ts","sourceRoot":"","sources":["../../src/tests/test.body.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,QAAQ,0BAA8E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.body.js","sourceRoot":"","sources":["../../src/tests/test.body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG1D,MAAM,CAAC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,OAA6B,EAAE,EAAE,CAAC,OAAO,CAAC,IAAK,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.controller.d.ts","sourceRoot":"","sources":["../../src/tests/test.controller.ts"],"names":[],"mappings":"AAQA,qBACa,cAAc;IAEb,IAAI,CACJ,IAAI,EAAE,OAAO,GACvB,OAAO,CAAC,OAAO,CAAC;CAGnB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { __decorate, __metadata, __param } from "tslib";
|
|
2
|
+
import { Controller } from '@hg-ts/controllers';
|
|
3
|
+
import { TEST_TRANSPORT, TestHandler, } from './test-handler.decorator';
|
|
4
|
+
import { TestBody } from './test.body';
|
|
5
|
+
let TestController = class TestController {
|
|
6
|
+
async echo(data) {
|
|
7
|
+
return data;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
__decorate([
|
|
11
|
+
TestHandler(),
|
|
12
|
+
__param(0, TestBody()),
|
|
13
|
+
__metadata("design:type", Function),
|
|
14
|
+
__metadata("design:paramtypes", [Object]),
|
|
15
|
+
__metadata("design:returntype", Promise)
|
|
16
|
+
], TestController.prototype, "echo", null);
|
|
17
|
+
TestController = __decorate([
|
|
18
|
+
Controller(TEST_TRANSPORT)
|
|
19
|
+
], TestController);
|
|
20
|
+
export { TestController };
|
|
21
|
+
//# sourceMappingURL=test.controller.js.map
|