@tellescope/sdk 0.0.14 → 0.0.18
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/enduser.d.ts +34 -5
- package/lib/cjs/enduser.d.ts.map +1 -1
- package/lib/cjs/enduser.js +5 -4
- package/lib/cjs/enduser.js.map +1 -1
- package/lib/cjs/sdk.d.ts +51 -16
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/sdk.js +10 -10
- package/lib/cjs/sdk.js.map +1 -1
- package/lib/cjs/session.d.ts +5 -21
- package/lib/cjs/session.d.ts.map +1 -1
- package/lib/cjs/session.js +12 -0
- package/lib/cjs/session.js.map +1 -1
- package/lib/cjs/tests/public_endpoint_tests.js +4 -4
- package/lib/cjs/tests/public_endpoint_tests.js.map +1 -1
- package/lib/cjs/tests/socket_tests.d.ts +1 -1
- package/lib/cjs/tests/socket_tests.d.ts.map +1 -1
- package/lib/cjs/tests/socket_tests.js +125 -8
- package/lib/cjs/tests/socket_tests.js.map +1 -1
- package/lib/cjs/tests/tests.js +207 -97
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/enduser.d.ts +34 -5
- package/lib/esm/enduser.d.ts.map +1 -1
- package/lib/esm/enduser.js +5 -4
- package/lib/esm/enduser.js.map +1 -1
- package/lib/esm/sdk.d.ts +51 -16
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/sdk.js +10 -10
- package/lib/esm/sdk.js.map +1 -1
- package/lib/esm/session.d.ts +5 -21
- package/lib/esm/session.d.ts.map +1 -1
- package/lib/esm/session.js +12 -0
- package/lib/esm/session.js.map +1 -1
- package/lib/esm/tests/public_endpoint_tests.js +4 -4
- package/lib/esm/tests/public_endpoint_tests.js.map +1 -1
- package/lib/esm/tests/socket_tests.d.ts +1 -1
- package/lib/esm/tests/socket_tests.d.ts.map +1 -1
- package/lib/esm/tests/socket_tests.js +123 -8
- package/lib/esm/tests/socket_tests.js.map +1 -1
- package/lib/esm/tests/tests.js +188 -97
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/enduser.ts +12 -8
- package/src/sdk.ts +31 -20
- package/src/session.ts +8 -18
- package/src/tests/public_endpoint_tests.ts +4 -4
- package/src/tests/socket_tests.ts +68 -5
- package/src/tests/tests.ts +116 -36
package/lib/esm/tests/tests.js
CHANGED
|
@@ -46,6 +46,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
require('source-map-support').install();
|
|
49
|
+
import * as buffer from "buffer"; // only node >=15.7.0
|
|
49
50
|
import { fieldsToValidation, mongoIdValidator, } from "@tellescope/validation";
|
|
50
51
|
import { Session, EnduserSession } from "../sdk";
|
|
51
52
|
import { DEFAULT_OPERATIONS, PLACEHOLDER_ID } from "@tellescope/constants";
|
|
@@ -70,7 +71,7 @@ var userId = '60398b0231a295e64f084fd9';
|
|
|
70
71
|
// // delete an individual record
|
|
71
72
|
// await sdk.api.endusers.deleteOne(enduser.id)
|
|
72
73
|
// }
|
|
73
|
-
var sdk = new Session();
|
|
74
|
+
var sdk = new Session({ host: host });
|
|
74
75
|
var sdkOther = new Session({ host: host, apiKey: "ba745e25162bb95a795c5fa1af70df188d93c4d3aac9c48b34a5c8c9dd7b80f7" });
|
|
75
76
|
var enduserSDK = new EnduserSession({ host: host });
|
|
76
77
|
// const sdkOtherEmail = "sebass@tellescope.com"
|
|
@@ -88,15 +89,11 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
88
89
|
case 0: return [4 /*yield*/, async_test('test_online', sdk.test_online, { expectedResult: 'API V1 Online' })];
|
|
89
90
|
case 1:
|
|
90
91
|
_a.sent();
|
|
91
|
-
return [4 /*yield*/, async_test('test_authenticated', sdk.test_authenticated, { expectedResult: 'Authenticated!' })
|
|
92
|
-
// console.log(await sdk.api.api_keys.createOne({}))
|
|
93
|
-
];
|
|
92
|
+
return [4 /*yield*/, async_test('test_authenticated', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
94
93
|
case 2:
|
|
95
94
|
_a.sent();
|
|
96
|
-
// console.log(await sdk.api.api_keys.createOne({}))
|
|
97
95
|
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!' })];
|
|
98
96
|
case 3:
|
|
99
|
-
// console.log(await sdk.api.api_keys.createOne({}))
|
|
100
97
|
_a.sent();
|
|
101
98
|
return [4 /*yield*/, sdk.logout()];
|
|
102
99
|
case 4:
|
|
@@ -104,7 +101,7 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
104
101
|
return [4 /*yield*/, async_test('test_authenticated - (logout invalidates jwt)', sdk.test_authenticated, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
|
|
105
102
|
case 5:
|
|
106
103
|
_a.sent();
|
|
107
|
-
return [4 /*yield*/, sdk.authenticate(email, password
|
|
104
|
+
return [4 /*yield*/, sdk.authenticate(email, password)];
|
|
108
105
|
case 6:
|
|
109
106
|
_a.sent();
|
|
110
107
|
return [4 /*yield*/, async_test('test_authenticated (re-authenticated)', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
@@ -233,11 +230,26 @@ var threadKeyTests = function () { return __awaiter(void 0, void 0, void 0, func
|
|
|
233
230
|
}
|
|
234
231
|
});
|
|
235
232
|
}); };
|
|
233
|
+
var badInputTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
234
|
+
return __generator(this, function (_a) {
|
|
235
|
+
switch (_a.label) {
|
|
236
|
+
case 0:
|
|
237
|
+
log_header("Bad Input Tests");
|
|
238
|
+
return [4 /*yield*/, async_test("_-prefixed fields are not allowed", function () { return sdk.api.endusers.createOne({ email: 'failure@tellescope.com', fields: { "_notallowed": 'hello' } }); }, { shouldError: true, onError: function (e) { return e.message === "Error parsing field fields: Fields that start with '_' are not allowed"; } })];
|
|
239
|
+
case 1:
|
|
240
|
+
_a.sent();
|
|
241
|
+
return [4 /*yield*/, async_test("_-prefixed fields are not allowed", function () { return sdk.api.notes.createOne({ enduserId: PLACEHOLDER_ID, fields: { "_notallowed": 'hello' } }); }, { shouldError: true, onError: function (e) { return e.message === "Error parsing field fields: Fields that start with '_' are not allowed"; } })];
|
|
242
|
+
case 2:
|
|
243
|
+
_a.sent();
|
|
244
|
+
return [2 /*return*/];
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
}); };
|
|
236
248
|
var filterTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
237
249
|
var enduser, otherEnduser;
|
|
238
250
|
return __generator(this, function (_a) {
|
|
239
251
|
switch (_a.label) {
|
|
240
|
-
case 0: return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'filtertests@tellescope.com', fname: 'test' })];
|
|
252
|
+
case 0: return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'filtertests@tellescope.com', fname: 'test', fields: { field1: 'value1', field2: 'value2' } })];
|
|
241
253
|
case 1:
|
|
242
254
|
enduser = _a.sent();
|
|
243
255
|
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'other@tellescope.com' })];
|
|
@@ -246,20 +258,46 @@ var filterTests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
246
258
|
return [4 /*yield*/, async_test("find enduser by filter", function () { return sdk.api.endusers.getSome({ filter: { email: 'filtertests@tellescope.com' } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
|
|
247
259
|
case 3:
|
|
248
260
|
_a.sent();
|
|
249
|
-
return [4 /*yield*/, async_test("find enduser by
|
|
261
|
+
return [4 /*yield*/, async_test("find enduser by _exists filter", function () { return sdk.api.endusers.getSome({ filter: { fname: { _exists: true } } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
|
|
250
262
|
case 4:
|
|
251
263
|
_a.sent();
|
|
252
|
-
return [4 /*yield*/, async_test("
|
|
264
|
+
return [4 /*yield*/, async_test("find enduser by _exists filter (findOne)",
|
|
265
|
+
// () => sdk.api.endusers.getOne({ fname: { _exists: true } }),
|
|
266
|
+
function () { return sdk.api.endusers.getOne({ fname: { _exists: true } }); }, { onResult: function (e) { return e.id === enduser.id; } })];
|
|
253
267
|
case 5:
|
|
254
268
|
_a.sent();
|
|
255
|
-
return [4 /*yield*/, async_test("
|
|
269
|
+
return [4 /*yield*/, async_test("find enduser by compound filter", function () { return sdk.api.endusers.getSome({ filter: { email: 'filtertests@tellescope.com', fname: 'test' } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
|
|
256
270
|
case 6:
|
|
257
271
|
_a.sent();
|
|
258
|
-
return [4 /*yield*/, sdk.api.endusers.
|
|
272
|
+
return [4 /*yield*/, async_test("nothing found by invalid compound filter", function () { return sdk.api.endusers.getSome({ filter: { email: 'filtertests@tellescope.com', fname: 'nottest' } }); }, { onResult: function (es) { return es.length === 0; } })];
|
|
259
273
|
case 7:
|
|
260
274
|
_a.sent();
|
|
261
|
-
return [4 /*yield*/, sdk.api.endusers.
|
|
275
|
+
return [4 /*yield*/, async_test("nothing found for invalid filter", function () { return sdk.api.endusers.getSome({ filter: { email: 'doesnotexist@tellescope.com' } }); }, { onResult: function (es) { return es.length === 0; } })];
|
|
262
276
|
case 8:
|
|
277
|
+
_a.sent();
|
|
278
|
+
return [4 /*yield*/, async_test("find enduser by nested filter", function () { return sdk.api.endusers.getSome({ filter: { fields: { field1: 'value1' } } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
|
|
279
|
+
case 9:
|
|
280
|
+
_a.sent();
|
|
281
|
+
return [4 /*yield*/, async_test("nothing found by invalid nested filter", function () { return sdk.api.endusers.getSome({ filter: { fields: { field1: 'not a nested field value' } } }); }, { onResult: function (es) { return es.length === 0; } })];
|
|
282
|
+
case 10:
|
|
283
|
+
_a.sent();
|
|
284
|
+
return [4 /*yield*/, async_test("find enduser by compound nested filter", function () { return sdk.api.endusers.getSome({ filter: { fields: { field1: 'value1', field2: 'value2' } } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
|
|
285
|
+
case 11:
|
|
286
|
+
_a.sent();
|
|
287
|
+
return [4 /*yield*/, async_test("nothing found by compound invalid nested filter", function () { return sdk.api.endusers.getSome({ filter: { fields: { field1: 'not a nested field value', field2: 'value2' } } }); }, { onResult: function (es) { return es.length === 0; } })];
|
|
288
|
+
case 12:
|
|
289
|
+
_a.sent();
|
|
290
|
+
return [4 /*yield*/, async_test("find enduser by compound nested filter with non-nested field as well", function () { return sdk.api.endusers.getSome({ filter: { email: 'filtertests@tellescope.com', fields: { field1: 'value1', field2: 'value2' } } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
|
|
291
|
+
case 13:
|
|
292
|
+
_a.sent();
|
|
293
|
+
return [4 /*yield*/, async_test("nothing found for compound nested filter with non-nested field as well", function () { return sdk.api.endusers.getSome({ filter: { email: 'doesnotexist@tellescope.com', fields: { field1: 'value1', field2: 'value2' } } }); }, { onResult: function (es) { return es.length === 0; } })];
|
|
294
|
+
case 14:
|
|
295
|
+
_a.sent();
|
|
296
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
297
|
+
case 15:
|
|
298
|
+
_a.sent();
|
|
299
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(otherEnduser.id)];
|
|
300
|
+
case 16:
|
|
263
301
|
_a.sent();
|
|
264
302
|
return [2 /*return*/];
|
|
265
303
|
}
|
|
@@ -297,24 +335,40 @@ var updatesTests = function () { return __awaiter(void 0, void 0, void 0, functi
|
|
|
297
335
|
});
|
|
298
336
|
}); };
|
|
299
337
|
var generateEnduserAuthTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
300
|
-
var
|
|
301
|
-
return __generator(this, function (
|
|
302
|
-
switch (
|
|
338
|
+
var e, _a, authToken, enduser, isAuthenticated;
|
|
339
|
+
return __generator(this, function (_b) {
|
|
340
|
+
switch (_b.label) {
|
|
303
341
|
case 0:
|
|
304
342
|
log_header("Generated Enduser authToken Tests");
|
|
305
|
-
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'generated@tellescope.com' })];
|
|
343
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'generated@tellescope.com', phone: '+15555555555', externalId: '1029f9v9sjd0as' })];
|
|
306
344
|
case 1:
|
|
307
|
-
|
|
308
|
-
return [4 /*yield*/, sdk.api.endusers.
|
|
345
|
+
e = _b.sent();
|
|
346
|
+
return [4 /*yield*/, sdk.api.endusers.generate_auth_token({ id: e.id })];
|
|
309
347
|
case 2:
|
|
310
|
-
|
|
311
|
-
|
|
348
|
+
_a = _b.sent(), authToken = _a.authToken, enduser = _a.enduser;
|
|
349
|
+
assert(!!authToken && !!enduser, 'invalid returned values', 'Generate authToken and get enduser');
|
|
350
|
+
return [4 /*yield*/, sdk.api.endusers.is_authenticated({ id: enduser.id, authToken: authToken })];
|
|
312
351
|
case 3:
|
|
313
|
-
isAuthenticated = (
|
|
352
|
+
isAuthenticated = (_b.sent()).isAuthenticated;
|
|
314
353
|
assert(isAuthenticated, 'invalid authToken generated for enduser', 'Generate authToken for enduser is valid');
|
|
315
|
-
return [4 /*yield*/, sdk.api.endusers.
|
|
354
|
+
return [4 /*yield*/, async_test("auth by externalId", function () { return sdk.api.endusers.generate_auth_token({ externalId: e.externalId }); }, passOnVoid)];
|
|
316
355
|
case 4:
|
|
317
|
-
|
|
356
|
+
_b.sent();
|
|
357
|
+
return [4 /*yield*/, async_test("auth by email", function () { return sdk.api.endusers.generate_auth_token({ email: e.email }); }, passOnVoid)];
|
|
358
|
+
case 5:
|
|
359
|
+
_b.sent();
|
|
360
|
+
return [4 /*yield*/, async_test("auth by phone", function () { return sdk.api.endusers.generate_auth_token({ phone: e.phone }); }, passOnVoid)];
|
|
361
|
+
case 6:
|
|
362
|
+
_b.sent();
|
|
363
|
+
return [4 /*yield*/, async_test("auth by nothing throws error", function () { return sdk.api.endusers.generate_auth_token({ phone: undefined }); }, { shouldError: true, onError: function (e) { return e.message === "One of id, externalId, email, or phone is required"; } })];
|
|
364
|
+
case 7:
|
|
365
|
+
_b.sent();
|
|
366
|
+
return [4 /*yield*/, async_test("auth by bad field throws error", function () { return sdk.api.endusers.generate_auth_token({ email: "notavalidemail@tellescope.com" }); }, { shouldError: true, onError: function (e) { return e.message === "Could not find a corresponding enduser"; } })];
|
|
367
|
+
case 8:
|
|
368
|
+
_b.sent();
|
|
369
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
370
|
+
case 9:
|
|
371
|
+
_b.sent();
|
|
318
372
|
return [2 /*return*/];
|
|
319
373
|
}
|
|
320
374
|
});
|
|
@@ -437,7 +491,7 @@ var run_generated_tests = function (_a) {
|
|
|
437
491
|
case 7:
|
|
438
492
|
_c.sent();
|
|
439
493
|
_c.label = 8;
|
|
440
|
-
case 8: return [4 /*yield*/, async_test("get-".concat(singularName), function () { return queries.getOne(_id
|
|
494
|
+
case 8: return [4 /*yield*/, async_test("get-".concat(singularName), function () { return queries.getOne(_id); }, { onResult: function (d) {
|
|
441
495
|
if (!(d === null || d === void 0 ? void 0 : d.id))
|
|
442
496
|
return false;
|
|
443
497
|
for (var k in instance) {
|
|
@@ -466,7 +520,7 @@ var run_generated_tests = function (_a) {
|
|
|
466
520
|
return [4 /*yield*/, async_test("delete-".concat(singularName), function () { return queries.deleteOne(_id); }, passOnVoid)];
|
|
467
521
|
case 11:
|
|
468
522
|
_c.sent();
|
|
469
|
-
return [4 /*yield*/, async_test("get-".concat(singularName, " (verify delete)"), function () { return queries.getOne(_id
|
|
523
|
+
return [4 /*yield*/, async_test("get-".concat(singularName, " (verify delete)"), function () { return queries.getOne(_id); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
|
|
470
524
|
case 12:
|
|
471
525
|
_c.sent();
|
|
472
526
|
return [2 /*return*/];
|
|
@@ -661,7 +715,7 @@ var journey_tests = function (queries) {
|
|
|
661
715
|
return [4 /*yield*/, async_test("journey-update - insert new state at front", function () { return queries.getOne(journey.id); }, { onResult: function (j) { return objects_equivalent(j.states, [{ name: 'First', priority: "N/A" }, { name: 'Added', priority: "N/A" }]); } })];
|
|
662
716
|
case 24:
|
|
663
717
|
_g.sent();
|
|
664
|
-
return [4 /*yield*/, async_test("journey-updateState", function () { return queries.
|
|
718
|
+
return [4 /*yield*/, async_test("journey-updateState", function () { return queries.update_state({ id: journey.id, name: 'Added', updates: { name: 'Updated', priority: 'N/A' } }); }, passOnVoid)];
|
|
665
719
|
case 25:
|
|
666
720
|
_g.sent();
|
|
667
721
|
return [4 /*yield*/, wait(undefined, 25)]; // wait for side effects to update endusers
|
|
@@ -891,23 +945,30 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
891
945
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: "Hello!" })];
|
|
892
946
|
case 3:
|
|
893
947
|
chat = _a.sent();
|
|
894
|
-
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: "Hello..." })
|
|
948
|
+
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: "Hello..." })
|
|
949
|
+
// await async_test(
|
|
950
|
+
// `get-chat (without filter)`,
|
|
951
|
+
// () => sdk.api.chats.getOne(chat.id),
|
|
952
|
+
// { shouldError: true, onError: () => true }
|
|
953
|
+
// )
|
|
954
|
+
];
|
|
895
955
|
case 4:
|
|
896
956
|
chat2 = _a.sent();
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
957
|
+
// await async_test(
|
|
958
|
+
// `get-chat (without filter)`,
|
|
959
|
+
// () => sdk.api.chats.getOne(chat.id),
|
|
960
|
+
// { shouldError: true, onError: () => true }
|
|
961
|
+
// )
|
|
900
962
|
return [4 /*yield*/, async_test("get-chats (without filter)", function () { return sdk.api.chats.getSome({}); }, { shouldError: true, onError: function () { return true; } })];
|
|
901
|
-
case
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
963
|
+
case 5:
|
|
964
|
+
// await async_test(
|
|
965
|
+
// `get-chat (without filter)`,
|
|
966
|
+
// () => sdk.api.chats.getOne(chat.id),
|
|
967
|
+
// { shouldError: true, onError: () => true }
|
|
968
|
+
// )
|
|
905
969
|
_a.sent();
|
|
906
970
|
return [4 /*yield*/, async_test("get-chats (with filter)", function () { return sdk.api.chats.getSome({ filter: { roomId: room.id } }); }, { onResult: function (c) { return (c === null || c === void 0 ? void 0 : c.length) === 2; } })];
|
|
907
|
-
case
|
|
908
|
-
_a.sent();
|
|
909
|
-
return [4 /*yield*/, async_test("get-chat not allowed", function () { return sdk2.api.chats.getOne(chat.id, { roomId: room.id }); }, { shouldError: true, onError: function (e) { return e.message === 'You do not have permission to access this resource'; } })];
|
|
910
|
-
case 9:
|
|
971
|
+
case 6:
|
|
911
972
|
_a.sent();
|
|
912
973
|
return [4 /*yield*/, async_test("get-chats not allowed", function () { return sdk2.api.chats.getSome({ filter: { roomId: room.id } }); }, { shouldError: true, onError: function (e) { return e.message === 'You do not have permission to access this resource'; } })
|
|
913
974
|
// currently disabled endpoint altogether
|
|
@@ -917,7 +978,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
917
978
|
// { shouldError: true, onError: e => e.message === 'You do not have permission to access this resource' }
|
|
918
979
|
// )
|
|
919
980
|
];
|
|
920
|
-
case
|
|
981
|
+
case 7:
|
|
921
982
|
_a.sent();
|
|
922
983
|
// currently disabled endpoint altogether
|
|
923
984
|
// await async_test(
|
|
@@ -933,7 +994,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
933
994
|
// { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
|
|
934
995
|
// )
|
|
935
996
|
];
|
|
936
|
-
case
|
|
997
|
+
case 8:
|
|
937
998
|
// currently disabled endpoint altogether
|
|
938
999
|
// await async_test(
|
|
939
1000
|
// `update-chat not allowed`,
|
|
@@ -948,7 +1009,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
948
1009
|
// { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
|
|
949
1010
|
// )
|
|
950
1011
|
return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(room.id)];
|
|
951
|
-
case
|
|
1012
|
+
case 9:
|
|
952
1013
|
// currently disabled endpoint altogether
|
|
953
1014
|
// await async_test(
|
|
954
1015
|
// `update-chat can't update roomId`,
|
|
@@ -957,51 +1018,51 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
957
1018
|
// )
|
|
958
1019
|
_a.sent();
|
|
959
1020
|
return [4 /*yield*/, wait(undefined, 25)];
|
|
960
|
-
case
|
|
1021
|
+
case 10:
|
|
961
1022
|
_a.sent();
|
|
962
|
-
return [4 /*yield*/, async_test("get-chat (deleted as dependency of room 1)", function () { return sdk.api.chats.getOne(chat.id
|
|
963
|
-
case
|
|
1023
|
+
return [4 /*yield*/, async_test("get-chat (deleted as dependency of room 1)", function () { return sdk.api.chats.getOne(chat.id); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
|
|
1024
|
+
case 11:
|
|
964
1025
|
_a.sent();
|
|
965
|
-
return [4 /*yield*/, async_test("get-chat (deleted as dependency of room 2)", function () { return sdk.api.chats.getOne(chat2.id
|
|
966
|
-
case
|
|
1026
|
+
return [4 /*yield*/, async_test("get-chat (deleted as dependency of room 2)", function () { return sdk.api.chats.getOne(chat2.id); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
|
|
1027
|
+
case 12:
|
|
967
1028
|
_a.sent();
|
|
968
1029
|
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId, sdk2.userInfo.id] })];
|
|
969
|
-
case
|
|
1030
|
+
case 13:
|
|
970
1031
|
sharedRoom = _a.sent();
|
|
971
1032
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello!", })];
|
|
972
|
-
case
|
|
1033
|
+
case 14:
|
|
973
1034
|
sharedChat = _a.sent();
|
|
974
1035
|
return [4 /*yield*/, sdk2.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello there!", })];
|
|
975
|
-
case
|
|
1036
|
+
case 15:
|
|
976
1037
|
sharedChat2 = _a.sent();
|
|
977
|
-
return [4 /*yield*/, async_test("get-chat (shared, user1)", function () { return sdk.api.chats.getOne(sharedChat.id
|
|
978
|
-
case
|
|
1038
|
+
return [4 /*yield*/, async_test("get-chat (shared, user1)", function () { return sdk.api.chats.getOne(sharedChat.id); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
|
|
1039
|
+
case 16:
|
|
979
1040
|
_a.sent();
|
|
980
|
-
return [4 /*yield*/, async_test("get-chat (shared, user2)", function () { return sdk2.api.chats.getOne(sharedChat.id
|
|
981
|
-
case
|
|
1041
|
+
return [4 /*yield*/, async_test("get-chat (shared, user2)", function () { return sdk2.api.chats.getOne(sharedChat.id); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
|
|
1042
|
+
case 17:
|
|
982
1043
|
_a.sent();
|
|
983
1044
|
return [4 /*yield*/, async_test("get-chats (shared, user1)", function () { return sdk.api.chats.getSome({ filter: { roomId: sharedRoom.id } }); }, { onResult: function (cs) { return cs.length === 2 && !!cs.find(function (c) { return c.id === sharedChat.id; }) && !!cs.find(function (c) { return c.id === sharedChat2.id; }); } })];
|
|
984
|
-
case
|
|
1045
|
+
case 18:
|
|
985
1046
|
_a.sent();
|
|
986
1047
|
return [4 /*yield*/, async_test("get-chats (shared, user2)", function () { return sdk2.api.chats.getSome({ filter: { roomId: sharedRoom.id } }); }, { onResult: function (cs) { return cs.length === 2 && !!cs.find(function (c) { return c.id === sharedChat.id; }) && !!cs.find(function (c) { return c.id === sharedChat2.id; }); } })
|
|
987
1048
|
// test setNull dependency
|
|
988
1049
|
];
|
|
989
|
-
case
|
|
1050
|
+
case 19:
|
|
990
1051
|
_a.sent();
|
|
991
1052
|
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId] })];
|
|
992
|
-
case
|
|
1053
|
+
case 20:
|
|
993
1054
|
roomNull = _a.sent();
|
|
994
1055
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello!" })];
|
|
995
|
-
case
|
|
1056
|
+
case 21:
|
|
996
1057
|
chatNull = _a.sent();
|
|
997
1058
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello...", replyId: chatNull.id })];
|
|
998
|
-
case
|
|
1059
|
+
case 22:
|
|
999
1060
|
chat2Null = _a.sent();
|
|
1000
1061
|
return [4 /*yield*/, sdk.api.chats.deleteOne(chatNull.id)];
|
|
1001
|
-
case
|
|
1062
|
+
case 23:
|
|
1002
1063
|
_a.sent();
|
|
1003
|
-
return [4 /*yield*/, async_test("get-chat (setNull working)", function () { return sdk.api.chats.getOne(chat2Null.id
|
|
1004
|
-
case
|
|
1064
|
+
return [4 /*yield*/, async_test("get-chat (setNull working)", function () { return sdk.api.chats.getOne(chat2Null.id); }, { onResult: function (c) { return c.replyId === null; } })];
|
|
1065
|
+
case 24:
|
|
1005
1066
|
_a.sent();
|
|
1006
1067
|
return [2 /*return*/];
|
|
1007
1068
|
}
|
|
@@ -1018,7 +1079,7 @@ var enduserAccessTests = function () { return __awaiter(void 0, void 0, void 0,
|
|
|
1018
1079
|
return [4 /*yield*/, sdk.api.endusers.createOne({ email: email })];
|
|
1019
1080
|
case 1:
|
|
1020
1081
|
enduser = _j.sent();
|
|
1021
|
-
return [4 /*yield*/, sdk.api.endusers.
|
|
1082
|
+
return [4 /*yield*/, sdk.api.endusers.set_password({ id: enduser.id, password: password }).catch(console.error)];
|
|
1022
1083
|
case 2:
|
|
1023
1084
|
_j.sent();
|
|
1024
1085
|
return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
|
|
@@ -1116,6 +1177,31 @@ var enduserAccessTests = function () { return __awaiter(void 0, void 0, void 0,
|
|
|
1116
1177
|
}
|
|
1117
1178
|
});
|
|
1118
1179
|
}); };
|
|
1180
|
+
var files_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1181
|
+
var buff, _a, presignedUpload, file, downloadURL, downloaded;
|
|
1182
|
+
return __generator(this, function (_b) {
|
|
1183
|
+
switch (_b.label) {
|
|
1184
|
+
case 0:
|
|
1185
|
+
buff = buffer.Buffer.from('test file data');
|
|
1186
|
+
return [4 /*yield*/, sdk.api.files.prepare_file_upload({
|
|
1187
|
+
name: 'Test File', size: buff.byteLength, type: 'text/plain'
|
|
1188
|
+
})];
|
|
1189
|
+
case 1:
|
|
1190
|
+
_a = _b.sent(), presignedUpload = _a.presignedUpload, file = _a.file;
|
|
1191
|
+
return [4 /*yield*/, sdk.UPLOAD(presignedUpload, undefined, buff)];
|
|
1192
|
+
case 2:
|
|
1193
|
+
_b.sent();
|
|
1194
|
+
return [4 /*yield*/, sdk.api.files.file_download_URL({ secureName: file.secureName })];
|
|
1195
|
+
case 3:
|
|
1196
|
+
downloadURL = (_b.sent()).downloadURL;
|
|
1197
|
+
return [4 /*yield*/, sdk.DOWNLOAD(downloadURL)];
|
|
1198
|
+
case 4:
|
|
1199
|
+
downloaded = _b.sent();
|
|
1200
|
+
assert(downloaded === buff.toString(), 'downloaded file does not match uploaded file', 'upload, download comparison');
|
|
1201
|
+
return [2 /*return*/];
|
|
1202
|
+
}
|
|
1203
|
+
});
|
|
1204
|
+
}); };
|
|
1119
1205
|
var tests = {
|
|
1120
1206
|
chats: chat_tests,
|
|
1121
1207
|
endusers: enduser_tests,
|
|
@@ -1128,58 +1214,63 @@ var tests = {
|
|
|
1128
1214
|
chat_rooms: chat_room_tests,
|
|
1129
1215
|
users: function () { },
|
|
1130
1216
|
templates: function () { },
|
|
1131
|
-
files:
|
|
1217
|
+
files: files_tests,
|
|
1132
1218
|
tickets: function () { },
|
|
1133
1219
|
meetings: function () { },
|
|
1220
|
+
notes: function () { },
|
|
1134
1221
|
};
|
|
1135
1222
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1136
1223
|
var err_1, n, _a, _b, _i, returnValidation, t, _c, _d, _e, err_2;
|
|
1137
1224
|
var _f, _g;
|
|
1138
1225
|
return __generator(this, function (_h) {
|
|
1139
1226
|
switch (_h.label) {
|
|
1140
|
-
case 0:
|
|
1141
|
-
case 1:
|
|
1142
|
-
_h.sent();
|
|
1227
|
+
case 0:
|
|
1143
1228
|
log_header("API");
|
|
1144
|
-
_h.label =
|
|
1229
|
+
_h.label = 1;
|
|
1230
|
+
case 1:
|
|
1231
|
+
_h.trys.push([1, 11, , 12]);
|
|
1232
|
+
return [4 /*yield*/, sdk.authenticate(email, password)];
|
|
1145
1233
|
case 2:
|
|
1146
|
-
_h.
|
|
1234
|
+
_h.sent();
|
|
1147
1235
|
return [4 /*yield*/, setup_tests()];
|
|
1148
1236
|
case 3:
|
|
1149
1237
|
_h.sent();
|
|
1150
1238
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
1151
1239
|
case 4:
|
|
1152
1240
|
_h.sent(); // should come right after setup tests
|
|
1153
|
-
return [4 /*yield*/,
|
|
1241
|
+
return [4 /*yield*/, badInputTests()];
|
|
1154
1242
|
case 5:
|
|
1155
1243
|
_h.sent();
|
|
1156
|
-
return [4 /*yield*/,
|
|
1244
|
+
return [4 /*yield*/, filterTests()];
|
|
1157
1245
|
case 6:
|
|
1158
1246
|
_h.sent();
|
|
1159
|
-
return [4 /*yield*/,
|
|
1247
|
+
return [4 /*yield*/, updatesTests()];
|
|
1160
1248
|
case 7:
|
|
1161
1249
|
_h.sent();
|
|
1162
|
-
return [4 /*yield*/,
|
|
1250
|
+
return [4 /*yield*/, threadKeyTests()];
|
|
1163
1251
|
case 8:
|
|
1164
1252
|
_h.sent();
|
|
1165
|
-
return [4 /*yield*/,
|
|
1253
|
+
return [4 /*yield*/, enduserAccessTests()];
|
|
1166
1254
|
case 9:
|
|
1167
1255
|
_h.sent();
|
|
1168
|
-
return [
|
|
1256
|
+
return [4 /*yield*/, generateEnduserAuthTests()];
|
|
1169
1257
|
case 10:
|
|
1258
|
+
_h.sent();
|
|
1259
|
+
return [3 /*break*/, 12];
|
|
1260
|
+
case 11:
|
|
1170
1261
|
err_1 = _h.sent();
|
|
1171
1262
|
console.error("Failed during custom test");
|
|
1172
1263
|
console.error(err_1);
|
|
1173
1264
|
process.exit();
|
|
1174
|
-
return [3 /*break*/,
|
|
1175
|
-
case
|
|
1265
|
+
return [3 /*break*/, 12];
|
|
1266
|
+
case 12:
|
|
1176
1267
|
_a = [];
|
|
1177
1268
|
for (_b in schema)
|
|
1178
1269
|
_a.push(_b);
|
|
1179
1270
|
_i = 0;
|
|
1180
|
-
_h.label =
|
|
1181
|
-
case
|
|
1182
|
-
if (!(_i < _a.length)) return [3 /*break*/,
|
|
1271
|
+
_h.label = 13;
|
|
1272
|
+
case 13:
|
|
1273
|
+
if (!(_i < _a.length)) return [3 /*break*/, 16];
|
|
1183
1274
|
n = _a[_i];
|
|
1184
1275
|
returnValidation = (_g = (_f = schema[n].customActions) === null || _f === void 0 ? void 0 : _f.create) === null || _g === void 0 ? void 0 : _g.returns;
|
|
1185
1276
|
return [4 /*yield*/, run_generated_tests({
|
|
@@ -1190,37 +1281,37 @@ var tests = {
|
|
|
1190
1281
|
create: returnValidation,
|
|
1191
1282
|
}
|
|
1192
1283
|
})];
|
|
1193
|
-
case 13:
|
|
1194
|
-
_h.sent();
|
|
1195
|
-
_h.label = 14;
|
|
1196
1284
|
case 14:
|
|
1197
|
-
|
|
1198
|
-
|
|
1285
|
+
_h.sent();
|
|
1286
|
+
_h.label = 15;
|
|
1199
1287
|
case 15:
|
|
1288
|
+
_i++;
|
|
1289
|
+
return [3 /*break*/, 13];
|
|
1290
|
+
case 16:
|
|
1200
1291
|
_c = [];
|
|
1201
1292
|
for (_d in tests)
|
|
1202
1293
|
_c.push(_d);
|
|
1203
1294
|
_e = 0;
|
|
1204
|
-
_h.label = 16;
|
|
1205
|
-
case 16:
|
|
1206
|
-
if (!(_e < _c.length)) return [3 /*break*/, 21];
|
|
1207
|
-
t = _c[_e];
|
|
1208
1295
|
_h.label = 17;
|
|
1209
1296
|
case 17:
|
|
1210
|
-
|
|
1211
|
-
|
|
1297
|
+
if (!(_e < _c.length)) return [3 /*break*/, 22];
|
|
1298
|
+
t = _c[_e];
|
|
1299
|
+
_h.label = 18;
|
|
1212
1300
|
case 18:
|
|
1213
|
-
_h.
|
|
1214
|
-
return [
|
|
1301
|
+
_h.trys.push([18, 20, , 21]);
|
|
1302
|
+
return [4 /*yield*/, tests[t]()];
|
|
1215
1303
|
case 19:
|
|
1304
|
+
_h.sent();
|
|
1305
|
+
return [3 /*break*/, 21];
|
|
1306
|
+
case 20:
|
|
1216
1307
|
err_2 = _h.sent();
|
|
1217
1308
|
console.error("Error running test:");
|
|
1218
1309
|
console.error(err_2);
|
|
1219
|
-
return [3 /*break*/,
|
|
1220
|
-
case 20:
|
|
1221
|
-
_e++;
|
|
1222
|
-
return [3 /*break*/, 16];
|
|
1310
|
+
return [3 /*break*/, 21];
|
|
1223
1311
|
case 21:
|
|
1312
|
+
_e++;
|
|
1313
|
+
return [3 /*break*/, 17];
|
|
1314
|
+
case 22:
|
|
1224
1315
|
process.exit();
|
|
1225
1316
|
return [2 /*return*/];
|
|
1226
1317
|
}
|