airdcpp-apisocket 3.0.0-beta.5 → 3.0.0-beta.7
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/dist-es/SocketBase.js +8 -9
- package/dist-es/SocketBase.js.map +1 -1
- package/dist-es/SocketRequestHandler.js +3 -5
- package/dist-es/SocketRequestHandler.js.map +1 -1
- package/dist-es/tests/{helpers.d.ts → mock-server.d.ts} +29 -4
- package/dist-es/tests/mock-server.js +200 -0
- package/dist-es/tests/mock-server.js.map +1 -0
- package/dist-es/tests/test-utils.d.ts +2 -0
- package/dist-es/tests/test-utils.js +10 -0
- package/dist-es/tests/test-utils.js.map +1 -0
- package/dist-es/types/public_helpers_internal.d.ts +2 -2
- package/package.json +1 -1
- package/src/SocketBase.ts +9 -10
- package/src/SocketRequestHandler.ts +3 -5
- package/src/tests/Socket.test.ts +49 -69
- package/src/tests/mock-server.ts +336 -0
- package/src/tests/public_helpers.test.ts +25 -43
- package/src/tests/test-utils.ts +12 -0
- package/src/types/api_internal.ts +0 -1
- package/src/types/public_helpers_internal.ts +2 -2
- package/dist-es/tests/helpers.js +0 -135
- package/dist-es/tests/helpers.js.map +0 -1
- package/src/tests/helpers.ts +0 -211
package/dist-es/SocketBase.js
CHANGED
@@ -81,10 +81,10 @@ const ApiSocket = (userOptions, WebSocketImpl) => {
|
|
81
81
|
// Connect handler for creation of new session
|
82
82
|
const handlePasswordLogin = (username = options.username, password = options.password) => {
|
83
83
|
if (!username) {
|
84
|
-
throw '"username" option was not supplied for authentication';
|
84
|
+
throw new Error('"username" option was not supplied for authentication');
|
85
85
|
}
|
86
86
|
if (!password) {
|
87
|
-
throw '"password" option was not supplied for authentication';
|
87
|
+
throw new Error('"password" option was not supplied for authentication');
|
88
88
|
}
|
89
89
|
const data = {
|
90
90
|
username,
|
@@ -95,7 +95,7 @@ const ApiSocket = (userOptions, WebSocketImpl) => {
|
|
95
95
|
};
|
96
96
|
const handleRefreshTokenLogin = (refreshToken) => {
|
97
97
|
if (!refreshToken) {
|
98
|
-
throw '"refreshToken" option was not supplied for authentication';
|
98
|
+
throw new Error('"refreshToken" option was not supplied for authentication');
|
99
99
|
}
|
100
100
|
const data = {
|
101
101
|
refresh_token: refreshToken,
|
@@ -222,7 +222,7 @@ const ApiSocket = (userOptions, WebSocketImpl) => {
|
|
222
222
|
if (isActive()) {
|
223
223
|
if (attempts >= maxAttempts) {
|
224
224
|
logger.error(`Socket disconnect timed out after ${timeoutMs} ms`);
|
225
|
-
reject('Socket disconnect timed out');
|
225
|
+
reject(new Error('Socket disconnect timed out'));
|
226
226
|
}
|
227
227
|
else {
|
228
228
|
setTimeout(wait, checkInterval);
|
@@ -250,7 +250,6 @@ const ApiSocket = (userOptions, WebSocketImpl) => {
|
|
250
250
|
}
|
251
251
|
else {
|
252
252
|
logger.warn('Attempting to disconnect a closed socket (ignore)');
|
253
|
-
//throw 'Attempting to disconnect a closed socket';
|
254
253
|
}
|
255
254
|
return;
|
256
255
|
}
|
@@ -265,14 +264,14 @@ const ApiSocket = (userOptions, WebSocketImpl) => {
|
|
265
264
|
// Username and password are not required if those are available in socket options
|
266
265
|
connect: (username, password, reconnectOnFailure = true) => {
|
267
266
|
if (isActive()) {
|
268
|
-
throw 'Connect may only be used for a closed socket';
|
267
|
+
throw new Error('Connect may only be used for a closed socket');
|
269
268
|
}
|
270
269
|
resetSession();
|
271
270
|
return startConnect(() => handlePasswordLogin(username, password), reconnectOnFailure);
|
272
271
|
},
|
273
272
|
connectRefreshToken: (refreshToken, reconnectOnFailure = true) => {
|
274
273
|
if (isActive()) {
|
275
|
-
throw 'Connect may only be used for a closed socket';
|
274
|
+
throw new Error('Connect may only be used for a closed socket');
|
276
275
|
}
|
277
276
|
resetSession();
|
278
277
|
return startConnect(() => handleRefreshTokenLogin(refreshToken), reconnectOnFailure);
|
@@ -280,13 +279,13 @@ const ApiSocket = (userOptions, WebSocketImpl) => {
|
|
280
279
|
// Connect and attempt to associate the socket with an existing session
|
281
280
|
reconnect: (token = undefined, reconnectOnFailure = true) => {
|
282
281
|
if (isActive()) {
|
283
|
-
throw 'Reconnect may only be used for a closed socket';
|
282
|
+
throw new Error('Reconnect may only be used for a closed socket');
|
284
283
|
}
|
285
284
|
if (token) {
|
286
285
|
authToken = token;
|
287
286
|
}
|
288
287
|
if (!authToken) {
|
289
|
-
throw 'No session token available for reconnecting';
|
288
|
+
throw new Error('No session token available for reconnecting');
|
290
289
|
}
|
291
290
|
logger.info('Reconnecting socket');
|
292
291
|
return startConnect(handleAuthorizeToken, reconnectOnFailure);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SocketBase.js","sourceRoot":"","sources":["../src/SocketBase.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"SocketBase.js","sourceRoot":"","sources":["../src/SocketBase.ts"],"names":[],"mappings":"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"}
|
@@ -28,11 +28,11 @@ const SocketRequestHandler = (socket, logger, { requestTimeout = 30, ignoredRequ
|
|
28
28
|
// Pre-checks
|
29
29
|
if (!authenticating && !socket().isConnected()) {
|
30
30
|
logger.warn(`Attempting to send request on a non-authenticated socket: ${path}`);
|
31
|
-
return Promise.reject('Not authorized');
|
31
|
+
return Promise.reject(new Error('Not authorized'));
|
32
32
|
}
|
33
33
|
if (!socket().nativeSocket) {
|
34
34
|
logger.warn(`Attempting to send request without a socket: ${path}`);
|
35
|
-
return Promise.reject('No socket');
|
35
|
+
return Promise.reject(new Error('No socket'));
|
36
36
|
}
|
37
37
|
const callbackId = getCallbackId();
|
38
38
|
// Reporting
|
@@ -91,11 +91,9 @@ const SocketRequestHandler = (socket, logger, { requestTimeout = 30, ignoredRequ
|
|
91
91
|
return sendRequest('POST', path, data);
|
92
92
|
},
|
93
93
|
delete: (path) => {
|
94
|
-
//invariant(!data, 'No data is allowed for delete command');
|
95
94
|
return sendRequest('DELETE', path);
|
96
95
|
},
|
97
96
|
get: (path) => {
|
98
|
-
//invariant(!data, 'No data is allowed for get command');
|
99
97
|
return sendRequest('GET', path);
|
100
98
|
},
|
101
99
|
getPendingRequestCount: () => {
|
@@ -127,7 +125,7 @@ const SocketRequestHandler = (socket, logger, { requestTimeout = 30, ignoredRequ
|
|
127
125
|
if (messageObj.code >= 200 && messageObj.code <= 204) {
|
128
126
|
const { data } = messageObj;
|
129
127
|
if (!callbacks[id].ignored) {
|
130
|
-
logger.verbose(chalk.green(id.toString()), 'SUCCEEDED', data
|
128
|
+
logger.verbose(chalk.green(id.toString()), 'SUCCEEDED', data ?? '(no data)');
|
131
129
|
}
|
132
130
|
callbacks[id].resolver.resolve(data);
|
133
131
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SocketRequestHandler.js","sourceRoot":"","sources":["../src/SocketRequestHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,OAA0B,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAiB1C,MAAM,oBAAoB,GAAG,CAC3B,MAA8B,EAC9B,MAAc,EACd,EAAE,cAAc,GAAG,EAAE,EAAE,mBAAmB,EAAgC,EAC1E,EAAE;IAEF,IAAI,SAAS,GAA6B,EAAE,CAAC;IAC7C,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,IAAI,qBAA0B,CAAC;IAE/B,WAAW;IAEX,+CAA+C;IAC/C,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,IAAI,iBAAiB,GAAG,MAAM,EAAE,CAAC;YAC/B,iBAAiB,GAAG,CAAC,CAAC;QACxB,CAAC;QAED,iBAAiB,IAAI,CAAC,CAAC;QACvB,OAAO,iBAAiB,CAAC;IAC3B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,IAAwB,EAAsB,EAAE;QACtE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE,UAAU;SACrB,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAClB,MAAc,EAAE,IAAY,EAAE,IAAY,EAAE,iBAA0B,KAAK,EAC3E,EAAE;QACF,aAAa;QACb,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,6DAA6D,IAAI,EAAE,CAAC,CAAC;YACjF,OAAO,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"SocketRequestHandler.js","sourceRoot":"","sources":["../src/SocketRequestHandler.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,7 @@
|
|
1
|
+
import { WebSocket } from 'mock-socket';
|
2
|
+
import { OutgoingRequest, RequestSuccessResponse, RequestErrorResponse } from '../types/api_internal.js';
|
1
3
|
import * as Options from '../types/options.js';
|
2
|
-
export declare const
|
3
|
-
declare const getMockConsole: () => {
|
4
|
+
export declare const getMockConsole: () => {
|
4
5
|
log: import("jest-mock").Mock<(a1: any, a2: any, a3: any, a4: any) => void>;
|
5
6
|
info: import("jest-mock").Mock<(a1: any, a2: any, a3: any, a4: any) => void>;
|
6
7
|
warn: import("jest-mock").Mock<(a1: any, a2: any, a3: any, a4: any) => void>;
|
@@ -65,9 +66,33 @@ declare const getConnectedSocket: (server: ReturnType<typeof getMockServer>, use
|
|
65
66
|
error: import("jest-mock").Mock<(a1: any, a2: any, a3: any, a4: any) => void>;
|
66
67
|
};
|
67
68
|
}>;
|
68
|
-
|
69
|
-
|
69
|
+
interface MockServerOptions {
|
70
|
+
url: string;
|
71
|
+
reportMissingListeners?: boolean;
|
72
|
+
}
|
73
|
+
type MockRequestResponseDataObject<DataT extends object | undefined> = Omit<RequestSuccessResponse<DataT>, 'callback_id'> | Omit<RequestErrorResponse, 'callback_id'>;
|
74
|
+
type MockRequestResponseDataHandler<DataT extends object | undefined> = (request: OutgoingRequest, s: WebSocket) => MockRequestResponseDataObject<DataT>;
|
75
|
+
declare const getMockServer: (initialOptions?: Partial<MockServerOptions>) => {
|
76
|
+
addRequestHandler: <DataT extends object | undefined>(method: string, path: string, data?: DataT | MockRequestResponseDataHandler<DataT>, subscriptionCallback?: Callback) => void;
|
70
77
|
addErrorHandler: (method: string, path: string, errorStr: string | null, errorCode: number, subscriptionCallback?: Callback) => void;
|
78
|
+
addSubscriptionHandler: (moduleName: string, listenerName: string, entityId?: string | number) => {
|
79
|
+
fire: (data: object, entityId?: string | number) => void;
|
80
|
+
subscribeFn: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
|
81
|
+
unsubscribeFn: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
|
82
|
+
path: string;
|
83
|
+
};
|
84
|
+
addHookHandler: (moduleName: string, listenerName: string) => {
|
85
|
+
fire: (data: object, entityId?: string | number) => void;
|
86
|
+
subscribeFn: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
|
87
|
+
unsubscribeFn: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
|
88
|
+
path: string;
|
89
|
+
addResolver: (completionId: number) => {
|
90
|
+
fire: (data: object) => void;
|
91
|
+
resolveFn: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
|
92
|
+
rejectFn: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
|
93
|
+
};
|
94
|
+
};
|
95
|
+
ignoreMissingHandler: (method: string, path: string) => void;
|
71
96
|
stop: () => void;
|
72
97
|
send: (data: object) => void;
|
73
98
|
url: string;
|
@@ -0,0 +1,200 @@
|
|
1
|
+
import { Socket } from '../NodeSocket.js';
|
2
|
+
import { Server, WebSocket } from 'mock-socket';
|
3
|
+
import { jest } from '@jest/globals';
|
4
|
+
import ApiConstants from '../ApiConstants.js';
|
5
|
+
import { EventEmitter } from 'events';
|
6
|
+
const VERBOSE = false;
|
7
|
+
export const getMockConsole = () => ({
|
8
|
+
log: jest.fn((a1, a2, a3, a4) => {
|
9
|
+
if (VERBOSE) {
|
10
|
+
console.log(a1, a2, a3, a4);
|
11
|
+
}
|
12
|
+
}),
|
13
|
+
info: jest.fn((a1, a2, a3, a4) => {
|
14
|
+
if (VERBOSE) {
|
15
|
+
console.info(a1, a2, a3, a4);
|
16
|
+
}
|
17
|
+
}),
|
18
|
+
warn: jest.fn((a1, a2, a3, a4) => {
|
19
|
+
console.warn(a1, a2, a3, a4);
|
20
|
+
}),
|
21
|
+
error: jest.fn((a1, a2, a3, a4) => {
|
22
|
+
console.error(a1, a2, a3, a4);
|
23
|
+
}),
|
24
|
+
});
|
25
|
+
const DEFAULT_CONNECT_PARAMS = {
|
26
|
+
username: 'test',
|
27
|
+
password: 'test',
|
28
|
+
url: 'ws://localhost:7171/api/v1/',
|
29
|
+
};
|
30
|
+
const getDefaultSocketOptions = (mockConsole) => ({
|
31
|
+
...DEFAULT_CONNECT_PARAMS,
|
32
|
+
logOutput: mockConsole,
|
33
|
+
logLevel: VERBOSE ? 'verbose' : 'warn',
|
34
|
+
});
|
35
|
+
const DEFAULT_AUTH_RESPONSE = {
|
36
|
+
auth_token: 'b823187f-4aab-4b71-9764-e63e88401a26',
|
37
|
+
refresh_token: '5124faasf-4aab-4b71-9764-e63e88401a26',
|
38
|
+
user: {
|
39
|
+
permissions: ['admin'],
|
40
|
+
username: 'test',
|
41
|
+
active_sessions: 1,
|
42
|
+
last_login: 0,
|
43
|
+
},
|
44
|
+
system: {
|
45
|
+
cid: 'AHLUODI2YZ2U7FDWMHFNJU65ERGKUN4MH7GW5LY',
|
46
|
+
hostname: 'ubuntu-htpc',
|
47
|
+
network_type: 'private',
|
48
|
+
path_separator: '/',
|
49
|
+
platform: 'other',
|
50
|
+
language: 'fi',
|
51
|
+
},
|
52
|
+
wizard_pending: false,
|
53
|
+
};
|
54
|
+
const getSocket = (socketOptions = {}, mockConsole = getMockConsole()) => {
|
55
|
+
const socket = Socket({
|
56
|
+
...getDefaultSocketOptions(mockConsole),
|
57
|
+
...socketOptions,
|
58
|
+
}, WebSocket);
|
59
|
+
return { socket, mockConsole };
|
60
|
+
};
|
61
|
+
const getDefaultConnectOptions = () => ({
|
62
|
+
console: getMockConsole(),
|
63
|
+
authResponse: DEFAULT_AUTH_RESPONSE,
|
64
|
+
});
|
65
|
+
const getConnectedSocket = async (server, userOptions) => {
|
66
|
+
const options = {
|
67
|
+
...getDefaultConnectOptions(),
|
68
|
+
...userOptions,
|
69
|
+
};
|
70
|
+
server.addRequestHandler('POST', ApiConstants.LOGIN_URL, options.authResponse, options.authCallback);
|
71
|
+
const { socket, mockConsole } = getSocket(options.socketOptions, options.console);
|
72
|
+
await socket.connect();
|
73
|
+
return { socket, mockConsole };
|
74
|
+
};
|
75
|
+
const toEmitId = (path, method) => {
|
76
|
+
return `${path}_${method}`;
|
77
|
+
};
|
78
|
+
const DEFAULT_MOCK_SERVER_OPTIONS = {
|
79
|
+
url: DEFAULT_CONNECT_PARAMS.url,
|
80
|
+
reportMissingListeners: true,
|
81
|
+
};
|
82
|
+
const getMockServer = (initialOptions = {}) => {
|
83
|
+
const { url, reportMissingListeners } = {
|
84
|
+
...DEFAULT_MOCK_SERVER_OPTIONS,
|
85
|
+
...initialOptions,
|
86
|
+
};
|
87
|
+
const mockServer = new Server(url);
|
88
|
+
let socket;
|
89
|
+
const emitter = new EventEmitter();
|
90
|
+
const send = (data) => {
|
91
|
+
socket.send(JSON.stringify(data));
|
92
|
+
};
|
93
|
+
const addServerHandler = (method, path, responseData, subscriptionCallback) => {
|
94
|
+
emitter.addListener(toEmitId(path, method), (request, s) => {
|
95
|
+
if (subscriptionCallback) {
|
96
|
+
subscriptionCallback(request);
|
97
|
+
}
|
98
|
+
const data = typeof responseData === 'function' ? responseData(request, s) : responseData;
|
99
|
+
const response = {
|
100
|
+
callback_id: request.callback_id,
|
101
|
+
...data,
|
102
|
+
};
|
103
|
+
s.send(JSON.stringify(response));
|
104
|
+
});
|
105
|
+
};
|
106
|
+
const addDummyDataHandler = (method, path) => {
|
107
|
+
emitter.addListener(toEmitId(path, method), (request, s) => {
|
108
|
+
// Do nothing
|
109
|
+
});
|
110
|
+
};
|
111
|
+
const addRequestHandler = (method, path, data, subscriptionCallback) => {
|
112
|
+
const handlerData = typeof data === 'function' ? data : {
|
113
|
+
data,
|
114
|
+
code: data ? 200 : 204,
|
115
|
+
};
|
116
|
+
addServerHandler(method, path, handlerData, subscriptionCallback);
|
117
|
+
};
|
118
|
+
const addErrorHandler = (method, path, errorStr, errorCode, subscriptionCallback) => {
|
119
|
+
addServerHandler(method, path, {
|
120
|
+
error: !errorStr ? null : {
|
121
|
+
message: errorStr,
|
122
|
+
},
|
123
|
+
code: errorCode,
|
124
|
+
}, subscriptionCallback);
|
125
|
+
};
|
126
|
+
const addSubscriptionHandlerImpl = (moduleName, type, listenerName, entityId) => {
|
127
|
+
const subscribeFn = jest.fn();
|
128
|
+
const unsubscribeFn = jest.fn();
|
129
|
+
const path = entityId ? `${moduleName}/${entityId}/${type}/${listenerName}` : `${moduleName}/${type}/${listenerName}`;
|
130
|
+
addRequestHandler('POST', path, undefined, subscribeFn);
|
131
|
+
addRequestHandler('DELETE', path, undefined, unsubscribeFn);
|
132
|
+
const fire = (data, entityId) => {
|
133
|
+
send({
|
134
|
+
event: listenerName,
|
135
|
+
data,
|
136
|
+
id: entityId,
|
137
|
+
});
|
138
|
+
};
|
139
|
+
return {
|
140
|
+
fire,
|
141
|
+
subscribeFn,
|
142
|
+
unsubscribeFn,
|
143
|
+
path,
|
144
|
+
};
|
145
|
+
};
|
146
|
+
const addSubscriptionHandler = (moduleName, listenerName, entityId) => {
|
147
|
+
return addSubscriptionHandlerImpl(moduleName, 'listeners', listenerName, entityId);
|
148
|
+
};
|
149
|
+
const addHookHandler = (moduleName, listenerName) => {
|
150
|
+
const subscriber = addSubscriptionHandlerImpl(moduleName, 'hooks', listenerName);
|
151
|
+
const addResolver = (completionId) => {
|
152
|
+
const resolveFn = jest.fn();
|
153
|
+
const rejectFn = jest.fn();
|
154
|
+
addRequestHandler('POST', `${subscriber.path}/${completionId}/resolve`, undefined, resolveFn);
|
155
|
+
addRequestHandler('POST', `${subscriber.path}/${completionId}/reject`, undefined, rejectFn);
|
156
|
+
const fire = (data) => {
|
157
|
+
send({
|
158
|
+
event: listenerName,
|
159
|
+
data,
|
160
|
+
completion_id: completionId,
|
161
|
+
});
|
162
|
+
};
|
163
|
+
return { fire, resolveFn, rejectFn };
|
164
|
+
};
|
165
|
+
return {
|
166
|
+
addResolver,
|
167
|
+
...subscriber,
|
168
|
+
};
|
169
|
+
};
|
170
|
+
mockServer.on('connection', s => {
|
171
|
+
socket = s;
|
172
|
+
socket.on('message', (messageObj) => {
|
173
|
+
const request = JSON.parse(messageObj);
|
174
|
+
const emitId = toEmitId(request.path, request.method);
|
175
|
+
const processed = emitter.emit(emitId, request, s);
|
176
|
+
if (reportMissingListeners && !processed) {
|
177
|
+
console.warn(`Mock server: no listeners for event ${request.method} ${request.path}`);
|
178
|
+
}
|
179
|
+
});
|
180
|
+
});
|
181
|
+
mockServer.on('close', () => {
|
182
|
+
emitter.removeAllListeners();
|
183
|
+
});
|
184
|
+
return {
|
185
|
+
addRequestHandler,
|
186
|
+
addErrorHandler,
|
187
|
+
addSubscriptionHandler,
|
188
|
+
addHookHandler,
|
189
|
+
ignoreMissingHandler: addDummyDataHandler,
|
190
|
+
stop: () => {
|
191
|
+
mockServer.stop(() => {
|
192
|
+
// ...
|
193
|
+
});
|
194
|
+
},
|
195
|
+
send,
|
196
|
+
url,
|
197
|
+
};
|
198
|
+
};
|
199
|
+
export { getMockServer, getSocket, getConnectedSocket, DEFAULT_CONNECT_PARAMS, DEFAULT_AUTH_RESPONSE };
|
200
|
+
//# sourceMappingURL=mock-server.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"mock-server.js","sourceRoot":"","sources":["../../src/tests/mock-server.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import waitForExpectOriginal from 'wait-for-expect';
|
2
|
+
const EXCEPT_TIMEOUT = 1000;
|
3
|
+
//@ts-ignore
|
4
|
+
export const waitForExpect = (func) => waitForExpectOriginal.default(func, EXCEPT_TIMEOUT);
|
5
|
+
// This is a helper function that will suppress the error of a promise.
|
6
|
+
export const defusedPromise = (promise) => {
|
7
|
+
promise.catch(() => { });
|
8
|
+
return promise;
|
9
|
+
};
|
10
|
+
//# sourceMappingURL=test-utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../src/tests/test-utils.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,iBAAiB,CAAC;AAEpD,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,YAAY;AACZ,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAgC,EAAE,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAGvH,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAqB,EAAE,EAAE;IACtD,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxB,OAAO,OAAO,CAAC;AACjB,CAAC,CAAA"}
|
@@ -16,8 +16,8 @@ export interface MenuItemListHookData<IdT, EntityIdT> {
|
|
16
16
|
supports: string[];
|
17
17
|
}
|
18
18
|
export interface ResponseMenuItemCallbackFields {
|
19
|
-
urls?: string[]
|
20
|
-
form_definitions?: object[]
|
19
|
+
urls?: string[];
|
20
|
+
form_definitions?: object[];
|
21
21
|
}
|
22
22
|
export type ResponseMenuItem<IdT, EntityIdT> = Omit<ContextMenuItem<IdT, EntityIdT>, 'onClick' | 'filter' | 'urls' | 'form_definitions'> & ResponseMenuItemCallbackFields;
|
23
23
|
export interface MenuItemListHookAcceptData<IdT, EntityIdT> {
|
package/package.json
CHANGED
package/src/SocketBase.ts
CHANGED
@@ -125,11 +125,11 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
125
125
|
// Connect handler for creation of new session
|
126
126
|
const handlePasswordLogin = (username = options.username, password = options.password) => {
|
127
127
|
if (!username) {
|
128
|
-
throw '"username" option was not supplied for authentication';
|
128
|
+
throw new Error('"username" option was not supplied for authentication');
|
129
129
|
}
|
130
130
|
|
131
131
|
if (!password) {
|
132
|
-
throw '"password" option was not supplied for authentication';
|
132
|
+
throw new Error('"password" option was not supplied for authentication');
|
133
133
|
}
|
134
134
|
|
135
135
|
const data: API.CredentialsAuthenticationData = {
|
@@ -146,7 +146,7 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
146
146
|
|
147
147
|
const handleRefreshTokenLogin = (refreshToken: string) => {
|
148
148
|
if (!refreshToken) {
|
149
|
-
throw '"refreshToken" option was not supplied for authentication';
|
149
|
+
throw new Error('"refreshToken" option was not supplied for authentication');
|
150
150
|
}
|
151
151
|
|
152
152
|
const data: API.RefreshTokenAuthenticationData = {
|
@@ -317,7 +317,7 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
317
317
|
if (isActive()) {
|
318
318
|
if (attempts >= maxAttempts) {
|
319
319
|
logger.error(`Socket disconnect timed out after ${timeoutMs} ms`);
|
320
|
-
reject('Socket disconnect timed out');
|
320
|
+
reject(new Error('Socket disconnect timed out'));
|
321
321
|
} else {
|
322
322
|
setTimeout(wait, checkInterval);
|
323
323
|
attempts++;
|
@@ -343,7 +343,6 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
343
343
|
}
|
344
344
|
} else {
|
345
345
|
logger.warn('Attempting to disconnect a closed socket (ignore)');
|
346
|
-
//throw 'Attempting to disconnect a closed socket';
|
347
346
|
}
|
348
347
|
|
349
348
|
return;
|
@@ -363,7 +362,7 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
363
362
|
// Username and password are not required if those are available in socket options
|
364
363
|
connect: (username?: string, password?: string, reconnectOnFailure = true) => {
|
365
364
|
if (isActive()) {
|
366
|
-
throw 'Connect may only be used for a closed socket';
|
365
|
+
throw new Error('Connect may only be used for a closed socket');
|
367
366
|
}
|
368
367
|
|
369
368
|
resetSession();
|
@@ -373,7 +372,7 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
373
372
|
|
374
373
|
connectRefreshToken: (refreshToken: string, reconnectOnFailure = true) => {
|
375
374
|
if (isActive()) {
|
376
|
-
throw 'Connect may only be used for a closed socket';
|
375
|
+
throw new Error('Connect may only be used for a closed socket');
|
377
376
|
}
|
378
377
|
|
379
378
|
resetSession();
|
@@ -384,7 +383,7 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
384
383
|
// Connect and attempt to associate the socket with an existing session
|
385
384
|
reconnect: (token: API.AuthTokenType | undefined = undefined, reconnectOnFailure = true) => {
|
386
385
|
if (isActive()) {
|
387
|
-
throw 'Reconnect may only be used for a closed socket';
|
386
|
+
throw new Error('Reconnect may only be used for a closed socket');
|
388
387
|
}
|
389
388
|
|
390
389
|
if (token) {
|
@@ -392,7 +391,7 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
392
391
|
}
|
393
392
|
|
394
393
|
if (!authToken) {
|
395
|
-
throw 'No session token available for reconnecting';
|
394
|
+
throw new Error('No session token available for reconnecting');
|
396
395
|
}
|
397
396
|
|
398
397
|
logger.info('Reconnecting socket');
|
@@ -463,7 +462,7 @@ const ApiSocket = (userOptions: Options.APISocketOptions, WebSocketImpl: WebSock
|
|
463
462
|
...requests.socket,
|
464
463
|
};
|
465
464
|
|
466
|
-
return socket
|
465
|
+
return socket;
|
467
466
|
};
|
468
467
|
|
469
468
|
export default ApiSocket;
|
@@ -59,12 +59,12 @@ const SocketRequestHandler = (
|
|
59
59
|
// Pre-checks
|
60
60
|
if (!authenticating && !socket().isConnected()) {
|
61
61
|
logger.warn(`Attempting to send request on a non-authenticated socket: ${path}`);
|
62
|
-
return Promise.reject('Not authorized');
|
62
|
+
return Promise.reject(new Error('Not authorized'));
|
63
63
|
}
|
64
64
|
|
65
65
|
if (!socket().nativeSocket) {
|
66
66
|
logger.warn(`Attempting to send request without a socket: ${path}`);
|
67
|
-
return Promise.reject('No socket');
|
67
|
+
return Promise.reject(new Error('No socket'));
|
68
68
|
}
|
69
69
|
|
70
70
|
const callbackId = getCallbackId();
|
@@ -143,12 +143,10 @@ const SocketRequestHandler = (
|
|
143
143
|
},
|
144
144
|
|
145
145
|
delete: (path) => {
|
146
|
-
//invariant(!data, 'No data is allowed for delete command');
|
147
146
|
return sendRequest('DELETE', path);
|
148
147
|
},
|
149
148
|
|
150
149
|
get: (path) => {
|
151
|
-
//invariant(!data, 'No data is allowed for get command');
|
152
150
|
return sendRequest('GET', path);
|
153
151
|
},
|
154
152
|
|
@@ -188,7 +186,7 @@ const SocketRequestHandler = (
|
|
188
186
|
if (messageObj.code >= 200 && messageObj.code <= 204) {
|
189
187
|
const { data } = messageObj as APIInternal.RequestSuccessResponse;
|
190
188
|
if (!callbacks[id].ignored) {
|
191
|
-
logger.verbose(chalk.green(id.toString()), 'SUCCEEDED', data
|
189
|
+
logger.verbose(chalk.green(id.toString()), 'SUCCEEDED', data ?? '(no data)');
|
192
190
|
}
|
193
191
|
|
194
192
|
callbacks[id].resolver.resolve(data);
|