@tellescope/sdk 1.76.0 → 1.77.0
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/lib/cjs/sdk.d.ts +6 -1
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/sdk.js +1 -0
- package/lib/cjs/sdk.js.map +1 -1
- package/lib/cjs/tests/tests.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +444 -108
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/sdk.d.ts +6 -1
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/sdk.js +1 -0
- package/lib/esm/sdk.js.map +1 -1
- package/lib/esm/tests/tests.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +444 -108
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/sdk.ts +3 -0
- package/src/tests/tests.ts +258 -2
- package/test_generated.pdf +0 -0
package/lib/esm/tests/tests.js
CHANGED
|
@@ -124,7 +124,7 @@ var voidResult = function () { return true; };
|
|
|
124
124
|
var passOnVoid = { shouldError: false, onResult: voidResult };
|
|
125
125
|
// const isNull = (d: any) => d === null
|
|
126
126
|
var setup_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
127
|
-
var uInfo, originalAuthToken;
|
|
127
|
+
var badSDK, badEnduserSDK, uInfo, originalAuthToken;
|
|
128
128
|
return __generator(this, function (_a) {
|
|
129
129
|
switch (_a.label) {
|
|
130
130
|
case 0:
|
|
@@ -135,89 +135,142 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
135
135
|
return [4 /*yield*/, async_test('test_authenticated', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
136
136
|
case 2:
|
|
137
137
|
_a.sent();
|
|
138
|
-
return [4 /*yield*/, async_test('test_authenticated (with API Key)', (new Session({ host: host, apiKey: '3n5q0SCBT_iUvZz-b9BJtX7o7HQUVJ9v132PgHJNJsg.' /* local test key */ })).test_authenticated, { expectedResult: 'Authenticated!' })
|
|
138
|
+
return [4 /*yield*/, async_test('test_authenticated (with API Key)', (new Session({ host: host, apiKey: '3n5q0SCBT_iUvZz-b9BJtX7o7HQUVJ9v132PgHJNJsg.' /* local test key */ })).test_authenticated, { expectedResult: 'Authenticated!' })
|
|
139
|
+
// login rate limit tests
|
|
140
|
+
];
|
|
139
141
|
case 3:
|
|
140
142
|
_a.sent();
|
|
141
|
-
|
|
143
|
+
badSDK = new Session({ host: host });
|
|
144
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
142
145
|
case 4:
|
|
143
146
|
_a.sent();
|
|
144
|
-
return [4 /*yield*/,
|
|
147
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
145
148
|
case 5:
|
|
146
149
|
_a.sent();
|
|
147
|
-
return [4 /*yield*/,
|
|
150
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
148
151
|
case 6:
|
|
149
152
|
_a.sent();
|
|
150
|
-
return [4 /*yield*/,
|
|
153
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
151
154
|
case 7:
|
|
155
|
+
_a.sent();
|
|
156
|
+
return [4 /*yield*/, badSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
157
|
+
case 8:
|
|
158
|
+
_a.sent();
|
|
159
|
+
return [4 /*yield*/, async_test('login rate limited', function () { return badSDK.authenticate('bademail@tellescope.com', 'badpassword@tellescope.com'); }, { shouldError: true, onError: function (e) { return e.message === 'Too many login attempts'; } })];
|
|
160
|
+
case 9:
|
|
161
|
+
_a.sent();
|
|
162
|
+
return [4 /*yield*/, async_test('login not rate limited for other user', function () { return sdk.authenticate(email, password); }, passOnAnyResult)];
|
|
163
|
+
case 10:
|
|
164
|
+
_a.sent();
|
|
165
|
+
badEnduserSDK = new EnduserSession({ host: host, businessId: businessId });
|
|
166
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
167
|
+
case 11:
|
|
168
|
+
_a.sent();
|
|
169
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
170
|
+
case 12:
|
|
171
|
+
_a.sent();
|
|
172
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
173
|
+
case 13:
|
|
174
|
+
_a.sent();
|
|
175
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
176
|
+
case 14:
|
|
177
|
+
_a.sent();
|
|
178
|
+
return [4 /*yield*/, badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword').catch(console.error)];
|
|
179
|
+
case 15:
|
|
180
|
+
_a.sent();
|
|
181
|
+
return [4 /*yield*/, async_test('login rate limited', function () { return badEnduserSDK.authenticate('bademail@tellescope.com', 'badpassword@tellescope.com'); }, { shouldError: true, onError: function (e) { return e.message === 'Too many login attempts'; } })];
|
|
182
|
+
case 16:
|
|
183
|
+
_a.sent();
|
|
184
|
+
return [4 /*yield*/, async_test('login not rate limited for other enduser', function () { return badEnduserSDK.authenticate('otherbademail@tellescope.com', 'badpassword@tellescope.com'); }, { shouldError: true, onError: function (e) { return e.message !== 'Too many login attempts'; } })
|
|
185
|
+
// prevent additional login throttling
|
|
186
|
+
];
|
|
187
|
+
case 17:
|
|
188
|
+
_a.sent();
|
|
189
|
+
// prevent additional login throttling
|
|
190
|
+
return [4 /*yield*/, async_test('reset_db', function () { return sdk.reset_db(); }, passOnVoid)];
|
|
191
|
+
case 18:
|
|
192
|
+
// prevent additional login throttling
|
|
193
|
+
_a.sent();
|
|
194
|
+
return [4 /*yield*/, sdk.logout()];
|
|
195
|
+
case 19:
|
|
196
|
+
_a.sent();
|
|
197
|
+
return [4 /*yield*/, async_test('test_authenticated - (logout invalidates jwt)', sdk.test_authenticated, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
|
|
198
|
+
case 20:
|
|
199
|
+
_a.sent();
|
|
200
|
+
return [4 /*yield*/, sdk.authenticate(email, password)];
|
|
201
|
+
case 21:
|
|
202
|
+
_a.sent();
|
|
203
|
+
return [4 /*yield*/, async_test('test_authenticated (re-authenticated)', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
204
|
+
case 22:
|
|
152
205
|
_a.sent();
|
|
153
206
|
uInfo = sdk.userInfo;
|
|
154
207
|
originalAuthToken = sdk.authToken;
|
|
155
208
|
return [4 /*yield*/, sdk.refresh_session()];
|
|
156
|
-
case
|
|
209
|
+
case 23:
|
|
157
210
|
_a.sent();
|
|
158
211
|
assert(uInfo.id === sdk.userInfo.id, 'userInfo mismatch', 'userInfo id preserved after refresh');
|
|
159
212
|
assert(!!originalAuthToken && !!sdk.authToken && sdk.authToken !== originalAuthToken, 'same authToken after refresh', 'authToken refresh');
|
|
160
213
|
return [4 /*yield*/, async_test('role change by non-admin prevented (admin)', function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Admin'] }, { replaceObjectFields: true }); }, handleAnyError)];
|
|
161
|
-
case
|
|
214
|
+
case 24:
|
|
162
215
|
_a.sent();
|
|
163
216
|
return [4 /*yield*/, async_test('role change by non-admin prevented (non-admin)', function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Not Admin'] }, { replaceObjectFields: true }); }, handleAnyError)
|
|
164
217
|
// would assign default non-admin role, which could grant additional permissions than currently-defined non-admin role, should block
|
|
165
218
|
];
|
|
166
|
-
case
|
|
219
|
+
case 25:
|
|
167
220
|
_a.sent();
|
|
168
221
|
// would assign default non-admin role, which could grant additional permissions than currently-defined non-admin role, should block
|
|
169
222
|
return [4 /*yield*/, async_test('role change by non-admin prevented (empty)', function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: [] }, { replaceObjectFields: true }); }, handleAnyError)
|
|
170
223
|
// ensure that going to "Non-Admin" triggers a role change
|
|
171
224
|
];
|
|
172
|
-
case
|
|
225
|
+
case 26:
|
|
173
226
|
// would assign default non-admin role, which could grant additional permissions than currently-defined non-admin role, should block
|
|
174
227
|
_a.sent();
|
|
175
228
|
// ensure that going to "Non-Admin" triggers a role change
|
|
176
229
|
return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Test'] }, { replaceObjectFields: true })];
|
|
177
|
-
case
|
|
230
|
+
case 27:
|
|
178
231
|
// ensure that going to "Non-Admin" triggers a role change
|
|
179
232
|
_a.sent();
|
|
180
233
|
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)];
|
|
181
|
-
case
|
|
234
|
+
case 28:
|
|
182
235
|
_a.sent();
|
|
183
236
|
return [4 /*yield*/, async_test('non admin authenticated', sdkNonAdmin.test_authenticated, { expectedResult: 'Authenticated!' })
|
|
184
237
|
// reset nonAdmin role to a default non-admin
|
|
185
238
|
];
|
|
186
|
-
case
|
|
239
|
+
case 29:
|
|
187
240
|
_a.sent();
|
|
188
241
|
// reset nonAdmin role to a default non-admin
|
|
189
242
|
return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Non-Admin'] }, { replaceObjectFields: true })];
|
|
190
|
-
case
|
|
243
|
+
case 30:
|
|
191
244
|
// reset nonAdmin role to a default non-admin
|
|
192
245
|
_a.sent();
|
|
193
246
|
// should be unauthenticated due to role change
|
|
194
247
|
return [4 /*yield*/, wait(undefined, 100)];
|
|
195
|
-
case
|
|
248
|
+
case 31:
|
|
196
249
|
// reset nonAdmin role to a default non-admin
|
|
197
250
|
// should be unauthenticated due to role change
|
|
198
251
|
_a.sent();
|
|
199
252
|
return [4 /*yield*/, async_test('role change causes deauthentication', sdkNonAdmin.test_authenticated, handleAnyError)
|
|
200
253
|
// reauthenticate
|
|
201
254
|
];
|
|
202
|
-
case
|
|
255
|
+
case 32:
|
|
203
256
|
_a.sent();
|
|
204
257
|
// reauthenticate
|
|
205
258
|
return [4 /*yield*/, wait(undefined, 1000)];
|
|
206
|
-
case
|
|
259
|
+
case 33:
|
|
207
260
|
// reauthenticate
|
|
208
261
|
_a.sent();
|
|
209
262
|
return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)
|
|
210
263
|
// may do some stuff in background after returning
|
|
211
264
|
];
|
|
212
|
-
case
|
|
265
|
+
case 34:
|
|
213
266
|
_a.sent();
|
|
214
267
|
// may do some stuff in background after returning
|
|
215
268
|
return [4 /*yield*/, async_test('reset_db', function () { return sdk.reset_db(); }, passOnVoid)];
|
|
216
|
-
case
|
|
269
|
+
case 35:
|
|
217
270
|
// may do some stuff in background after returning
|
|
218
271
|
_a.sent();
|
|
219
272
|
return [4 /*yield*/, wait(undefined, 250)];
|
|
220
|
-
case
|
|
273
|
+
case 36:
|
|
221
274
|
_a.sent();
|
|
222
275
|
return [2 /*return*/];
|
|
223
276
|
}
|
|
@@ -412,64 +465,73 @@ var sub_organization_enduser_tests = function () { return __awaiter(void 0, void
|
|
|
412
465
|
return [4 /*yield*/, enduserSDK.register({ email: 'root@tellescope.com', password: password })];
|
|
413
466
|
case 1:
|
|
414
467
|
_d.sent();
|
|
415
|
-
return [4 /*yield*/,
|
|
468
|
+
return [4 /*yield*/, wait(undefined, 1000)]; // avoid rate limiting error
|
|
416
469
|
case 2:
|
|
470
|
+
_d.sent(); // avoid rate limiting error
|
|
471
|
+
return [4 /*yield*/, subEnduserSDK.register({ email: 'sub@tellescope.com', password: password })];
|
|
472
|
+
case 3:
|
|
417
473
|
_d.sent();
|
|
474
|
+
return [4 /*yield*/, wait(undefined, 1000)]; // avoid rate limiting error
|
|
475
|
+
case 4:
|
|
476
|
+
_d.sent(); // avoid rate limiting error
|
|
418
477
|
return [4 /*yield*/, enduserSDK.authenticate('root@tellescope.com', password)];
|
|
419
|
-
case
|
|
478
|
+
case 5:
|
|
420
479
|
_d.sent();
|
|
480
|
+
return [4 /*yield*/, wait(undefined, 1000)]; // avoid rate limiting error
|
|
481
|
+
case 6:
|
|
482
|
+
_d.sent(); // avoid rate limiting error
|
|
421
483
|
return [4 /*yield*/, subEnduserSDK.authenticate('sub@tellescope.com', password)];
|
|
422
|
-
case
|
|
484
|
+
case 7:
|
|
423
485
|
_d.sent();
|
|
424
486
|
assert(!((_a = enduserSDK.userInfo.organizationIds) === null || _a === void 0 ? void 0 : _a.length), 'bad root organizationIds', 'root auth org ids');
|
|
425
487
|
assert(((_b = subEnduserSDK.userInfo.organizationIds) === null || _b === void 0 ? void 0 : _b.length) === 1, 'bad sub organizationIds', 'sub auth org ids');
|
|
426
488
|
return [4 /*yield*/, enduserSDK.api.tickets.createOne({ title: 'root', enduserId: enduserSDK.userInfo.id })];
|
|
427
|
-
case
|
|
489
|
+
case 8:
|
|
428
490
|
rootTicket = _d.sent();
|
|
429
491
|
return [4 /*yield*/, async_test("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
430
|
-
case
|
|
492
|
+
case 9:
|
|
431
493
|
_d.sent();
|
|
432
494
|
return [4 /*yield*/, async_test("sub get root error", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, handleAnyError)];
|
|
433
|
-
case
|
|
495
|
+
case 10:
|
|
434
496
|
_d.sent();
|
|
435
497
|
return [4 /*yield*/, async_test("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
436
|
-
case
|
|
498
|
+
case 11:
|
|
437
499
|
_d.sent();
|
|
438
500
|
return [4 /*yield*/, async_test("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
439
|
-
case
|
|
501
|
+
case 12:
|
|
440
502
|
_d.sent();
|
|
441
503
|
return [4 /*yield*/, async_test("root get root ticket", function () { return sdk.api.tickets.getOne(rootTicket.id); }, passOnAnyResult)];
|
|
442
|
-
case
|
|
504
|
+
case 13:
|
|
443
505
|
_d.sent();
|
|
444
506
|
return [4 /*yield*/, async_test("sub get root ticket error", function () { return sdkSub.api.tickets.getOne(rootTicket.id); }, handleAnyError)];
|
|
445
|
-
case
|
|
507
|
+
case 14:
|
|
446
508
|
_d.sent();
|
|
447
509
|
return [4 /*yield*/, sdk.api.endusers.updateOne(enduserSDK.userInfo.id, { sharedWithOrganizations: [(_c = sdkSub.userInfo.organizationIds) !== null && _c !== void 0 ? _c : []] })];
|
|
448
|
-
case
|
|
510
|
+
case 15:
|
|
449
511
|
_d.sent();
|
|
450
512
|
return [4 /*yield*/, enduserSDK.refresh_session()]; // ensure updated session includes new sharedWithOrganizations
|
|
451
|
-
case
|
|
513
|
+
case 16:
|
|
452
514
|
_d.sent(); // ensure updated session includes new sharedWithOrganizations
|
|
453
515
|
return [4 /*yield*/, enduserSDK.api.tickets.createOne({ title: 'root with shared', enduserId: enduserSDK.userInfo.id })];
|
|
454
|
-
case
|
|
516
|
+
case 17:
|
|
455
517
|
rootTicketAfterUpdate = _d.sent();
|
|
456
518
|
return [4 /*yield*/, async_test("root get root", function () { return sdk.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
457
|
-
case
|
|
519
|
+
case 18:
|
|
458
520
|
_d.sent();
|
|
459
521
|
return [4 /*yield*/, async_test("sub get root after update", function () { return sdkSub.api.endusers.getOne(enduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
460
|
-
case
|
|
522
|
+
case 19:
|
|
461
523
|
_d.sent();
|
|
462
524
|
return [4 /*yield*/, async_test("root get sub", function () { return sdk.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
463
|
-
case
|
|
525
|
+
case 20:
|
|
464
526
|
_d.sent();
|
|
465
527
|
return [4 /*yield*/, async_test("sub get sub", function () { return sdkSub.api.endusers.getOne(subEnduserSDK.userInfo.id); }, passOnAnyResult)];
|
|
466
|
-
case
|
|
528
|
+
case 21:
|
|
467
529
|
_d.sent();
|
|
468
530
|
return [4 /*yield*/, async_test("root get root ticket after update", function () { return sdk.api.tickets.getOne(rootTicketAfterUpdate.id); }, passOnAnyResult)];
|
|
469
|
-
case
|
|
531
|
+
case 22:
|
|
470
532
|
_d.sent();
|
|
471
533
|
return [4 /*yield*/, async_test("sub get root ticket after update", function () { return sdkSub.api.tickets.getOne(rootTicketAfterUpdate.id); }, passOnAnyResult)];
|
|
472
|
-
case
|
|
534
|
+
case 23:
|
|
473
535
|
_d.sent();
|
|
474
536
|
return [4 /*yield*/, Promise.all([
|
|
475
537
|
sdk.api.endusers.deleteOne(enduserSDK.userInfo.id),
|
|
@@ -477,7 +539,7 @@ var sub_organization_enduser_tests = function () { return __awaiter(void 0, void
|
|
|
477
539
|
sdk.api.tickets.deleteOne(rootTicket.id),
|
|
478
540
|
sdk.api.tickets.deleteOne(rootTicketAfterUpdate.id),
|
|
479
541
|
])];
|
|
480
|
-
case
|
|
542
|
+
case 24:
|
|
481
543
|
_d.sent();
|
|
482
544
|
return [2 /*return*/];
|
|
483
545
|
}
|
|
@@ -6994,6 +7056,7 @@ var validate_schema = function () {
|
|
|
6994
7056
|
endpoints.add(path);
|
|
6995
7057
|
}
|
|
6996
7058
|
}
|
|
7059
|
+
console.log("Schema validated");
|
|
6997
7060
|
};
|
|
6998
7061
|
var test_weighted_round_robin = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
6999
7062
|
var testUsers, userIds, testAssignments, run_assignment_simulation;
|
|
@@ -7613,7 +7676,7 @@ export var ticket_reminder_tests = function () { return __awaiter(void 0, void 0
|
|
|
7613
7676
|
return (((_b = (_a = t.reminders) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.didRemind) === true
|
|
7614
7677
|
&& t.nextReminderInMS !== -1
|
|
7615
7678
|
&& ((_d = (_c = t.reminders) === null || _c === void 0 ? void 0 : _c.filter(function (r) { return r.didRemind; })) === null || _d === void 0 ? void 0 : _d.length) === 1);
|
|
7616
|
-
},
|
|
7679
|
+
}, 10, 500); }, passOnAnyResult)];
|
|
7617
7680
|
case 13:
|
|
7618
7681
|
_a.sent();
|
|
7619
7682
|
return [4 /*yield*/, async_test("Delayed reminder not processed yet", function () { return sdk.api.tickets.getOne(tToRemind.id); }, {
|
|
@@ -7870,6 +7933,274 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
7870
7933
|
}
|
|
7871
7934
|
});
|
|
7872
7935
|
}); };
|
|
7936
|
+
var sync_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7937
|
+
var from, e, t, e2;
|
|
7938
|
+
return __generator(this, function (_a) {
|
|
7939
|
+
switch (_a.label) {
|
|
7940
|
+
case 0:
|
|
7941
|
+
log_header("Data Sync");
|
|
7942
|
+
from = new Date();
|
|
7943
|
+
return [4 /*yield*/, async_test("No new records, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
7944
|
+
var results = _a.results;
|
|
7945
|
+
return results.length === 0;
|
|
7946
|
+
} })];
|
|
7947
|
+
case 1:
|
|
7948
|
+
_a.sent();
|
|
7949
|
+
return [4 /*yield*/, async_test("No new records, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
7950
|
+
var results = _a.results;
|
|
7951
|
+
return results.length === 0;
|
|
7952
|
+
} })];
|
|
7953
|
+
case 2:
|
|
7954
|
+
_a.sent();
|
|
7955
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({})];
|
|
7956
|
+
case 3:
|
|
7957
|
+
e = _a.sent();
|
|
7958
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
7959
|
+
case 4:
|
|
7960
|
+
_a.sent();
|
|
7961
|
+
return [4 /*yield*/, async_test("Enduser create, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
7962
|
+
var results = _a.results;
|
|
7963
|
+
return (results.length === 1
|
|
7964
|
+
&& results[0].modelName === 'endusers'
|
|
7965
|
+
&& results[0].recordId === e.id
|
|
7966
|
+
&& results[0].data.includes(e.id)
|
|
7967
|
+
&& JSON.parse(results[0].data) // tests no error throwing
|
|
7968
|
+
);
|
|
7969
|
+
} })];
|
|
7970
|
+
case 5:
|
|
7971
|
+
_a.sent();
|
|
7972
|
+
return [4 /*yield*/, async_test("Enduser create, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
7973
|
+
var results = _a.results;
|
|
7974
|
+
return results.length === 0;
|
|
7975
|
+
} })];
|
|
7976
|
+
case 6:
|
|
7977
|
+
_a.sent();
|
|
7978
|
+
return [4 /*yield*/, async_test("Enduser create, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
7979
|
+
var results = _a.results;
|
|
7980
|
+
return results.length === 0;
|
|
7981
|
+
} })];
|
|
7982
|
+
case 7:
|
|
7983
|
+
_a.sent();
|
|
7984
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { fname: "UPDATE_TEST" })];
|
|
7985
|
+
case 8:
|
|
7986
|
+
_a.sent();
|
|
7987
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
7988
|
+
case 9:
|
|
7989
|
+
_a.sent();
|
|
7990
|
+
return [4 /*yield*/, async_test("Enduser update, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
7991
|
+
var results = _a.results;
|
|
7992
|
+
return (results.length === 1
|
|
7993
|
+
&& results[0].modelName === 'endusers'
|
|
7994
|
+
&& results[0].recordId === e.id
|
|
7995
|
+
&& results[0].data.includes("UPDATE_TEST"));
|
|
7996
|
+
} })];
|
|
7997
|
+
case 10:
|
|
7998
|
+
_a.sent();
|
|
7999
|
+
return [4 /*yield*/, async_test("Enduser update, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8000
|
+
var results = _a.results;
|
|
8001
|
+
return results.length === 0;
|
|
8002
|
+
} })];
|
|
8003
|
+
case 11:
|
|
8004
|
+
_a.sent();
|
|
8005
|
+
return [4 /*yield*/, async_test("Enduser update, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8006
|
+
var results = _a.results;
|
|
8007
|
+
return results.length === 0;
|
|
8008
|
+
} })];
|
|
8009
|
+
case 12:
|
|
8010
|
+
_a.sent();
|
|
8011
|
+
return [4 /*yield*/, sdk.api.tickets.createOne({ title: 'access test' })];
|
|
8012
|
+
case 13:
|
|
8013
|
+
t = _a.sent();
|
|
8014
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8015
|
+
case 14:
|
|
8016
|
+
_a.sent();
|
|
8017
|
+
return [4 /*yield*/, async_test("Non-admin can't access ticket", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8018
|
+
var results = _a.results;
|
|
8019
|
+
return results.length === 0;
|
|
8020
|
+
} })
|
|
8021
|
+
// creates a user notification which increments count/index
|
|
8022
|
+
];
|
|
8023
|
+
case 15:
|
|
8024
|
+
_a.sent();
|
|
8025
|
+
// creates a user notification which increments count/index
|
|
8026
|
+
sdk.api.tickets.updateOne(t.id, { owner: sdkNonAdmin.userInfo.id });
|
|
8027
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8028
|
+
case 16:
|
|
8029
|
+
_a.sent();
|
|
8030
|
+
return [4 /*yield*/, async_test("Non-admin can access tickets on assignment", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8031
|
+
var results = _a.results;
|
|
8032
|
+
return results.length === 2;
|
|
8033
|
+
} })];
|
|
8034
|
+
case 17:
|
|
8035
|
+
_a.sent();
|
|
8036
|
+
sdk.api.tickets.updateOne(t.id, { owner: '' });
|
|
8037
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8038
|
+
case 18:
|
|
8039
|
+
_a.sent();
|
|
8040
|
+
return [4 /*yield*/, async_test("Non-admin can't access tickets on unassignment", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8041
|
+
var results = _a.results;
|
|
8042
|
+
return results.length === 1;
|
|
8043
|
+
} })];
|
|
8044
|
+
case 19:
|
|
8045
|
+
_a.sent();
|
|
8046
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [sdkNonAdmin.userInfo.id] }, { replaceObjectFields: true })];
|
|
8047
|
+
case 20:
|
|
8048
|
+
_a.sent();
|
|
8049
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8050
|
+
case 21:
|
|
8051
|
+
_a.sent();
|
|
8052
|
+
return [4 /*yield*/, async_test("Enduser update non-admin assignment, can access", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8053
|
+
var results = _a.results;
|
|
8054
|
+
return results.length === 2;
|
|
8055
|
+
} })];
|
|
8056
|
+
case 22:
|
|
8057
|
+
_a.sent();
|
|
8058
|
+
sdk.api.tickets.updateOne(t.id, { owner: '', enduserId: e.id });
|
|
8059
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8060
|
+
case 23:
|
|
8061
|
+
_a.sent();
|
|
8062
|
+
return [4 /*yield*/, async_test("Non-admin can access ticket (and enduser) after enduser assignment", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8063
|
+
var results = _a.results;
|
|
8064
|
+
return results.length === 3;
|
|
8065
|
+
} })];
|
|
8066
|
+
case 24:
|
|
8067
|
+
_a.sent();
|
|
8068
|
+
return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { assignedTo: [] }, { replaceObjectFields: true })];
|
|
8069
|
+
case 25:
|
|
8070
|
+
_a.sent();
|
|
8071
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8072
|
+
case 26:
|
|
8073
|
+
_a.sent();
|
|
8074
|
+
return [4 /*yield*/, async_test("Enduser update non-admin assignment, revoked access to enduser and ticket", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8075
|
+
var results = _a.results;
|
|
8076
|
+
return results.length === 1;
|
|
8077
|
+
} })
|
|
8078
|
+
// enduser, ticket, and ticket assignment user_notification created
|
|
8079
|
+
];
|
|
8080
|
+
case 27:
|
|
8081
|
+
_a.sent();
|
|
8082
|
+
// enduser, ticket, and ticket assignment user_notification created
|
|
8083
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(e.id)];
|
|
8084
|
+
case 28:
|
|
8085
|
+
// enduser, ticket, and ticket assignment user_notification created
|
|
8086
|
+
_a.sent();
|
|
8087
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8088
|
+
case 29:
|
|
8089
|
+
_a.sent();
|
|
8090
|
+
return [4 /*yield*/, async_test("Enduser delete, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8091
|
+
var results = _a.results;
|
|
8092
|
+
return (results.length === 3
|
|
8093
|
+
&& results[0].modelName === 'endusers'
|
|
8094
|
+
&& results[0].recordId === e.id
|
|
8095
|
+
&& results[0].data === 'deleted');
|
|
8096
|
+
} })];
|
|
8097
|
+
case 30:
|
|
8098
|
+
_a.sent();
|
|
8099
|
+
return [4 /*yield*/, async_test("Enduser delete, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8100
|
+
var results = _a.results;
|
|
8101
|
+
return results.length === 1;
|
|
8102
|
+
} })];
|
|
8103
|
+
case 31:
|
|
8104
|
+
_a.sent();
|
|
8105
|
+
return [4 /*yield*/, async_test("Enduser delete, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8106
|
+
var results = _a.results;
|
|
8107
|
+
return results.length === 0;
|
|
8108
|
+
} })
|
|
8109
|
+
// bulk create test coverage
|
|
8110
|
+
];
|
|
8111
|
+
case 32:
|
|
8112
|
+
_a.sent();
|
|
8113
|
+
return [4 /*yield*/, sdk.api.endusers.createSome([{}])];
|
|
8114
|
+
case 33:
|
|
8115
|
+
e2 = (_a.sent()).created[0];
|
|
8116
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8117
|
+
case 34:
|
|
8118
|
+
_a.sent();
|
|
8119
|
+
return [4 /*yield*/, async_test("Bulk Enduser create, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8120
|
+
var results = _a.results;
|
|
8121
|
+
return (results.length === 4
|
|
8122
|
+
&& results[0].modelName === 'endusers'
|
|
8123
|
+
&& results[0].recordId === e2.id
|
|
8124
|
+
&& results[0].data.includes(e2.id)
|
|
8125
|
+
&& JSON.parse(results[0].data) // tests no error throwing
|
|
8126
|
+
);
|
|
8127
|
+
} })];
|
|
8128
|
+
case 35:
|
|
8129
|
+
_a.sent();
|
|
8130
|
+
return [4 /*yield*/, async_test("Bulk Enduser create, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8131
|
+
var results = _a.results;
|
|
8132
|
+
return results.length === 1;
|
|
8133
|
+
} })];
|
|
8134
|
+
case 36:
|
|
8135
|
+
_a.sent();
|
|
8136
|
+
return [4 /*yield*/, async_test("Bulk Enduser create, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8137
|
+
var results = _a.results;
|
|
8138
|
+
return results.length === 0;
|
|
8139
|
+
} })];
|
|
8140
|
+
case 37:
|
|
8141
|
+
_a.sent();
|
|
8142
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(e2.id)];
|
|
8143
|
+
case 38:
|
|
8144
|
+
_a.sent();
|
|
8145
|
+
return [4 /*yield*/, wait(undefined, 100)];
|
|
8146
|
+
case 39:
|
|
8147
|
+
_a.sent();
|
|
8148
|
+
return [4 /*yield*/, async_test("Bulk Enduser delete, admin", function () { return sdk.sync({ from: from }); }, { onResult: function (_a) {
|
|
8149
|
+
var results = _a.results;
|
|
8150
|
+
return (results.length === 4
|
|
8151
|
+
&& results[0].modelName === 'endusers'
|
|
8152
|
+
&& results[0].recordId === e2.id
|
|
8153
|
+
&& results[0].data === 'deleted');
|
|
8154
|
+
} })];
|
|
8155
|
+
case 40:
|
|
8156
|
+
_a.sent();
|
|
8157
|
+
return [4 /*yield*/, async_test("Bulk Enduser delete, non-admin", function () { return sdkNonAdmin.sync({ from: from }); }, { onResult: function (_a) {
|
|
8158
|
+
var results = _a.results;
|
|
8159
|
+
return results.length === 1;
|
|
8160
|
+
} })];
|
|
8161
|
+
case 41:
|
|
8162
|
+
_a.sent();
|
|
8163
|
+
return [4 /*yield*/, async_test("Bulk Enduser delete, sub organization", function () { return sdkSub.sync({ from: from }); }, { onResult: function (_a) {
|
|
8164
|
+
var results = _a.results;
|
|
8165
|
+
return results.length === 0;
|
|
8166
|
+
} })];
|
|
8167
|
+
case 42:
|
|
8168
|
+
_a.sent();
|
|
8169
|
+
return [2 /*return*/];
|
|
8170
|
+
}
|
|
8171
|
+
});
|
|
8172
|
+
}); };
|
|
8173
|
+
// to cover potential vulernabilities with enduser public register endpoint
|
|
8174
|
+
var register_as_enduser_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
8175
|
+
var enduser;
|
|
8176
|
+
return __generator(this, function (_a) {
|
|
8177
|
+
switch (_a.label) {
|
|
8178
|
+
case 0:
|
|
8179
|
+
log_header("Register as Enduser");
|
|
8180
|
+
return [4 /*yield*/, async_test("Enduser register", function () { return enduserSDK.register({ email: 'test@tellescope.com', password: 'testpassWord12345!' }); }, passOnAnyResult)];
|
|
8181
|
+
case 1:
|
|
8182
|
+
_a.sent();
|
|
8183
|
+
return [4 /*yield*/, async_test("Enduser register (rate limited)", function () { return enduserSDK.register({ email: 'test@tellescope.com', password: 'testpassWord12345!' }); }, { shouldError: true, onError: function (e) { return e.message === "Too many requests"; } })];
|
|
8184
|
+
case 2:
|
|
8185
|
+
_a.sent();
|
|
8186
|
+
return [4 /*yield*/, wait(undefined, 1000)];
|
|
8187
|
+
case 3:
|
|
8188
|
+
_a.sent();
|
|
8189
|
+
return [4 /*yield*/, async_test("Enduser duplicate register (same response, no ability to enumerate contacts)", function () { return enduserSDK.register({ email: 'test@tellescope.com', password: 'testpassWord12345!' }); }, passOnAnyResult)];
|
|
8190
|
+
case 4:
|
|
8191
|
+
_a.sent();
|
|
8192
|
+
return [4 /*yield*/, sdk.api.endusers.getOne({ email: 'test@tellescope.com' })];
|
|
8193
|
+
case 5:
|
|
8194
|
+
enduser = _a.sent();
|
|
8195
|
+
if (!enduser) return [3 /*break*/, 7];
|
|
8196
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
8197
|
+
case 6:
|
|
8198
|
+
_a.sent();
|
|
8199
|
+
_a.label = 7;
|
|
8200
|
+
case 7: return [2 /*return*/];
|
|
8201
|
+
}
|
|
8202
|
+
});
|
|
8203
|
+
}); };
|
|
7873
8204
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
7874
8205
|
var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _f, _g, _h, err_2;
|
|
7875
8206
|
var _j, _k;
|
|
@@ -7882,7 +8213,7 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
7882
8213
|
_l.sent();
|
|
7883
8214
|
_l.label = 2;
|
|
7884
8215
|
case 2:
|
|
7885
|
-
_l.trys.push([2,
|
|
8216
|
+
_l.trys.push([2, 49, , 50]);
|
|
7886
8217
|
form_conditional_logic_tests();
|
|
7887
8218
|
return [4 /*yield*/, test_weighted_round_robin()];
|
|
7888
8219
|
case 3:
|
|
@@ -7896,11 +8227,10 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
7896
8227
|
sdkOtherSub.authenticate(otherSubUserEmail, password),
|
|
7897
8228
|
sdkSubSub.authenticate(subSubUserEmail, password),
|
|
7898
8229
|
sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword),
|
|
7899
|
-
])
|
|
7900
|
-
// console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
|
|
7901
|
-
];
|
|
8230
|
+
])];
|
|
7902
8231
|
case 5:
|
|
7903
8232
|
_l.sent();
|
|
8233
|
+
console.log("Authentication done");
|
|
7904
8234
|
// console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
|
|
7905
8235
|
return [4 /*yield*/, async_test("count exists",
|
|
7906
8236
|
// @ts-ignore
|
|
@@ -7920,120 +8250,126 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
7920
8250
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
7921
8251
|
case 10:
|
|
7922
8252
|
_l.sent(); // should come right after setup tests
|
|
7923
|
-
return [4 /*yield*/,
|
|
8253
|
+
return [4 /*yield*/, register_as_enduser_tests()];
|
|
7924
8254
|
case 11:
|
|
7925
8255
|
_l.sent();
|
|
7926
|
-
return [4 /*yield*/,
|
|
8256
|
+
return [4 /*yield*/, sync_tests()];
|
|
7927
8257
|
case 12:
|
|
8258
|
+
_l.sent();
|
|
8259
|
+
return [4 /*yield*/, lockout_tests()];
|
|
8260
|
+
case 13:
|
|
8261
|
+
_l.sent();
|
|
8262
|
+
return [4 /*yield*/, self_serve_appointment_booking_tests()];
|
|
8263
|
+
case 14:
|
|
7928
8264
|
_l.sent();
|
|
7929
8265
|
return [4 /*yield*/, delete_user_tests()
|
|
7930
8266
|
// await test_send_with_template()
|
|
7931
8267
|
];
|
|
7932
|
-
case
|
|
8268
|
+
case 15:
|
|
7933
8269
|
_l.sent();
|
|
7934
8270
|
// await test_send_with_template()
|
|
7935
8271
|
return [4 /*yield*/, bulk_read_tests()];
|
|
7936
|
-
case
|
|
8272
|
+
case 16:
|
|
7937
8273
|
// await test_send_with_template()
|
|
7938
8274
|
_l.sent();
|
|
7939
8275
|
return [4 /*yield*/, ticket_reminder_tests()];
|
|
7940
|
-
case
|
|
8276
|
+
case 17:
|
|
7941
8277
|
_l.sent();
|
|
7942
8278
|
return [4 /*yield*/, enduser_access_tags_tests()];
|
|
7943
|
-
case
|
|
8279
|
+
case 18:
|
|
7944
8280
|
_l.sent();
|
|
7945
8281
|
return [4 /*yield*/, marketing_email_unsubscribe_tests()];
|
|
7946
|
-
case
|
|
8282
|
+
case 19:
|
|
7947
8283
|
_l.sent();
|
|
7948
8284
|
return [4 /*yield*/, unique_strings_tests()];
|
|
7949
|
-
case
|
|
8285
|
+
case 20:
|
|
7950
8286
|
_l.sent();
|
|
7951
8287
|
return [4 /*yield*/, alternate_phones_tests()];
|
|
7952
|
-
case
|
|
8288
|
+
case 21:
|
|
7953
8289
|
_l.sent();
|
|
7954
8290
|
return [4 /*yield*/, ticket_queue_tests()];
|
|
7955
|
-
case
|
|
8291
|
+
case 22:
|
|
7956
8292
|
_l.sent();
|
|
7957
8293
|
return [4 /*yield*/, no_chained_triggers_tests()];
|
|
7958
|
-
case
|
|
8294
|
+
case 23:
|
|
7959
8295
|
_l.sent();
|
|
7960
8296
|
return [4 /*yield*/, field_equals_trigger_tests()];
|
|
7961
|
-
case
|
|
8297
|
+
case 24:
|
|
7962
8298
|
_l.sent();
|
|
7963
8299
|
return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
|
|
7964
|
-
case
|
|
8300
|
+
case 25:
|
|
7965
8301
|
_l.sent();
|
|
7966
8302
|
return [4 /*yield*/, role_based_access_tests()];
|
|
7967
|
-
case
|
|
8303
|
+
case 26:
|
|
7968
8304
|
_l.sent();
|
|
7969
8305
|
return [4 /*yield*/, automation_trigger_tests()];
|
|
7970
|
-
case
|
|
8306
|
+
case 27:
|
|
7971
8307
|
_l.sent();
|
|
7972
8308
|
return [4 /*yield*/, enduser_session_tests()];
|
|
7973
|
-
case
|
|
8309
|
+
case 28:
|
|
7974
8310
|
_l.sent();
|
|
7975
8311
|
return [4 /*yield*/, nextReminderInMS_tests()];
|
|
7976
|
-
case
|
|
8312
|
+
case 29:
|
|
7977
8313
|
_l.sent();
|
|
7978
8314
|
return [4 /*yield*/, search_tests()];
|
|
7979
|
-
case
|
|
8315
|
+
case 30:
|
|
7980
8316
|
_l.sent();
|
|
7981
8317
|
return [4 /*yield*/, wait_for_trigger_tests()];
|
|
7982
|
-
case
|
|
8318
|
+
case 31:
|
|
7983
8319
|
_l.sent();
|
|
7984
8320
|
return [4 /*yield*/, pdf_generation()];
|
|
7985
|
-
case
|
|
8321
|
+
case 32:
|
|
7986
8322
|
_l.sent();
|
|
7987
8323
|
return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
|
|
7988
|
-
case
|
|
8324
|
+
case 33:
|
|
7989
8325
|
_l.sent();
|
|
7990
8326
|
return [4 /*yield*/, rate_limit_tests()];
|
|
7991
|
-
case
|
|
8327
|
+
case 34:
|
|
7992
8328
|
_l.sent();
|
|
7993
8329
|
return [4 /*yield*/, merge_enduser_tests()];
|
|
7994
|
-
case
|
|
8330
|
+
case 35:
|
|
7995
8331
|
_l.sent();
|
|
7996
8332
|
return [4 /*yield*/, auto_reply_tests()];
|
|
7997
|
-
case
|
|
8333
|
+
case 36:
|
|
7998
8334
|
_l.sent();
|
|
7999
8335
|
return [4 /*yield*/, sub_organization_enduser_tests()];
|
|
8000
|
-
case
|
|
8336
|
+
case 37:
|
|
8001
8337
|
_l.sent();
|
|
8002
8338
|
return [4 /*yield*/, sub_organization_tests()];
|
|
8003
|
-
case
|
|
8339
|
+
case 38:
|
|
8004
8340
|
_l.sent();
|
|
8005
8341
|
return [4 /*yield*/, filter_by_date_tests()];
|
|
8006
|
-
case
|
|
8342
|
+
case 39:
|
|
8007
8343
|
_l.sent();
|
|
8008
8344
|
return [4 /*yield*/, generate_user_auth_tests()];
|
|
8009
|
-
case
|
|
8345
|
+
case 40:
|
|
8010
8346
|
_l.sent();
|
|
8011
8347
|
return [4 /*yield*/, generateEnduserAuthTests()];
|
|
8012
|
-
case
|
|
8348
|
+
case 41:
|
|
8013
8349
|
_l.sent();
|
|
8014
8350
|
return [4 /*yield*/, public_form_tests()];
|
|
8015
|
-
case
|
|
8351
|
+
case 42:
|
|
8016
8352
|
_l.sent();
|
|
8017
8353
|
return [4 /*yield*/, badInputTests()];
|
|
8018
|
-
case
|
|
8354
|
+
case 43:
|
|
8019
8355
|
_l.sent();
|
|
8020
8356
|
return [4 /*yield*/, filterTests()];
|
|
8021
|
-
case
|
|
8357
|
+
case 44:
|
|
8022
8358
|
_l.sent();
|
|
8023
8359
|
return [4 /*yield*/, updatesTests()];
|
|
8024
|
-
case
|
|
8360
|
+
case 45:
|
|
8025
8361
|
_l.sent();
|
|
8026
8362
|
return [4 /*yield*/, threadKeyTests()];
|
|
8027
|
-
case
|
|
8363
|
+
case 46:
|
|
8028
8364
|
_l.sent();
|
|
8029
8365
|
return [4 /*yield*/, enduserAccessTests()];
|
|
8030
|
-
case
|
|
8366
|
+
case 47:
|
|
8031
8367
|
_l.sent();
|
|
8032
8368
|
return [4 /*yield*/, enduser_redaction_tests()];
|
|
8033
|
-
case
|
|
8369
|
+
case 48:
|
|
8034
8370
|
_l.sent();
|
|
8035
|
-
return [3 /*break*/,
|
|
8036
|
-
case
|
|
8371
|
+
return [3 /*break*/, 50];
|
|
8372
|
+
case 49:
|
|
8037
8373
|
err_1 = _l.sent();
|
|
8038
8374
|
console.error("Failed during custom test");
|
|
8039
8375
|
if (err_1.message && err_1.info) {
|
|
@@ -8043,18 +8379,18 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
8043
8379
|
console.error(err_1);
|
|
8044
8380
|
}
|
|
8045
8381
|
process.exit(1);
|
|
8046
|
-
return [3 /*break*/,
|
|
8047
|
-
case
|
|
8382
|
+
return [3 /*break*/, 50];
|
|
8383
|
+
case 50:
|
|
8048
8384
|
_a = schema;
|
|
8049
8385
|
_b = [];
|
|
8050
8386
|
for (_c in _a)
|
|
8051
8387
|
_b.push(_c);
|
|
8052
8388
|
_i = 0;
|
|
8053
|
-
_l.label =
|
|
8054
|
-
case
|
|
8055
|
-
if (!(_i < _b.length)) return [3 /*break*/,
|
|
8389
|
+
_l.label = 51;
|
|
8390
|
+
case 51:
|
|
8391
|
+
if (!(_i < _b.length)) return [3 /*break*/, 54];
|
|
8056
8392
|
_c = _b[_i];
|
|
8057
|
-
if (!(_c in _a)) return [3 /*break*/,
|
|
8393
|
+
if (!(_c in _a)) return [3 /*break*/, 53];
|
|
8058
8394
|
n = _c;
|
|
8059
8395
|
returnValidation = (_k = (_j = schema[n].customActions) === null || _j === void 0 ? void 0 : _j.create) === null || _k === void 0 ? void 0 : _k.returns;
|
|
8060
8396
|
return [4 /*yield*/, run_generated_tests({
|
|
@@ -8065,41 +8401,41 @@ var lockout_tests = function () { return __awaiter(void 0, void 0, void 0, funct
|
|
|
8065
8401
|
create: returnValidation // ModelFields<ClientModel>,
|
|
8066
8402
|
}
|
|
8067
8403
|
})];
|
|
8068
|
-
case
|
|
8404
|
+
case 52:
|
|
8069
8405
|
_l.sent();
|
|
8070
|
-
_l.label =
|
|
8071
|
-
case
|
|
8406
|
+
_l.label = 53;
|
|
8407
|
+
case 53:
|
|
8072
8408
|
_i++;
|
|
8073
|
-
return [3 /*break*/,
|
|
8074
|
-
case
|
|
8409
|
+
return [3 /*break*/, 51];
|
|
8410
|
+
case 54:
|
|
8075
8411
|
_d = tests;
|
|
8076
8412
|
_f = [];
|
|
8077
8413
|
for (_g in _d)
|
|
8078
8414
|
_f.push(_g);
|
|
8079
8415
|
_h = 0;
|
|
8080
|
-
_l.label =
|
|
8081
|
-
case
|
|
8082
|
-
if (!(_h < _f.length)) return [3 /*break*/,
|
|
8416
|
+
_l.label = 55;
|
|
8417
|
+
case 55:
|
|
8418
|
+
if (!(_h < _f.length)) return [3 /*break*/, 60];
|
|
8083
8419
|
_g = _f[_h];
|
|
8084
|
-
if (!(_g in _d)) return [3 /*break*/,
|
|
8420
|
+
if (!(_g in _d)) return [3 /*break*/, 59];
|
|
8085
8421
|
t = _g;
|
|
8086
|
-
_l.label =
|
|
8087
|
-
case
|
|
8088
|
-
_l.trys.push([
|
|
8422
|
+
_l.label = 56;
|
|
8423
|
+
case 56:
|
|
8424
|
+
_l.trys.push([56, 58, , 59]);
|
|
8089
8425
|
return [4 /*yield*/, tests[t]()];
|
|
8090
|
-
case
|
|
8426
|
+
case 57:
|
|
8091
8427
|
_l.sent();
|
|
8092
|
-
return [3 /*break*/,
|
|
8093
|
-
case
|
|
8428
|
+
return [3 /*break*/, 59];
|
|
8429
|
+
case 58:
|
|
8094
8430
|
err_2 = _l.sent();
|
|
8095
8431
|
console.error("Error running test:");
|
|
8096
8432
|
console.error(err_2);
|
|
8097
8433
|
process.exit(1);
|
|
8098
|
-
return [3 /*break*/,
|
|
8099
|
-
case
|
|
8434
|
+
return [3 /*break*/, 59];
|
|
8435
|
+
case 59:
|
|
8100
8436
|
_h++;
|
|
8101
|
-
return [3 /*break*/,
|
|
8102
|
-
case
|
|
8437
|
+
return [3 /*break*/, 55];
|
|
8438
|
+
case 60:
|
|
8103
8439
|
process.exit();
|
|
8104
8440
|
return [2 /*return*/];
|
|
8105
8441
|
}
|