@lad-tech/nsc-toolkit 1.5.1 → 1.5.3
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/CHANGELOG.md +2 -2
- package/README.md +0 -1
- package/coverage/clover.xml +2 -2
- package/coverage/lcov-report/index.html +1 -1
- package/dist/{src/Client.js → Client.js} +0 -0
- package/dist/Client.js.map +1 -0
- package/dist/{src/Method.js → Method.js} +0 -0
- package/dist/Method.js.map +1 -0
- package/dist/{src/Root.js → Root.js} +0 -0
- package/dist/Root.js.map +1 -0
- package/dist/{src/Service.js → Service.js} +0 -0
- package/dist/Service.js.map +1 -0
- package/dist/{src/StreamManager.js → StreamManager.js} +0 -0
- package/dist/StreamManager.js.map +1 -0
- package/dist/{src/index.js → index.js} +0 -0
- package/dist/index.js.map +1 -0
- package/dist/{src/injector.js → injector.js} +0 -0
- package/dist/injector.js.map +1 -0
- package/dist/{src/interfaces.js → interfaces.js} +0 -0
- package/dist/{src/interfaces.js.map → interfaces.js.map} +1 -1
- package/dist/types/Client.d.ts +29 -0
- package/dist/types/Method.d.ts +6 -0
- package/dist/types/Root.d.ts +26 -0
- package/dist/types/Service.d.ts +100 -0
- package/dist/types/StreamManager.d.ts +20 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/injector.d.ts +11 -0
- package/dist/types/interfaces.d.ts +135 -0
- package/package.json +1 -1
- package/tsconfig.json +1 -1
- package/dist/examples/MathService/interfaces.js +0 -4
- package/dist/examples/MathService/interfaces.js.map +0 -1
- package/dist/src/Client.js.map +0 -1
- package/dist/src/Method.js.map +0 -1
- package/dist/src/Root.js.map +0 -1
- package/dist/src/Service.js.map +0 -1
- package/dist/src/StreamManager.js.map +0 -1
- package/dist/src/__tests__/Client.js +0 -184
- package/dist/src/__tests__/Client.js.map +0 -1
- package/dist/src/__tests__/Root.js +0 -123
- package/dist/src/__tests__/Root.js.map +0 -1
- package/dist/src/__tests__/Service.js +0 -279
- package/dist/src/__tests__/Service.js.map +0 -1
- package/dist/src/__tests__/fixtures/MathService/MathHelperInstance.js +0 -7
- package/dist/src/__tests__/fixtures/MathService/MathHelperInstance.js.map +0 -1
- package/dist/src/__tests__/fixtures/MathService/__mocks__/index.js +0 -7
- package/dist/src/__tests__/fixtures/MathService/__mocks__/index.js.map +0 -1
- package/dist/src/__tests__/fixtures/MathService/index.js +0 -24
- package/dist/src/__tests__/fixtures/MathService/index.js.map +0 -1
- package/dist/src/__tests__/fixtures/MathService/math.service.json +0 -125
- package/dist/src/__tests__/fixtures/MathService/methods/SumInstanceRelation.js +0 -32
- package/dist/src/__tests__/fixtures/MathService/methods/SumInstanceRelation.js.map +0 -1
- package/dist/src/__tests__/fixtures/MathService/methods/SumServiceRelation.js +0 -32
- package/dist/src/__tests__/fixtures/MathService/methods/SumServiceRelation.js.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/injector.js.map +0 -1
- package/dist/types/examples/MathService/interfaces.d.ts +0 -28
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const nats_1 = require("nats");
|
|
4
|
-
const stream_1 = require("stream");
|
|
5
|
-
const http = require("http");
|
|
6
|
-
const MathService_1 = require("./fixtures/MathService");
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
jest.clearAllMocks();
|
|
9
|
-
});
|
|
10
|
-
describe('Testing Client class methods', () => {
|
|
11
|
-
const jetstreamSubscribeMock = jest.fn();
|
|
12
|
-
const broker = {
|
|
13
|
-
subscribe: jest.fn(),
|
|
14
|
-
request: jest.fn(),
|
|
15
|
-
jetstream: () => ({
|
|
16
|
-
subscribe: jetstreamSubscribeMock,
|
|
17
|
-
}),
|
|
18
|
-
};
|
|
19
|
-
const codec = (0, nats_1.JSONCodec)();
|
|
20
|
-
const mathClient = new MathService_1.MathClient(broker, {
|
|
21
|
-
spanId: '1',
|
|
22
|
-
traceId: '1',
|
|
23
|
-
traceFlags: 1,
|
|
24
|
-
expired: Date.now() + 50000,
|
|
25
|
-
});
|
|
26
|
-
describe('Events (subscribe/unsubscribe)', () => {
|
|
27
|
-
test('Successfully returns an EventEmitter object for the event subscription', () => {
|
|
28
|
-
const result = mathClient.getListener('Test');
|
|
29
|
-
expect(result).toMatchObject(new stream_1.EventEmitter());
|
|
30
|
-
});
|
|
31
|
-
test('Successful subscription and event processing for a non-streaming event', () => {
|
|
32
|
-
const payload = { data: { method: 'test' } };
|
|
33
|
-
const subscribe = new stream_1.PassThrough({ objectMode: true });
|
|
34
|
-
broker.subscribe.mockReturnValue(subscribe);
|
|
35
|
-
const result = mathClient.getListener('Test');
|
|
36
|
-
result.on('Notify', event => {
|
|
37
|
-
expect(event.data.method).toBe(payload.data.method);
|
|
38
|
-
});
|
|
39
|
-
subscribe.write({ data: codec.encode(payload.data) });
|
|
40
|
-
});
|
|
41
|
-
test('Successful subscription and event processing for a streaming event', () => {
|
|
42
|
-
const payload = { data: { elapsed: 42 } };
|
|
43
|
-
const subscribe = new stream_1.PassThrough({ objectMode: true });
|
|
44
|
-
jetstreamSubscribeMock.mockReturnValue(subscribe);
|
|
45
|
-
const result = mathClient.getListener('Test');
|
|
46
|
-
result.on('Elapsed', event => {
|
|
47
|
-
expect(event.data.elapsed).toBe(payload.data.elapsed);
|
|
48
|
-
});
|
|
49
|
-
subscribe.write({ data: codec.encode(payload.data), sid: '1', ack: jest.fn(), nak: jest.fn() });
|
|
50
|
-
});
|
|
51
|
-
test('Successful unsubscribe from the event', () => {
|
|
52
|
-
const subscribe = new stream_1.PassThrough();
|
|
53
|
-
subscribe['unsubscribe'] = jest.fn();
|
|
54
|
-
broker.subscribe.mockReturnValue(subscribe);
|
|
55
|
-
const result = mathClient.getListener('Test');
|
|
56
|
-
const handler = () => {
|
|
57
|
-
return;
|
|
58
|
-
};
|
|
59
|
-
result.on('Notify', handler);
|
|
60
|
-
result.off('Notify', handler);
|
|
61
|
-
expect(subscribe.unsubscribe).toBeCalledTimes(1);
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
describe('Synchronous client methods', () => {
|
|
65
|
-
broker.request.mockResolvedValue({ data: codec.encode({ ip: 'test', port: 7000 }) });
|
|
66
|
-
test('Stream request, no response', async () => {
|
|
67
|
-
const request = stream_1.Readable.from(['1', '2', '3', '4']);
|
|
68
|
-
const sumResult = 10;
|
|
69
|
-
jest.spyOn(http, 'request').mockImplementation((options, callback, option) => {
|
|
70
|
-
setTimeout(() => {
|
|
71
|
-
const response = new stream_1.PassThrough();
|
|
72
|
-
response.write(codec.encode({ payload: { result: sumResult } }));
|
|
73
|
-
response.end();
|
|
74
|
-
callback(response);
|
|
75
|
-
}, 5);
|
|
76
|
-
return new stream_1.PassThrough();
|
|
77
|
-
});
|
|
78
|
-
const { result } = await mathClient.sumStream(request);
|
|
79
|
-
expect(result).toBe(sumResult);
|
|
80
|
-
});
|
|
81
|
-
test('Stream request, stream response', async () => {
|
|
82
|
-
const request = stream_1.Readable.from(['1', '2', '3', '4']);
|
|
83
|
-
const response = stream_1.Readable.from(['1', '4', '9', '16']);
|
|
84
|
-
jest.spyOn(http, 'request').mockImplementation((options, callback, option) => {
|
|
85
|
-
setTimeout(() => {
|
|
86
|
-
callback(response);
|
|
87
|
-
}, 5);
|
|
88
|
-
return new stream_1.PassThrough();
|
|
89
|
-
});
|
|
90
|
-
const result = await mathClient.multiply(request);
|
|
91
|
-
expect(result).toBe(response);
|
|
92
|
-
});
|
|
93
|
-
test('Request not stream, response stream', async () => {
|
|
94
|
-
const request = { length: 4 };
|
|
95
|
-
const response = stream_1.Readable.from(['1', '1', '2', '3']);
|
|
96
|
-
jest.spyOn(http, 'request').mockImplementation((options, callback, option) => {
|
|
97
|
-
setTimeout(() => {
|
|
98
|
-
callback(response);
|
|
99
|
-
}, 5);
|
|
100
|
-
return new stream_1.PassThrough();
|
|
101
|
-
});
|
|
102
|
-
const result = await mathClient.fibonacci(request);
|
|
103
|
-
expect(result).toBe(response);
|
|
104
|
-
});
|
|
105
|
-
test('Request do not stream, response do not stream', async () => {
|
|
106
|
-
const payload = { a: 5, b: 5 };
|
|
107
|
-
const sumResult = payload.a + payload.b;
|
|
108
|
-
broker.request.mockResolvedValue({ data: codec.encode({ payload: { result: sumResult } }) });
|
|
109
|
-
const { result } = await mathClient.sum(payload);
|
|
110
|
-
expect(result).toBe(sumResult);
|
|
111
|
-
});
|
|
112
|
-
});
|
|
113
|
-
describe('Runtime validation', () => {
|
|
114
|
-
test('If the request parameters are incorrect, an error is generated', async () => {
|
|
115
|
-
const payload = { a: 5, x: 5 };
|
|
116
|
-
await expect(mathClient.sum(payload)).rejects.toThrow();
|
|
117
|
-
});
|
|
118
|
-
test('If the response is incorrect, an error is generated.', async () => {
|
|
119
|
-
const payload = { a: 5, b: 5 };
|
|
120
|
-
const sumResult = payload.a + payload.b;
|
|
121
|
-
broker.request.mockResolvedValue({ data: codec.encode({ payload: { data: sumResult } }) });
|
|
122
|
-
await expect(mathClient.sum(payload)).rejects.toThrow();
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
describe('Caching', () => {
|
|
126
|
-
const cacheService = {
|
|
127
|
-
set: jest.fn(),
|
|
128
|
-
get: jest.fn(),
|
|
129
|
-
delete: jest.fn(),
|
|
130
|
-
};
|
|
131
|
-
const mathClient = new MathService_1.MathClient(broker, {
|
|
132
|
-
spanId: '1',
|
|
133
|
-
traceId: '1',
|
|
134
|
-
traceFlags: 1,
|
|
135
|
-
expired: Date.now() + 50000,
|
|
136
|
-
}, {
|
|
137
|
-
service: cacheService,
|
|
138
|
-
timeout: 200,
|
|
139
|
-
});
|
|
140
|
-
test('The response result is written to the cache', async () => {
|
|
141
|
-
const payload = { a: 5, b: 5 };
|
|
142
|
-
const sumResult = payload.a + payload.b;
|
|
143
|
-
const response = { result: sumResult };
|
|
144
|
-
broker.request.mockResolvedValue({ data: codec.encode({ payload: response }) });
|
|
145
|
-
cacheService.get.mockResolvedValue(null);
|
|
146
|
-
await mathClient.sum(payload);
|
|
147
|
-
expect(cacheService.set.mock.calls[0][1]).toBe(JSON.stringify(response));
|
|
148
|
-
});
|
|
149
|
-
test('The response result is taken from the cache', async () => {
|
|
150
|
-
const payload = { a: 5, b: 5 };
|
|
151
|
-
const sumResult = payload.a + payload.b;
|
|
152
|
-
broker.request.mockResolvedValue({ data: codec.encode({ payload: { result: 0 } }) });
|
|
153
|
-
cacheService.get.mockResolvedValue(JSON.stringify({ result: sumResult }));
|
|
154
|
-
const { result } = await mathClient.sum(payload);
|
|
155
|
-
expect(result).toBe(sumResult);
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
describe('Other', () => {
|
|
159
|
-
test('If the end-to-end timeout expires, an error is generated', async () => {
|
|
160
|
-
const mathClient = new MathService_1.MathClient(broker, {
|
|
161
|
-
spanId: '1',
|
|
162
|
-
traceId: '1',
|
|
163
|
-
traceFlags: 1,
|
|
164
|
-
expired: Date.now() - 1,
|
|
165
|
-
});
|
|
166
|
-
const payload = { a: 5, b: 5 };
|
|
167
|
-
await expect(mathClient.sum(payload)).rejects.toThrow();
|
|
168
|
-
});
|
|
169
|
-
test('If the request returns an error, then an error is generated', async () => {
|
|
170
|
-
const mathClient = new MathService_1.MathClient(broker, {
|
|
171
|
-
spanId: '1',
|
|
172
|
-
traceId: '1',
|
|
173
|
-
traceFlags: 1,
|
|
174
|
-
expired: Date.now() + 50000,
|
|
175
|
-
});
|
|
176
|
-
const payload = { a: 5, b: 5 };
|
|
177
|
-
broker.request.mockResolvedValue({
|
|
178
|
-
data: codec.encode({ payload: null, error: { message: 'Some error', code: 5 } }),
|
|
179
|
-
});
|
|
180
|
-
await expect(mathClient.sum(payload)).rejects.toThrow();
|
|
181
|
-
});
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
//# sourceMappingURL=Client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../src/__tests__/Client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const Root_1 = require("../Root");
|
|
4
|
-
const opentelemetry = require("@opentelemetry/api");
|
|
5
|
-
describe('Testing Root class methods', () => {
|
|
6
|
-
class ProxyRootMethodClass extends Root_1.Root {
|
|
7
|
-
constructor() {
|
|
8
|
-
super({});
|
|
9
|
-
}
|
|
10
|
-
castToNumberProxy(value) {
|
|
11
|
-
return this.castToNumber(value);
|
|
12
|
-
}
|
|
13
|
-
getSettingFromEnvProxy(name, required = true) {
|
|
14
|
-
return this.getSettingFromEnv(name, required);
|
|
15
|
-
}
|
|
16
|
-
getContextProxy(baggage) {
|
|
17
|
-
return this.getContext(baggage);
|
|
18
|
-
}
|
|
19
|
-
getExpiredProxy(expired, ownTimeout) {
|
|
20
|
-
return this.getExpired(expired, ownTimeout);
|
|
21
|
-
}
|
|
22
|
-
buildErrorMessageProxy(error, code) {
|
|
23
|
-
return this.buildErrorMessage(error, code);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
const root = new ProxyRootMethodClass();
|
|
27
|
-
describe('Testing the "castToNumber" method', () => {
|
|
28
|
-
test('The method correctly converts the string to a number', () => {
|
|
29
|
-
const param = '100';
|
|
30
|
-
const result = root.castToNumberProxy(param);
|
|
31
|
-
expect(result).toBe(100);
|
|
32
|
-
});
|
|
33
|
-
test('If the string cannot be converted to a number, then an error is generated.', () => {
|
|
34
|
-
const param = '3e';
|
|
35
|
-
expect(() => root.castToNumberProxy(param)).toThrow();
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
describe('Testing the "getSettingFromEnv" method', () => {
|
|
39
|
-
const undefinedVariableName = 'UNDEFINED_VARIABLE';
|
|
40
|
-
const testVariableName = 'TEST_ENV_VARIABLE';
|
|
41
|
-
const testVariableValue = 'test';
|
|
42
|
-
process.env[testVariableName] = testVariableValue;
|
|
43
|
-
test('The method correctly returns the value of the environment variable', () => {
|
|
44
|
-
const result = root.getSettingFromEnvProxy(testVariableName);
|
|
45
|
-
expect(result).toBe(testVariableValue);
|
|
46
|
-
});
|
|
47
|
-
test('If there is no variable passed but it is not required, undefined is returned', () => {
|
|
48
|
-
const result = root.getSettingFromEnvProxy(undefinedVariableName, false);
|
|
49
|
-
expect(result).toBeUndefined();
|
|
50
|
-
});
|
|
51
|
-
test('If there is no passed variable and it is required, then an error is generated.', () => {
|
|
52
|
-
expect(() => root.getSettingFromEnvProxy(undefinedVariableName)).toThrow();
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
describe('Testing the "getContext" method', () => {
|
|
56
|
-
const setSpanContext = jest.spyOn(opentelemetry.trace, 'setSpanContext');
|
|
57
|
-
jest.spyOn(opentelemetry.context, 'active');
|
|
58
|
-
test('Correctly creates a new context from the baggage object if it is passed', () => {
|
|
59
|
-
const context = 'context';
|
|
60
|
-
setSpanContext.mockReturnValue(context);
|
|
61
|
-
const result = root.getContextProxy({ spanId: '1', traceId: '1', traceFlags: 1 });
|
|
62
|
-
expect(result).toBe(context);
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
describe('Testing the "getExpired" method', () => {
|
|
66
|
-
jest.useFakeTimers();
|
|
67
|
-
jest.setSystemTime(0);
|
|
68
|
-
const ENV = process.env;
|
|
69
|
-
const DEFAULT_REPONSE_TIMEOUT = 20;
|
|
70
|
-
beforeAll(() => {
|
|
71
|
-
jest.resetModules();
|
|
72
|
-
process.env = { ...ENV, DEFAULT_REPONSE_TIMEOUT: DEFAULT_REPONSE_TIMEOUT.toString() };
|
|
73
|
-
});
|
|
74
|
-
afterAll(() => {
|
|
75
|
-
process.env = ENV;
|
|
76
|
-
});
|
|
77
|
-
test('Timeout timestamp is correctly generated. The timeout in seconds is taken from the environment variable', () => {
|
|
78
|
-
const result = root.getExpiredProxy();
|
|
79
|
-
expect(result).toBe(DEFAULT_REPONSE_TIMEOUT * 1000);
|
|
80
|
-
});
|
|
81
|
-
test('Timeout timestamp is correctly generated. The timeout in seconds is taken from the passed value', () => {
|
|
82
|
-
const customTimeout = 30;
|
|
83
|
-
const result = root.getExpiredProxy(undefined, customTimeout);
|
|
84
|
-
expect(result).toBe(customTimeout * 1000);
|
|
85
|
-
});
|
|
86
|
-
test('Timeout timestamp is correctly generated. If the timeout is already set, it remains unchanged', () => {
|
|
87
|
-
const timeout = 40000;
|
|
88
|
-
const result = root.getExpiredProxy(timeout);
|
|
89
|
-
expect(result).toBe(timeout);
|
|
90
|
-
});
|
|
91
|
-
test('If timeout is not passed and timeout is not set in environment variables, the process exits with an error', () => {
|
|
92
|
-
process.env.DEFAULT_REPONSE_TIMEOUT = undefined;
|
|
93
|
-
jest.spyOn(process, 'exit').mockImplementation(() => {
|
|
94
|
-
throw new Error();
|
|
95
|
-
});
|
|
96
|
-
expect(() => root.getExpiredProxy()).toThrow();
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
describe('Testing the "buildErrorMessage" method', () => {
|
|
100
|
-
const message = 'Test error message';
|
|
101
|
-
const getError = (code) => ({
|
|
102
|
-
payload: null,
|
|
103
|
-
error: {
|
|
104
|
-
message,
|
|
105
|
-
code,
|
|
106
|
-
},
|
|
107
|
-
});
|
|
108
|
-
test('Correct generation of an error object from a string', () => {
|
|
109
|
-
const result = root.buildErrorMessageProxy(message);
|
|
110
|
-
expect(result).toMatchObject(getError());
|
|
111
|
-
});
|
|
112
|
-
test('Correct generation of an error object from an error object', () => {
|
|
113
|
-
const result = root.buildErrorMessageProxy(new Error(message));
|
|
114
|
-
expect(result).toMatchObject(getError());
|
|
115
|
-
});
|
|
116
|
-
test('Correct generation of an error object from an error object with an error code', () => {
|
|
117
|
-
const errorCode = 20;
|
|
118
|
-
const result = root.buildErrorMessageProxy(new Error(message), errorCode);
|
|
119
|
-
expect(result).toMatchObject(getError(errorCode));
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
//# sourceMappingURL=Root.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Root.js","sourceRoot":"","sources":["../../../src/__tests__/Root.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const __1 = require("../");
|
|
4
|
-
const math_service_json_1 = require("./fixtures/MathService/math.service.json");
|
|
5
|
-
const http = require("http");
|
|
6
|
-
const stream_1 = require("stream");
|
|
7
|
-
const nats_1 = require("nats");
|
|
8
|
-
const promises_1 = require("timers/promises");
|
|
9
|
-
const api_1 = require("@opentelemetry/api");
|
|
10
|
-
const SumServiceRelation_1 = require("./fixtures/MathService/methods/SumServiceRelation");
|
|
11
|
-
const SumInstanceRelation_1 = require("./fixtures/MathService/methods/SumInstanceRelation");
|
|
12
|
-
jest.mock('./fixtures/MathService');
|
|
13
|
-
describe('Testing Service class methods', () => {
|
|
14
|
-
const jetstreamSubscribeMock = jest.fn();
|
|
15
|
-
const jsmManagerMock = {
|
|
16
|
-
streams: {
|
|
17
|
-
info: jest.fn(),
|
|
18
|
-
add: jest.fn(),
|
|
19
|
-
update: jest.fn(),
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
const broker = {
|
|
23
|
-
subscribe: jest.fn(),
|
|
24
|
-
request: jest.fn(),
|
|
25
|
-
drain: jest.fn(),
|
|
26
|
-
jetstreamManager: jest.fn().mockResolvedValue(jsmManagerMock),
|
|
27
|
-
jetstream: () => ({
|
|
28
|
-
subscribe: jetstreamSubscribeMock,
|
|
29
|
-
}),
|
|
30
|
-
};
|
|
31
|
-
const codec = (0, nats_1.JSONCodec)();
|
|
32
|
-
const getMethod = (handler, settings) => { var _a; return _a = class Method extends __1.BaseMethod {
|
|
33
|
-
constructor() {
|
|
34
|
-
super(...arguments);
|
|
35
|
-
this.handler = handler;
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
_a.settings = settings,
|
|
39
|
-
_a; };
|
|
40
|
-
const createServerMock = jest.spyOn(http, 'createServer');
|
|
41
|
-
const getHttpServerMock = () => {
|
|
42
|
-
const emitter = new stream_1.EventEmitter();
|
|
43
|
-
emitter['listen'] = jest.fn();
|
|
44
|
-
emitter['close'] = jest.fn();
|
|
45
|
-
emitter['address'] = () => 5000;
|
|
46
|
-
return emitter;
|
|
47
|
-
};
|
|
48
|
-
describe('Base', () => {
|
|
49
|
-
const mathService = new __1.Service({
|
|
50
|
-
name: math_service_json_1.name,
|
|
51
|
-
brokerConnection: broker,
|
|
52
|
-
methods: [],
|
|
53
|
-
events: math_service_json_1.events,
|
|
54
|
-
});
|
|
55
|
-
test('Service without methods and with already created streams starts successfully', async () => {
|
|
56
|
-
createServerMock.mockReturnValue(getHttpServerMock());
|
|
57
|
-
jsmManagerMock.streams.info.mockResolvedValue({});
|
|
58
|
-
jsmManagerMock.streams.update.mockResolvedValue('Ok');
|
|
59
|
-
await expect(mathService.start()).resolves.not.toThrow();
|
|
60
|
-
});
|
|
61
|
-
test('Service without methods creates streams and starts successfully', async () => {
|
|
62
|
-
const error = new Error('stream not found');
|
|
63
|
-
error.name = 'NatsError';
|
|
64
|
-
createServerMock.mockReturnValue(getHttpServerMock());
|
|
65
|
-
jsmManagerMock.streams.info.mockRejectedValue(error);
|
|
66
|
-
jsmManagerMock.streams.add.mockResolvedValue('Ok');
|
|
67
|
-
await expect(mathService.start()).resolves.not.toThrow();
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
describe('Successful processing of requests', () => {
|
|
71
|
-
test('Request do not stream, response do not stream', async () => {
|
|
72
|
-
const request = { payload: { a: 5, b: 5 } };
|
|
73
|
-
const response = { result: request.payload.a + request.payload.b };
|
|
74
|
-
const handler = jest.fn().mockResolvedValue(response);
|
|
75
|
-
const subscription = new stream_1.PassThrough({ objectMode: true });
|
|
76
|
-
const respond = jest.fn();
|
|
77
|
-
broker.subscribe.mockReturnValue(subscription);
|
|
78
|
-
const mathService = new __1.Service({
|
|
79
|
-
name: math_service_json_1.name,
|
|
80
|
-
brokerConnection: broker,
|
|
81
|
-
methods: [getMethod(handler, math_service_json_1.methods.Sum)],
|
|
82
|
-
});
|
|
83
|
-
await mathService.start();
|
|
84
|
-
subscription.push({ data: codec.encode(request), respond });
|
|
85
|
-
subscription.end();
|
|
86
|
-
await (0, promises_1.setTimeout)(1);
|
|
87
|
-
expect(respond).toBeCalledWith(codec.encode({ payload: response }));
|
|
88
|
-
});
|
|
89
|
-
test('Stream request, no response', async () => {
|
|
90
|
-
const request = stream_1.Readable.from(['1', '2', '3', '4']);
|
|
91
|
-
request['method'] = 'POST';
|
|
92
|
-
request['url'] = 'test.com/Math/sumstream';
|
|
93
|
-
request['headers'] = {};
|
|
94
|
-
const methodResponse = { result: 10 };
|
|
95
|
-
const server = getHttpServerMock();
|
|
96
|
-
const probServer = getHttpServerMock();
|
|
97
|
-
server.listen.mockImplementation((port, cb) => {
|
|
98
|
-
if (cb) {
|
|
99
|
-
cb();
|
|
100
|
-
}
|
|
101
|
-
return server;
|
|
102
|
-
});
|
|
103
|
-
createServerMock.mockReturnValueOnce(server);
|
|
104
|
-
createServerMock.mockReturnValueOnce(probServer);
|
|
105
|
-
const handler = jest.fn().mockResolvedValue(methodResponse);
|
|
106
|
-
const subscription = new stream_1.PassThrough({ objectMode: true });
|
|
107
|
-
const response = new stream_1.PassThrough({ objectMode: true });
|
|
108
|
-
response['writeHead'] = () => response;
|
|
109
|
-
broker.subscribe.mockReturnValue(subscription);
|
|
110
|
-
const mathService = new __1.Service({
|
|
111
|
-
name: math_service_json_1.name,
|
|
112
|
-
brokerConnection: broker,
|
|
113
|
-
methods: [getMethod(handler, math_service_json_1.methods.SumStream)],
|
|
114
|
-
});
|
|
115
|
-
let result = '';
|
|
116
|
-
response.on('data', data => {
|
|
117
|
-
result = JSON.stringify({ payload: methodResponse });
|
|
118
|
-
});
|
|
119
|
-
await mathService.start();
|
|
120
|
-
server.emit('request', request, response);
|
|
121
|
-
await (0, promises_1.setTimeout)(1);
|
|
122
|
-
expect(result).toBe(JSON.stringify({ payload: methodResponse }));
|
|
123
|
-
});
|
|
124
|
-
test('Stream request, stream response', async () => {
|
|
125
|
-
const request = stream_1.Readable.from(['1', '2', '3', '4']);
|
|
126
|
-
request['method'] = 'POST';
|
|
127
|
-
request['url'] = 'test.com/Math/multiply';
|
|
128
|
-
request['headers'] = {};
|
|
129
|
-
const streamResponse = ['1', '4', '9', '16'];
|
|
130
|
-
const methodResponse = stream_1.Readable.from(streamResponse);
|
|
131
|
-
const server = getHttpServerMock();
|
|
132
|
-
const probServer = getHttpServerMock();
|
|
133
|
-
server.listen.mockImplementation((port, cb) => {
|
|
134
|
-
if (cb) {
|
|
135
|
-
cb();
|
|
136
|
-
}
|
|
137
|
-
return server;
|
|
138
|
-
});
|
|
139
|
-
createServerMock.mockReturnValueOnce(server);
|
|
140
|
-
createServerMock.mockReturnValueOnce(probServer);
|
|
141
|
-
const handler = jest.fn().mockResolvedValue(methodResponse);
|
|
142
|
-
const subscription = new stream_1.PassThrough({ objectMode: true });
|
|
143
|
-
const response = new stream_1.PassThrough({ objectMode: true });
|
|
144
|
-
response['writeHead'] = () => response;
|
|
145
|
-
broker.subscribe.mockReturnValue(subscription);
|
|
146
|
-
const mathService = new __1.Service({
|
|
147
|
-
name: math_service_json_1.name,
|
|
148
|
-
brokerConnection: broker,
|
|
149
|
-
methods: [getMethod(handler, math_service_json_1.methods.Multiply)],
|
|
150
|
-
});
|
|
151
|
-
const result = [];
|
|
152
|
-
response.on('data', data => {
|
|
153
|
-
result.push(JSON.parse(data));
|
|
154
|
-
});
|
|
155
|
-
await mathService.start();
|
|
156
|
-
server.emit('request', request, response);
|
|
157
|
-
await (0, promises_1.setTimeout)(1);
|
|
158
|
-
expect(result).toMatchObject(streamResponse);
|
|
159
|
-
});
|
|
160
|
-
test('Request not stream, response stream', async () => {
|
|
161
|
-
const request = { payload: { length: 4 } };
|
|
162
|
-
const httpRequest = new stream_1.PassThrough({ objectMode: true });
|
|
163
|
-
httpRequest.write(Buffer.from(JSON.stringify(request)));
|
|
164
|
-
httpRequest.end();
|
|
165
|
-
httpRequest['method'] = 'POST';
|
|
166
|
-
httpRequest['url'] = 'test.com/Math/fibonacci';
|
|
167
|
-
httpRequest['headers'] = {};
|
|
168
|
-
const streamResponse = ['1', '1', '2', '3'];
|
|
169
|
-
const methodResponse = stream_1.Readable.from(streamResponse);
|
|
170
|
-
const server = getHttpServerMock();
|
|
171
|
-
const probServer = getHttpServerMock();
|
|
172
|
-
server.listen.mockImplementation((port, cb) => {
|
|
173
|
-
if (cb) {
|
|
174
|
-
cb();
|
|
175
|
-
}
|
|
176
|
-
return server;
|
|
177
|
-
});
|
|
178
|
-
createServerMock.mockReturnValueOnce(server);
|
|
179
|
-
createServerMock.mockReturnValueOnce(probServer);
|
|
180
|
-
const handler = jest.fn().mockResolvedValue(methodResponse);
|
|
181
|
-
const subscription = new stream_1.PassThrough({ objectMode: true });
|
|
182
|
-
const response = new stream_1.PassThrough({ objectMode: true });
|
|
183
|
-
response['writeHead'] = () => response;
|
|
184
|
-
broker.subscribe.mockReturnValue(subscription);
|
|
185
|
-
const mathService = new __1.Service({
|
|
186
|
-
name: math_service_json_1.name,
|
|
187
|
-
brokerConnection: broker,
|
|
188
|
-
methods: [getMethod(handler, math_service_json_1.methods.Fibonacci)],
|
|
189
|
-
});
|
|
190
|
-
const result = [];
|
|
191
|
-
response.on('data', data => {
|
|
192
|
-
result.push(JSON.parse(data));
|
|
193
|
-
});
|
|
194
|
-
await mathService.start();
|
|
195
|
-
server.emit('request', httpRequest, response);
|
|
196
|
-
await (0, promises_1.setTimeout)(1);
|
|
197
|
-
expect(result).toMatchObject(streamResponse);
|
|
198
|
-
});
|
|
199
|
-
});
|
|
200
|
-
describe('Other', () => {
|
|
201
|
-
const mathService = new __1.Service({
|
|
202
|
-
name: math_service_json_1.name,
|
|
203
|
-
brokerConnection: broker,
|
|
204
|
-
methods: [],
|
|
205
|
-
events: math_service_json_1.events,
|
|
206
|
-
});
|
|
207
|
-
test('Service stops successfully', async () => {
|
|
208
|
-
const message = 'Success exit';
|
|
209
|
-
jest.spyOn(process, 'exit').mockImplementation((code) => {
|
|
210
|
-
throw new Error(message);
|
|
211
|
-
});
|
|
212
|
-
createServerMock.mockReturnValue(getHttpServerMock());
|
|
213
|
-
jsmManagerMock.streams.info.mockResolvedValue({});
|
|
214
|
-
jsmManagerMock.streams.update.mockResolvedValue('Ok');
|
|
215
|
-
await mathService.start();
|
|
216
|
-
await expect(mathService.stop()).rejects.toThrowError(message);
|
|
217
|
-
});
|
|
218
|
-
test('Successfully creates and completes a trace based on external baggage', async () => {
|
|
219
|
-
const endSpan = jest.fn();
|
|
220
|
-
jest.spyOn(api_1.trace, 'getTracer').mockImplementation(() => ({
|
|
221
|
-
startSpan: () => ({
|
|
222
|
-
spanContext: () => ({
|
|
223
|
-
traceId: '1',
|
|
224
|
-
spanId: '3',
|
|
225
|
-
traceFlags: 1,
|
|
226
|
-
}),
|
|
227
|
-
setAttribute: jest.fn(),
|
|
228
|
-
end: endSpan,
|
|
229
|
-
}),
|
|
230
|
-
}));
|
|
231
|
-
const headers = {
|
|
232
|
-
'nsc-expired': '2000',
|
|
233
|
-
'nsc-trace-id': '1',
|
|
234
|
-
'nsc-span-id': '2',
|
|
235
|
-
'nsc-trace-flags': '1',
|
|
236
|
-
};
|
|
237
|
-
createServerMock.mockReturnValue(getHttpServerMock());
|
|
238
|
-
jsmManagerMock.streams.info.mockResolvedValue({});
|
|
239
|
-
jsmManagerMock.streams.update.mockResolvedValue('Ok');
|
|
240
|
-
await mathService.start();
|
|
241
|
-
const baggage = mathService.getRootBaggage('test', headers, 1000);
|
|
242
|
-
mathService.endRootSpan(baggage.traceId);
|
|
243
|
-
expect(endSpan).toBeCalled();
|
|
244
|
-
});
|
|
245
|
-
test('Successfully injecting a service as a dependency', async () => {
|
|
246
|
-
const request = { payload: { a: 5, b: 5 } };
|
|
247
|
-
const respond = jest.fn();
|
|
248
|
-
const subscription = new stream_1.PassThrough({ objectMode: true });
|
|
249
|
-
broker.subscribe.mockReturnValue(subscription);
|
|
250
|
-
const mathService = new __1.Service({
|
|
251
|
-
name: math_service_json_1.name,
|
|
252
|
-
brokerConnection: broker,
|
|
253
|
-
methods: [SumServiceRelation_1.SumServiceRelation],
|
|
254
|
-
});
|
|
255
|
-
await mathService.start();
|
|
256
|
-
subscription.push({ data: codec.encode(request), respond });
|
|
257
|
-
subscription.end();
|
|
258
|
-
await (0, promises_1.setTimeout)(1);
|
|
259
|
-
expect(respond).toBeCalledWith(codec.encode({ payload: { result: 10 } }));
|
|
260
|
-
});
|
|
261
|
-
test('Successful injection of an object with asynchronous methods as a dependency', async () => {
|
|
262
|
-
const request = { payload: { a: 5, b: 5 } };
|
|
263
|
-
const respond = jest.fn();
|
|
264
|
-
const subscription = new stream_1.PassThrough({ objectMode: true });
|
|
265
|
-
broker.subscribe.mockReturnValue(subscription);
|
|
266
|
-
const mathService = new __1.Service({
|
|
267
|
-
name: math_service_json_1.name,
|
|
268
|
-
brokerConnection: broker,
|
|
269
|
-
methods: [SumInstanceRelation_1.SumInstanceRelation],
|
|
270
|
-
});
|
|
271
|
-
await mathService.start();
|
|
272
|
-
subscription.push({ data: codec.encode(request), respond });
|
|
273
|
-
subscription.end();
|
|
274
|
-
await (0, promises_1.setTimeout)(1);
|
|
275
|
-
expect(respond).toBeCalledWith(codec.encode({ payload: { result: 10 } }));
|
|
276
|
-
});
|
|
277
|
-
});
|
|
278
|
-
});
|
|
279
|
-
//# sourceMappingURL=Service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Service.js","sourceRoot":"","sources":["../../../src/__tests__/Service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mathHelperInstance = void 0;
|
|
4
|
-
exports.mathHelperInstance = {
|
|
5
|
-
sum: (params) => Promise.resolve({ result: params.a + params.b }),
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=MathHelperInstance.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MathHelperInstance.js","sourceRoot":"","sources":["../../../../../src/__tests__/fixtures/MathService/MathHelperInstance.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAChC,GAAG,EAAE,CAAC,MAAgC,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC;CAC5F,CAAC"}
|