@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/cjs/tests/tests.js
CHANGED
|
@@ -10,6 +10,25 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
+
__setModuleDefault(result, mod);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
13
32
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
33
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
34
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -48,6 +67,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
48
67
|
};
|
|
49
68
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
69
|
require('source-map-support').install();
|
|
70
|
+
var buffer = __importStar(require("buffer")); // only node >=15.7.0
|
|
51
71
|
var validation_1 = require("@tellescope/validation");
|
|
52
72
|
var sdk_1 = require("../sdk");
|
|
53
73
|
var constants_1 = require("@tellescope/constants");
|
|
@@ -72,7 +92,7 @@ var userId = '60398b0231a295e64f084fd9';
|
|
|
72
92
|
// // delete an individual record
|
|
73
93
|
// await sdk.api.endusers.deleteOne(enduser.id)
|
|
74
94
|
// }
|
|
75
|
-
var sdk = new sdk_1.Session();
|
|
95
|
+
var sdk = new sdk_1.Session({ host: host });
|
|
76
96
|
var sdkOther = new sdk_1.Session({ host: host, apiKey: "ba745e25162bb95a795c5fa1af70df188d93c4d3aac9c48b34a5c8c9dd7b80f7" });
|
|
77
97
|
var enduserSDK = new sdk_1.EnduserSession({ host: host });
|
|
78
98
|
// const sdkOtherEmail = "sebass@tellescope.com"
|
|
@@ -90,15 +110,11 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
90
110
|
case 0: return [4 /*yield*/, (0, testing_1.async_test)('test_online', sdk.test_online, { expectedResult: 'API V1 Online' })];
|
|
91
111
|
case 1:
|
|
92
112
|
_a.sent();
|
|
93
|
-
return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated', sdk.test_authenticated, { expectedResult: 'Authenticated!' })
|
|
94
|
-
// console.log(await sdk.api.api_keys.createOne({}))
|
|
95
|
-
];
|
|
113
|
+
return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
96
114
|
case 2:
|
|
97
115
|
_a.sent();
|
|
98
|
-
// console.log(await sdk.api.api_keys.createOne({}))
|
|
99
116
|
return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated (with API Key)', (new sdk_1.Session({ host: host, apiKey: '3n5q0SCBT_iUvZz-b9BJtX7o7HQUVJ9v132PgHJNJsg.' /* local test key */ })).test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
100
117
|
case 3:
|
|
101
|
-
// console.log(await sdk.api.api_keys.createOne({}))
|
|
102
118
|
_a.sent();
|
|
103
119
|
return [4 /*yield*/, sdk.logout()];
|
|
104
120
|
case 4:
|
|
@@ -106,7 +122,7 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
106
122
|
return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated - (logout invalidates jwt)', sdk.test_authenticated, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
|
|
107
123
|
case 5:
|
|
108
124
|
_a.sent();
|
|
109
|
-
return [4 /*yield*/, sdk.authenticate(email, password
|
|
125
|
+
return [4 /*yield*/, sdk.authenticate(email, password)];
|
|
110
126
|
case 6:
|
|
111
127
|
_a.sent();
|
|
112
128
|
return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated (re-authenticated)', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
|
|
@@ -235,11 +251,26 @@ var threadKeyTests = function () { return __awaiter(void 0, void 0, void 0, func
|
|
|
235
251
|
}
|
|
236
252
|
});
|
|
237
253
|
}); };
|
|
254
|
+
var badInputTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
255
|
+
return __generator(this, function (_a) {
|
|
256
|
+
switch (_a.label) {
|
|
257
|
+
case 0:
|
|
258
|
+
(0, testing_1.log_header)("Bad Input Tests");
|
|
259
|
+
return [4 /*yield*/, (0, testing_1.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"; } })];
|
|
260
|
+
case 1:
|
|
261
|
+
_a.sent();
|
|
262
|
+
return [4 /*yield*/, (0, testing_1.async_test)("_-prefixed fields are not allowed", function () { return sdk.api.notes.createOne({ enduserId: constants_1.PLACEHOLDER_ID, fields: { "_notallowed": 'hello' } }); }, { shouldError: true, onError: function (e) { return e.message === "Error parsing field fields: Fields that start with '_' are not allowed"; } })];
|
|
263
|
+
case 2:
|
|
264
|
+
_a.sent();
|
|
265
|
+
return [2 /*return*/];
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
}); };
|
|
238
269
|
var filterTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
239
270
|
var enduser, otherEnduser;
|
|
240
271
|
return __generator(this, function (_a) {
|
|
241
272
|
switch (_a.label) {
|
|
242
|
-
case 0: return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'filtertests@tellescope.com', fname: 'test' })];
|
|
273
|
+
case 0: return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'filtertests@tellescope.com', fname: 'test', fields: { field1: 'value1', field2: 'value2' } })];
|
|
243
274
|
case 1:
|
|
244
275
|
enduser = _a.sent();
|
|
245
276
|
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'other@tellescope.com' })];
|
|
@@ -248,20 +279,46 @@ var filterTests = function () { return __awaiter(void 0, void 0, void 0, functio
|
|
|
248
279
|
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
249
280
|
case 3:
|
|
250
281
|
_a.sent();
|
|
251
|
-
return [4 /*yield*/, (0, testing_1.async_test)("find enduser by
|
|
282
|
+
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
252
283
|
case 4:
|
|
253
284
|
_a.sent();
|
|
254
|
-
return [4 /*yield*/, (0, testing_1.async_test)("
|
|
285
|
+
return [4 /*yield*/, (0, testing_1.async_test)("find enduser by _exists filter (findOne)",
|
|
286
|
+
// () => sdk.api.endusers.getOne({ fname: { _exists: true } }),
|
|
287
|
+
function () { return sdk.api.endusers.getOne({ fname: { _exists: true } }); }, { onResult: function (e) { return e.id === enduser.id; } })];
|
|
255
288
|
case 5:
|
|
256
289
|
_a.sent();
|
|
257
|
-
return [4 /*yield*/, (0, testing_1.async_test)("
|
|
290
|
+
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
258
291
|
case 6:
|
|
259
292
|
_a.sent();
|
|
260
|
-
return [4 /*yield*/, sdk.api.endusers.
|
|
293
|
+
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
261
294
|
case 7:
|
|
262
295
|
_a.sent();
|
|
263
|
-
return [4 /*yield*/, sdk.api.endusers.
|
|
296
|
+
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
264
297
|
case 8:
|
|
298
|
+
_a.sent();
|
|
299
|
+
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
300
|
+
case 9:
|
|
301
|
+
_a.sent();
|
|
302
|
+
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
303
|
+
case 10:
|
|
304
|
+
_a.sent();
|
|
305
|
+
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
306
|
+
case 11:
|
|
307
|
+
_a.sent();
|
|
308
|
+
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
309
|
+
case 12:
|
|
310
|
+
_a.sent();
|
|
311
|
+
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
312
|
+
case 13:
|
|
313
|
+
_a.sent();
|
|
314
|
+
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
315
|
+
case 14:
|
|
316
|
+
_a.sent();
|
|
317
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
318
|
+
case 15:
|
|
319
|
+
_a.sent();
|
|
320
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(otherEnduser.id)];
|
|
321
|
+
case 16:
|
|
265
322
|
_a.sent();
|
|
266
323
|
return [2 /*return*/];
|
|
267
324
|
}
|
|
@@ -299,24 +356,40 @@ var updatesTests = function () { return __awaiter(void 0, void 0, void 0, functi
|
|
|
299
356
|
});
|
|
300
357
|
}); };
|
|
301
358
|
var generateEnduserAuthTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
302
|
-
var
|
|
303
|
-
return __generator(this, function (
|
|
304
|
-
switch (
|
|
359
|
+
var e, _a, authToken, enduser, isAuthenticated;
|
|
360
|
+
return __generator(this, function (_b) {
|
|
361
|
+
switch (_b.label) {
|
|
305
362
|
case 0:
|
|
306
363
|
(0, testing_1.log_header)("Generated Enduser authToken Tests");
|
|
307
|
-
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'generated@tellescope.com' })];
|
|
364
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'generated@tellescope.com', phone: '+15555555555', externalId: '1029f9v9sjd0as' })];
|
|
308
365
|
case 1:
|
|
309
|
-
|
|
310
|
-
return [4 /*yield*/, sdk.api.endusers.
|
|
366
|
+
e = _b.sent();
|
|
367
|
+
return [4 /*yield*/, sdk.api.endusers.generate_auth_token({ id: e.id })];
|
|
311
368
|
case 2:
|
|
312
|
-
|
|
313
|
-
|
|
369
|
+
_a = _b.sent(), authToken = _a.authToken, enduser = _a.enduser;
|
|
370
|
+
(0, testing_1.assert)(!!authToken && !!enduser, 'invalid returned values', 'Generate authToken and get enduser');
|
|
371
|
+
return [4 /*yield*/, sdk.api.endusers.is_authenticated({ id: enduser.id, authToken: authToken })];
|
|
314
372
|
case 3:
|
|
315
|
-
isAuthenticated = (
|
|
373
|
+
isAuthenticated = (_b.sent()).isAuthenticated;
|
|
316
374
|
(0, testing_1.assert)(isAuthenticated, 'invalid authToken generated for enduser', 'Generate authToken for enduser is valid');
|
|
317
|
-
return [4 /*yield*/, sdk.api.endusers.
|
|
375
|
+
return [4 /*yield*/, (0, testing_1.async_test)("auth by externalId", function () { return sdk.api.endusers.generate_auth_token({ externalId: e.externalId }); }, passOnVoid)];
|
|
318
376
|
case 4:
|
|
319
|
-
|
|
377
|
+
_b.sent();
|
|
378
|
+
return [4 /*yield*/, (0, testing_1.async_test)("auth by email", function () { return sdk.api.endusers.generate_auth_token({ email: e.email }); }, passOnVoid)];
|
|
379
|
+
case 5:
|
|
380
|
+
_b.sent();
|
|
381
|
+
return [4 /*yield*/, (0, testing_1.async_test)("auth by phone", function () { return sdk.api.endusers.generate_auth_token({ phone: e.phone }); }, passOnVoid)];
|
|
382
|
+
case 6:
|
|
383
|
+
_b.sent();
|
|
384
|
+
return [4 /*yield*/, (0, testing_1.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"; } })];
|
|
385
|
+
case 7:
|
|
386
|
+
_b.sent();
|
|
387
|
+
return [4 /*yield*/, (0, testing_1.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"; } })];
|
|
388
|
+
case 8:
|
|
389
|
+
_b.sent();
|
|
390
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
391
|
+
case 9:
|
|
392
|
+
_b.sent();
|
|
320
393
|
return [2 /*return*/];
|
|
321
394
|
}
|
|
322
395
|
});
|
|
@@ -439,7 +512,7 @@ var run_generated_tests = function (_a) {
|
|
|
439
512
|
case 7:
|
|
440
513
|
_c.sent();
|
|
441
514
|
_c.label = 8;
|
|
442
|
-
case 8: return [4 /*yield*/, (0, testing_1.async_test)("get-".concat(singularName), function () { return queries.getOne(_id
|
|
515
|
+
case 8: return [4 /*yield*/, (0, testing_1.async_test)("get-".concat(singularName), function () { return queries.getOne(_id); }, { onResult: function (d) {
|
|
443
516
|
if (!(d === null || d === void 0 ? void 0 : d.id))
|
|
444
517
|
return false;
|
|
445
518
|
for (var k in instance) {
|
|
@@ -468,7 +541,7 @@ var run_generated_tests = function (_a) {
|
|
|
468
541
|
return [4 /*yield*/, (0, testing_1.async_test)("delete-".concat(singularName), function () { return queries.deleteOne(_id); }, passOnVoid)];
|
|
469
542
|
case 11:
|
|
470
543
|
_c.sent();
|
|
471
|
-
return [4 /*yield*/, (0, testing_1.async_test)("get-".concat(singularName, " (verify delete)"), function () { return queries.getOne(_id
|
|
544
|
+
return [4 /*yield*/, (0, testing_1.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'; } })];
|
|
472
545
|
case 12:
|
|
473
546
|
_c.sent();
|
|
474
547
|
return [2 /*return*/];
|
|
@@ -663,7 +736,7 @@ var journey_tests = function (queries) {
|
|
|
663
736
|
return [4 /*yield*/, (0, testing_1.async_test)("journey-update - insert new state at front", function () { return queries.getOne(journey.id); }, { onResult: function (j) { return (0, utilities_1.objects_equivalent)(j.states, [{ name: 'First', priority: "N/A" }, { name: 'Added', priority: "N/A" }]); } })];
|
|
664
737
|
case 24:
|
|
665
738
|
_g.sent();
|
|
666
|
-
return [4 /*yield*/, (0, testing_1.async_test)("journey-updateState", function () { return queries.
|
|
739
|
+
return [4 /*yield*/, (0, testing_1.async_test)("journey-updateState", function () { return queries.update_state({ id: journey.id, name: 'Added', updates: { name: 'Updated', priority: 'N/A' } }); }, passOnVoid)];
|
|
667
740
|
case 25:
|
|
668
741
|
_g.sent();
|
|
669
742
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)]; // wait for side effects to update endusers
|
|
@@ -893,23 +966,30 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
893
966
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: "Hello!" })];
|
|
894
967
|
case 3:
|
|
895
968
|
chat = _a.sent();
|
|
896
|
-
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: "Hello..." })
|
|
969
|
+
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: "Hello..." })
|
|
970
|
+
// await async_test(
|
|
971
|
+
// `get-chat (without filter)`,
|
|
972
|
+
// () => sdk.api.chats.getOne(chat.id),
|
|
973
|
+
// { shouldError: true, onError: () => true }
|
|
974
|
+
// )
|
|
975
|
+
];
|
|
897
976
|
case 4:
|
|
898
977
|
chat2 = _a.sent();
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
978
|
+
// await async_test(
|
|
979
|
+
// `get-chat (without filter)`,
|
|
980
|
+
// () => sdk.api.chats.getOne(chat.id),
|
|
981
|
+
// { shouldError: true, onError: () => true }
|
|
982
|
+
// )
|
|
902
983
|
return [4 /*yield*/, (0, testing_1.async_test)("get-chats (without filter)", function () { return sdk.api.chats.getSome({}); }, { shouldError: true, onError: function () { return true; } })];
|
|
903
|
-
case
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
984
|
+
case 5:
|
|
985
|
+
// await async_test(
|
|
986
|
+
// `get-chat (without filter)`,
|
|
987
|
+
// () => sdk.api.chats.getOne(chat.id),
|
|
988
|
+
// { shouldError: true, onError: () => true }
|
|
989
|
+
// )
|
|
907
990
|
_a.sent();
|
|
908
991
|
return [4 /*yield*/, (0, testing_1.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; } })];
|
|
909
|
-
case
|
|
910
|
-
_a.sent();
|
|
911
|
-
return [4 /*yield*/, (0, testing_1.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'; } })];
|
|
912
|
-
case 9:
|
|
992
|
+
case 6:
|
|
913
993
|
_a.sent();
|
|
914
994
|
return [4 /*yield*/, (0, testing_1.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'; } })
|
|
915
995
|
// currently disabled endpoint altogether
|
|
@@ -919,7 +999,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
919
999
|
// { shouldError: true, onError: e => e.message === 'You do not have permission to access this resource' }
|
|
920
1000
|
// )
|
|
921
1001
|
];
|
|
922
|
-
case
|
|
1002
|
+
case 7:
|
|
923
1003
|
_a.sent();
|
|
924
1004
|
// currently disabled endpoint altogether
|
|
925
1005
|
// await async_test(
|
|
@@ -935,7 +1015,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
935
1015
|
// { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
|
|
936
1016
|
// )
|
|
937
1017
|
];
|
|
938
|
-
case
|
|
1018
|
+
case 8:
|
|
939
1019
|
// currently disabled endpoint altogether
|
|
940
1020
|
// await async_test(
|
|
941
1021
|
// `update-chat not allowed`,
|
|
@@ -950,7 +1030,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
950
1030
|
// { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
|
|
951
1031
|
// )
|
|
952
1032
|
return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(room.id)];
|
|
953
|
-
case
|
|
1033
|
+
case 9:
|
|
954
1034
|
// currently disabled endpoint altogether
|
|
955
1035
|
// await async_test(
|
|
956
1036
|
// `update-chat can't update roomId`,
|
|
@@ -959,51 +1039,51 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
959
1039
|
// )
|
|
960
1040
|
_a.sent();
|
|
961
1041
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
|
|
962
|
-
case
|
|
1042
|
+
case 10:
|
|
963
1043
|
_a.sent();
|
|
964
|
-
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (deleted as dependency of room 1)", function () { return sdk.api.chats.getOne(chat.id
|
|
965
|
-
case
|
|
1044
|
+
return [4 /*yield*/, (0, testing_1.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'; } })];
|
|
1045
|
+
case 11:
|
|
966
1046
|
_a.sent();
|
|
967
|
-
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (deleted as dependency of room 2)", function () { return sdk.api.chats.getOne(chat2.id
|
|
968
|
-
case
|
|
1047
|
+
return [4 /*yield*/, (0, testing_1.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'; } })];
|
|
1048
|
+
case 12:
|
|
969
1049
|
_a.sent();
|
|
970
1050
|
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId, sdk2.userInfo.id] })];
|
|
971
|
-
case
|
|
1051
|
+
case 13:
|
|
972
1052
|
sharedRoom = _a.sent();
|
|
973
1053
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello!", })];
|
|
974
|
-
case
|
|
1054
|
+
case 14:
|
|
975
1055
|
sharedChat = _a.sent();
|
|
976
1056
|
return [4 /*yield*/, sdk2.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello there!", })];
|
|
977
|
-
case
|
|
1057
|
+
case 15:
|
|
978
1058
|
sharedChat2 = _a.sent();
|
|
979
|
-
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (shared, user1)", function () { return sdk.api.chats.getOne(sharedChat.id
|
|
980
|
-
case
|
|
1059
|
+
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (shared, user1)", function () { return sdk.api.chats.getOne(sharedChat.id); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
|
|
1060
|
+
case 16:
|
|
981
1061
|
_a.sent();
|
|
982
|
-
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (shared, user2)", function () { return sdk2.api.chats.getOne(sharedChat.id
|
|
983
|
-
case
|
|
1062
|
+
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (shared, user2)", function () { return sdk2.api.chats.getOne(sharedChat.id); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
|
|
1063
|
+
case 17:
|
|
984
1064
|
_a.sent();
|
|
985
1065
|
return [4 /*yield*/, (0, testing_1.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; }); } })];
|
|
986
|
-
case
|
|
1066
|
+
case 18:
|
|
987
1067
|
_a.sent();
|
|
988
1068
|
return [4 /*yield*/, (0, testing_1.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; }); } })
|
|
989
1069
|
// test setNull dependency
|
|
990
1070
|
];
|
|
991
|
-
case
|
|
1071
|
+
case 19:
|
|
992
1072
|
_a.sent();
|
|
993
1073
|
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId] })];
|
|
994
|
-
case
|
|
1074
|
+
case 20:
|
|
995
1075
|
roomNull = _a.sent();
|
|
996
1076
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello!" })];
|
|
997
|
-
case
|
|
1077
|
+
case 21:
|
|
998
1078
|
chatNull = _a.sent();
|
|
999
1079
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello...", replyId: chatNull.id })];
|
|
1000
|
-
case
|
|
1080
|
+
case 22:
|
|
1001
1081
|
chat2Null = _a.sent();
|
|
1002
1082
|
return [4 /*yield*/, sdk.api.chats.deleteOne(chatNull.id)];
|
|
1003
|
-
case
|
|
1083
|
+
case 23:
|
|
1004
1084
|
_a.sent();
|
|
1005
|
-
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (setNull working)", function () { return sdk.api.chats.getOne(chat2Null.id
|
|
1006
|
-
case
|
|
1085
|
+
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (setNull working)", function () { return sdk.api.chats.getOne(chat2Null.id); }, { onResult: function (c) { return c.replyId === null; } })];
|
|
1086
|
+
case 24:
|
|
1007
1087
|
_a.sent();
|
|
1008
1088
|
return [2 /*return*/];
|
|
1009
1089
|
}
|
|
@@ -1020,7 +1100,7 @@ var enduserAccessTests = function () { return __awaiter(void 0, void 0, void 0,
|
|
|
1020
1100
|
return [4 /*yield*/, sdk.api.endusers.createOne({ email: email })];
|
|
1021
1101
|
case 1:
|
|
1022
1102
|
enduser = _j.sent();
|
|
1023
|
-
return [4 /*yield*/, sdk.api.endusers.
|
|
1103
|
+
return [4 /*yield*/, sdk.api.endusers.set_password({ id: enduser.id, password: password }).catch(console.error)];
|
|
1024
1104
|
case 2:
|
|
1025
1105
|
_j.sent();
|
|
1026
1106
|
return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
|
|
@@ -1118,6 +1198,31 @@ var enduserAccessTests = function () { return __awaiter(void 0, void 0, void 0,
|
|
|
1118
1198
|
}
|
|
1119
1199
|
});
|
|
1120
1200
|
}); };
|
|
1201
|
+
var files_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1202
|
+
var buff, _a, presignedUpload, file, downloadURL, downloaded;
|
|
1203
|
+
return __generator(this, function (_b) {
|
|
1204
|
+
switch (_b.label) {
|
|
1205
|
+
case 0:
|
|
1206
|
+
buff = buffer.Buffer.from('test file data');
|
|
1207
|
+
return [4 /*yield*/, sdk.api.files.prepare_file_upload({
|
|
1208
|
+
name: 'Test File', size: buff.byteLength, type: 'text/plain'
|
|
1209
|
+
})];
|
|
1210
|
+
case 1:
|
|
1211
|
+
_a = _b.sent(), presignedUpload = _a.presignedUpload, file = _a.file;
|
|
1212
|
+
return [4 /*yield*/, sdk.UPLOAD(presignedUpload, undefined, buff)];
|
|
1213
|
+
case 2:
|
|
1214
|
+
_b.sent();
|
|
1215
|
+
return [4 /*yield*/, sdk.api.files.file_download_URL({ secureName: file.secureName })];
|
|
1216
|
+
case 3:
|
|
1217
|
+
downloadURL = (_b.sent()).downloadURL;
|
|
1218
|
+
return [4 /*yield*/, sdk.DOWNLOAD(downloadURL)];
|
|
1219
|
+
case 4:
|
|
1220
|
+
downloaded = _b.sent();
|
|
1221
|
+
(0, testing_1.assert)(downloaded === buff.toString(), 'downloaded file does not match uploaded file', 'upload, download comparison');
|
|
1222
|
+
return [2 /*return*/];
|
|
1223
|
+
}
|
|
1224
|
+
});
|
|
1225
|
+
}); };
|
|
1121
1226
|
var tests = {
|
|
1122
1227
|
chats: chat_tests,
|
|
1123
1228
|
endusers: enduser_tests,
|
|
@@ -1130,58 +1235,63 @@ var tests = {
|
|
|
1130
1235
|
chat_rooms: chat_room_tests,
|
|
1131
1236
|
users: function () { },
|
|
1132
1237
|
templates: function () { },
|
|
1133
|
-
files:
|
|
1238
|
+
files: files_tests,
|
|
1134
1239
|
tickets: function () { },
|
|
1135
1240
|
meetings: function () { },
|
|
1241
|
+
notes: function () { },
|
|
1136
1242
|
};
|
|
1137
1243
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
1138
1244
|
var err_1, n, _a, _b, _i, returnValidation, t, _c, _d, _e, err_2;
|
|
1139
1245
|
var _f, _g;
|
|
1140
1246
|
return __generator(this, function (_h) {
|
|
1141
1247
|
switch (_h.label) {
|
|
1142
|
-
case 0:
|
|
1143
|
-
case 1:
|
|
1144
|
-
_h.sent();
|
|
1248
|
+
case 0:
|
|
1145
1249
|
(0, testing_1.log_header)("API");
|
|
1146
|
-
_h.label =
|
|
1250
|
+
_h.label = 1;
|
|
1251
|
+
case 1:
|
|
1252
|
+
_h.trys.push([1, 11, , 12]);
|
|
1253
|
+
return [4 /*yield*/, sdk.authenticate(email, password)];
|
|
1147
1254
|
case 2:
|
|
1148
|
-
_h.
|
|
1255
|
+
_h.sent();
|
|
1149
1256
|
return [4 /*yield*/, setup_tests()];
|
|
1150
1257
|
case 3:
|
|
1151
1258
|
_h.sent();
|
|
1152
1259
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
1153
1260
|
case 4:
|
|
1154
1261
|
_h.sent(); // should come right after setup tests
|
|
1155
|
-
return [4 /*yield*/,
|
|
1262
|
+
return [4 /*yield*/, badInputTests()];
|
|
1156
1263
|
case 5:
|
|
1157
1264
|
_h.sent();
|
|
1158
|
-
return [4 /*yield*/,
|
|
1265
|
+
return [4 /*yield*/, filterTests()];
|
|
1159
1266
|
case 6:
|
|
1160
1267
|
_h.sent();
|
|
1161
|
-
return [4 /*yield*/,
|
|
1268
|
+
return [4 /*yield*/, updatesTests()];
|
|
1162
1269
|
case 7:
|
|
1163
1270
|
_h.sent();
|
|
1164
|
-
return [4 /*yield*/,
|
|
1271
|
+
return [4 /*yield*/, threadKeyTests()];
|
|
1165
1272
|
case 8:
|
|
1166
1273
|
_h.sent();
|
|
1167
|
-
return [4 /*yield*/,
|
|
1274
|
+
return [4 /*yield*/, enduserAccessTests()];
|
|
1168
1275
|
case 9:
|
|
1169
1276
|
_h.sent();
|
|
1170
|
-
return [
|
|
1277
|
+
return [4 /*yield*/, generateEnduserAuthTests()];
|
|
1171
1278
|
case 10:
|
|
1279
|
+
_h.sent();
|
|
1280
|
+
return [3 /*break*/, 12];
|
|
1281
|
+
case 11:
|
|
1172
1282
|
err_1 = _h.sent();
|
|
1173
1283
|
console.error("Failed during custom test");
|
|
1174
1284
|
console.error(err_1);
|
|
1175
1285
|
process.exit();
|
|
1176
|
-
return [3 /*break*/,
|
|
1177
|
-
case
|
|
1286
|
+
return [3 /*break*/, 12];
|
|
1287
|
+
case 12:
|
|
1178
1288
|
_a = [];
|
|
1179
1289
|
for (_b in schema_1.schema)
|
|
1180
1290
|
_a.push(_b);
|
|
1181
1291
|
_i = 0;
|
|
1182
|
-
_h.label =
|
|
1183
|
-
case
|
|
1184
|
-
if (!(_i < _a.length)) return [3 /*break*/,
|
|
1292
|
+
_h.label = 13;
|
|
1293
|
+
case 13:
|
|
1294
|
+
if (!(_i < _a.length)) return [3 /*break*/, 16];
|
|
1185
1295
|
n = _a[_i];
|
|
1186
1296
|
returnValidation = (_g = (_f = schema_1.schema[n].customActions) === null || _f === void 0 ? void 0 : _f.create) === null || _g === void 0 ? void 0 : _g.returns;
|
|
1187
1297
|
return [4 /*yield*/, run_generated_tests({
|
|
@@ -1192,37 +1302,37 @@ var tests = {
|
|
|
1192
1302
|
create: returnValidation,
|
|
1193
1303
|
}
|
|
1194
1304
|
})];
|
|
1195
|
-
case 13:
|
|
1196
|
-
_h.sent();
|
|
1197
|
-
_h.label = 14;
|
|
1198
1305
|
case 14:
|
|
1199
|
-
|
|
1200
|
-
|
|
1306
|
+
_h.sent();
|
|
1307
|
+
_h.label = 15;
|
|
1201
1308
|
case 15:
|
|
1309
|
+
_i++;
|
|
1310
|
+
return [3 /*break*/, 13];
|
|
1311
|
+
case 16:
|
|
1202
1312
|
_c = [];
|
|
1203
1313
|
for (_d in tests)
|
|
1204
1314
|
_c.push(_d);
|
|
1205
1315
|
_e = 0;
|
|
1206
|
-
_h.label = 16;
|
|
1207
|
-
case 16:
|
|
1208
|
-
if (!(_e < _c.length)) return [3 /*break*/, 21];
|
|
1209
|
-
t = _c[_e];
|
|
1210
1316
|
_h.label = 17;
|
|
1211
1317
|
case 17:
|
|
1212
|
-
|
|
1213
|
-
|
|
1318
|
+
if (!(_e < _c.length)) return [3 /*break*/, 22];
|
|
1319
|
+
t = _c[_e];
|
|
1320
|
+
_h.label = 18;
|
|
1214
1321
|
case 18:
|
|
1215
|
-
_h.
|
|
1216
|
-
return [
|
|
1322
|
+
_h.trys.push([18, 20, , 21]);
|
|
1323
|
+
return [4 /*yield*/, tests[t]()];
|
|
1217
1324
|
case 19:
|
|
1325
|
+
_h.sent();
|
|
1326
|
+
return [3 /*break*/, 21];
|
|
1327
|
+
case 20:
|
|
1218
1328
|
err_2 = _h.sent();
|
|
1219
1329
|
console.error("Error running test:");
|
|
1220
1330
|
console.error(err_2);
|
|
1221
|
-
return [3 /*break*/,
|
|
1222
|
-
case 20:
|
|
1223
|
-
_e++;
|
|
1224
|
-
return [3 /*break*/, 16];
|
|
1331
|
+
return [3 /*break*/, 21];
|
|
1225
1332
|
case 21:
|
|
1333
|
+
_e++;
|
|
1334
|
+
return [3 /*break*/, 17];
|
|
1335
|
+
case 22:
|
|
1226
1336
|
process.exit();
|
|
1227
1337
|
return [2 /*return*/];
|
|
1228
1338
|
}
|