@tellescope/sdk 0.0.5 → 0.0.9
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 +346 -13
- package/lib/cjs/enduser.d.ts.map +1 -1
- package/lib/cjs/enduser.js +135 -14
- package/lib/cjs/enduser.js.map +1 -1
- package/lib/cjs/sdk.d.ts +107 -20
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/sdk.js +116 -32
- package/lib/cjs/sdk.js.map +1 -1
- package/lib/cjs/session.d.ts +37 -176
- package/lib/cjs/session.d.ts.map +1 -1
- package/lib/cjs/session.js +131 -34
- package/lib/cjs/session.js.map +1 -1
- package/lib/cjs/tests/public_endpoint_tests.js +3 -3
- package/lib/cjs/tests/public_endpoint_tests.js.map +1 -1
- package/lib/cjs/tests/socket_tests.js +42 -31
- package/lib/cjs/tests/socket_tests.js.map +1 -1
- package/lib/cjs/tests/tests.js +232 -63
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/enduser.d.ts +346 -13
- package/lib/esm/enduser.d.ts.map +1 -1
- package/lib/esm/enduser.js +132 -12
- package/lib/esm/enduser.js.map +1 -1
- package/lib/esm/sdk.d.ts +107 -20
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/sdk.js +116 -32
- package/lib/esm/sdk.js.map +1 -1
- package/lib/esm/session.d.ts +37 -176
- package/lib/esm/session.d.ts.map +1 -1
- package/lib/esm/session.js +130 -32
- package/lib/esm/session.js.map +1 -1
- package/lib/esm/tests/public_endpoint_tests.js +3 -3
- package/lib/esm/tests/public_endpoint_tests.js.map +1 -1
- package/lib/esm/tests/socket_tests.js +41 -30
- package/lib/esm/tests/socket_tests.js.map +1 -1
- package/lib/esm/tests/tests.js +228 -64
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -9
- package/src/enduser.ts +93 -20
- package/src/sdk.ts +71 -43
- package/src/session.ts +122 -34
- package/src/tests/public_endpoint_tests.ts +6 -4
- package/src/tests/socket_tests.ts +37 -16
- package/src/tests/tests.ts +147 -25
- package/tsconfig.json +0 -1
package/lib/cjs/tests/tests.js
CHANGED
|
@@ -48,19 +48,33 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
48
48
|
};
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
50
|
require('source-map-support').install();
|
|
51
|
-
// import v from 'validator'
|
|
52
51
|
var validation_1 = require("@tellescope/validation");
|
|
53
52
|
var sdk_1 = require("../sdk");
|
|
54
|
-
var utilities_1 = require("@tellescope/utilities");
|
|
55
53
|
var constants_1 = require("@tellescope/constants");
|
|
56
54
|
var schema_1 = require("@tellescope/schema");
|
|
57
55
|
var testing_1 = require("@tellescope/testing");
|
|
56
|
+
var utilities_1 = require("@tellescope/utilities");
|
|
58
57
|
var host = process.env.TEST_URL || 'http://localhost:8080';
|
|
59
58
|
var _a = [process.env.TEST_EMAIL, process.env.TEST_PASSWORD], email = _a[0], password = _a[1];
|
|
60
59
|
var _b = [process.env.TEST_EMAIL_2, process.env.TEST_PASSWORD_2], email2 = _b[0], password2 = _b[1];
|
|
61
60
|
var userId = '60398b0231a295e64f084fd9';
|
|
61
|
+
// const example_SDK_usage = async () => {
|
|
62
|
+
// // initialize SDK and authenticate a user
|
|
63
|
+
// const sdk = new Session()
|
|
64
|
+
// await sdk.authenticate("user-email", 'user-password')
|
|
65
|
+
// // create a record, using Enduser model as example
|
|
66
|
+
// const enduser = await sdk.api.endusers.createOne({ email: "enduser1@tellescope.com" })
|
|
67
|
+
// // update an existing record
|
|
68
|
+
// await sdk.api.endusers.updateOne(enduser.id, { phone: "+15555555555" })
|
|
69
|
+
// // fetch a record by id, or a list of recent records
|
|
70
|
+
// const existingEnduser: Enduser = await sdk.api.endusers.getOne(enduser.id)
|
|
71
|
+
// const existingEndusers: Enduser[] = await sdk.api.endusers.getSome({ limit: 5, lastId: enduser.id })
|
|
72
|
+
// // delete an individual record
|
|
73
|
+
// await sdk.api.endusers.deleteOne(enduser.id)
|
|
74
|
+
// }
|
|
62
75
|
var sdk = new sdk_1.Session();
|
|
63
76
|
var sdkOther = new sdk_1.Session({ host: host, apiKey: "ba745e25162bb95a795c5fa1af70df188d93c4d3aac9c48b34a5c8c9dd7b80f7" });
|
|
77
|
+
var enduserSDK = new sdk_1.EnduserSession({ host: host });
|
|
64
78
|
// const sdkOtherEmail = "sebass@tellescope.com"
|
|
65
79
|
if (!(email && password && email2 && password2)) {
|
|
66
80
|
console.error("Set TEST_EMAIL and TEST_PASSWORD");
|
|
@@ -221,6 +235,38 @@ var threadKeyTests = function () { return __awaiter(void 0, void 0, void 0, func
|
|
|
221
235
|
}
|
|
222
236
|
});
|
|
223
237
|
}); };
|
|
238
|
+
var filterTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
239
|
+
var enduser, otherEnduser;
|
|
240
|
+
return __generator(this, function (_a) {
|
|
241
|
+
switch (_a.label) {
|
|
242
|
+
case 0: return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'filtertests@tellescope.com', fname: 'test' })];
|
|
243
|
+
case 1:
|
|
244
|
+
enduser = _a.sent();
|
|
245
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'other@tellescope.com' })];
|
|
246
|
+
case 2:
|
|
247
|
+
otherEnduser = _a.sent();
|
|
248
|
+
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
|
+
case 3:
|
|
250
|
+
_a.sent();
|
|
251
|
+
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; } })];
|
|
252
|
+
case 4:
|
|
253
|
+
_a.sent();
|
|
254
|
+
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; } })];
|
|
255
|
+
case 5:
|
|
256
|
+
_a.sent();
|
|
257
|
+
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; } })];
|
|
258
|
+
case 6:
|
|
259
|
+
_a.sent();
|
|
260
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
261
|
+
case 7:
|
|
262
|
+
_a.sent();
|
|
263
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(otherEnduser.id)];
|
|
264
|
+
case 8:
|
|
265
|
+
_a.sent();
|
|
266
|
+
return [2 /*return*/];
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
}); };
|
|
224
270
|
var instanceForModel = function (model, i) {
|
|
225
271
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
226
272
|
if (i === void 0) { i = 0; }
|
|
@@ -335,7 +381,7 @@ var run_generated_tests = function (_a) {
|
|
|
335
381
|
case 6:
|
|
336
382
|
_c.sent();
|
|
337
383
|
if (!model.defaultActions.update) return [3 /*break*/, 8];
|
|
338
|
-
return [4 /*yield*/, (0, testing_1.async_test)("update-" + singularName, function () { return queries.updateOne(_id, updates, { replaceObjectFields: true }); },
|
|
384
|
+
return [4 /*yield*/, (0, testing_1.async_test)("update-" + singularName, function () { return queries.updateOne(_id, updates, { replaceObjectFields: true }); }, { onResult: function (u) { return typeof u === 'object' && u.id === _id; } })];
|
|
339
385
|
case 7:
|
|
340
386
|
_c.sent();
|
|
341
387
|
_c.label = 8;
|
|
@@ -343,7 +389,7 @@ var run_generated_tests = function (_a) {
|
|
|
343
389
|
if (!(d === null || d === void 0 ? void 0 : d.id))
|
|
344
390
|
return false;
|
|
345
391
|
for (var k in instance) {
|
|
346
|
-
if (!(0,
|
|
392
|
+
if (!(0, utilities_1.objects_equivalent)(instance[k], d[k]))
|
|
347
393
|
return false;
|
|
348
394
|
}
|
|
349
395
|
return true;
|
|
@@ -351,13 +397,13 @@ var run_generated_tests = function (_a) {
|
|
|
351
397
|
})];
|
|
352
398
|
case 9:
|
|
353
399
|
_c.sent();
|
|
354
|
-
return [4 /*yield*/, (0, testing_1.async_test)("get-" + safeName, function () { return queries.getSome({
|
|
400
|
+
return [4 /*yield*/, (0, testing_1.async_test)("get-" + safeName, function () { return queries.getSome({ filter: filter }); }, { onResult: function (_a) {
|
|
355
401
|
var d = _a[0];
|
|
356
402
|
// if (others.length !== 0) return false // some collections are not reset during testing, like API keys
|
|
357
403
|
if (!(d === null || d === void 0 ? void 0 : d.id))
|
|
358
404
|
return false;
|
|
359
405
|
for (var k in instance) {
|
|
360
|
-
if (!(0,
|
|
406
|
+
if (!(0, utilities_1.objects_equivalent)(instance[k], d[k]))
|
|
361
407
|
return false;
|
|
362
408
|
}
|
|
363
409
|
return true;
|
|
@@ -421,7 +467,7 @@ var enduser_tests = function (queries) {
|
|
|
421
467
|
return [4 /*yield*/, (0, testing_1.async_test)("update-enduser test replaceObjectFields true unset", function () { var _a; return queries.updateOne((_a = e1.id) !== null && _a !== void 0 ? _a : '', { fields: {} }, { replaceObjectFields: true }); }, passOnVoid)];
|
|
422
468
|
case 13:
|
|
423
469
|
_a.sent();
|
|
424
|
-
return [4 /*yield*/, (0, testing_1.async_test)("get-enduser test replaceObjectFields verify true unset", function () { var _a; return queries.getOne((_a = e1.id) !== null && _a !== void 0 ? _a : ''); }, { onResult: function (e) { return (0,
|
|
470
|
+
return [4 /*yield*/, (0, testing_1.async_test)("get-enduser test replaceObjectFields verify true unset", function () { var _a; return queries.getOne((_a = e1.id) !== null && _a !== void 0 ? _a : ''); }, { onResult: function (e) { return (0, utilities_1.objects_equivalent)(e.fields, {}); } })];
|
|
425
471
|
case 14:
|
|
426
472
|
_a.sent();
|
|
427
473
|
eToDup1 = { email: 'dup1@tellescope.com' };
|
|
@@ -560,10 +606,10 @@ var journey_tests = function (queries) {
|
|
|
560
606
|
return [4 /*yield*/, queries.updateOne(journey.id, { states: [{ name: 'First', priority: "N/A" }, { name: 'Added', priority: "N/A" }] }, { replaceObjectFields: true })];
|
|
561
607
|
case 23:
|
|
562
608
|
_g.sent();
|
|
563
|
-
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,
|
|
609
|
+
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" }]); } })];
|
|
564
610
|
case 24:
|
|
565
611
|
_g.sent();
|
|
566
|
-
return [4 /*yield*/, (0, testing_1.async_test)("journey-updateState", function () { return queries.updateState(journey.id, 'Added', { name: 'Updated', priority: 'N/A' }); }, passOnVoid)];
|
|
612
|
+
return [4 /*yield*/, (0, testing_1.async_test)("journey-updateState", function () { return queries.updateState({ id: journey.id, name: 'Added', updates: { name: 'Updated', priority: 'N/A' } }); }, passOnVoid)];
|
|
567
613
|
case 25:
|
|
568
614
|
_g.sent();
|
|
569
615
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)]; // wait for side effects to update endusers
|
|
@@ -571,13 +617,13 @@ var journey_tests = function (queries) {
|
|
|
571
617
|
_g.sent(); // wait for side effects to update endusers
|
|
572
618
|
return [4 /*yield*/, (0, testing_1.async_test)("journey-updateState verify propagation to enduser 1", function () { return sdk.api.endusers.getOne(e1.id); }, { onResult: function (e) {
|
|
573
619
|
var _a;
|
|
574
|
-
return (0,
|
|
620
|
+
return (0, utilities_1.objects_equivalent)(e.journeys, (_a = {}, _a[journey.id] = 'Updated', _a));
|
|
575
621
|
} })];
|
|
576
622
|
case 27:
|
|
577
623
|
_g.sent();
|
|
578
624
|
return [4 /*yield*/, (0, testing_1.async_test)("journey-updateState verify propagation to enduser 2", function () { return sdk.api.endusers.getOne(e2.id); }, { onResult: function (e) {
|
|
579
625
|
var _a;
|
|
580
|
-
return (0,
|
|
626
|
+
return (0, utilities_1.objects_equivalent)(e.journeys, (_a = {}, _a[journey.id] = 'Updated', _a[journey2.id] = 'New', _a));
|
|
581
627
|
} })];
|
|
582
628
|
case 28:
|
|
583
629
|
_g.sent();
|
|
@@ -587,12 +633,12 @@ var journey_tests = function (queries) {
|
|
|
587
633
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)]; // wait for side effects to update endusers
|
|
588
634
|
case 30:
|
|
589
635
|
_g.sent(); // wait for side effects to update endusers
|
|
590
|
-
return [4 /*yield*/, (0, testing_1.async_test)("journey-delete - corresponding enduser journeys are unset 1", function () { return sdk.api.endusers.getOne(e1.id); }, { onResult: function (e) { return (0,
|
|
636
|
+
return [4 /*yield*/, (0, testing_1.async_test)("journey-delete - corresponding enduser journeys are unset 1", function () { return sdk.api.endusers.getOne(e1.id); }, { onResult: function (e) { return (0, utilities_1.objects_equivalent)(e.journeys, {}); } })];
|
|
591
637
|
case 31:
|
|
592
638
|
_g.sent();
|
|
593
639
|
return [4 /*yield*/, (0, testing_1.async_test)("journey-delete - corresponding enduser journeys are unset, others left", function () { return sdk.api.endusers.getOne(e2.id); }, { onResult: function (e) {
|
|
594
640
|
var _a;
|
|
595
|
-
return (0,
|
|
641
|
+
return (0, utilities_1.objects_equivalent)(e.journeys, (_a = {}, _a[journey2.id] = 'New', _a));
|
|
596
642
|
} })];
|
|
597
643
|
case 32:
|
|
598
644
|
_g.sent();
|
|
@@ -782,79 +828,195 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
|
|
|
782
828
|
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (with filter)", function () { return sdk.api.chats.getOne(chat.id, { roomId: room.id }); }, { onResult: function (c) { return (c === null || c === void 0 ? void 0 : c.id) === chat.id; } })];
|
|
783
829
|
case 7:
|
|
784
830
|
_a.sent();
|
|
785
|
-
return [4 /*yield*/, (0, testing_1.async_test)("get-chats (with filter)", function () { return sdk.api.chats.getSome({
|
|
831
|
+
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; } })];
|
|
786
832
|
case 8:
|
|
787
833
|
_a.sent();
|
|
788
834
|
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'; } })];
|
|
789
835
|
case 9:
|
|
790
836
|
_a.sent();
|
|
791
|
-
return [4 /*yield*/, (0, testing_1.async_test)("get-chats not allowed", function () { return sdk2.api.chats.getSome({
|
|
837
|
+
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'; } })
|
|
838
|
+
// currently disabled endpoint altogether
|
|
839
|
+
// await async_test(
|
|
840
|
+
// `update-chat not allowed`,
|
|
841
|
+
// () => sdk2.api.chats.updateOne(chat.id, { message: 'Hi' }),
|
|
842
|
+
// { shouldError: true, onError: e => e.message === 'You do not have permission to access this resource' }
|
|
843
|
+
// )
|
|
844
|
+
];
|
|
792
845
|
case 10:
|
|
793
846
|
_a.sent();
|
|
794
|
-
|
|
847
|
+
// currently disabled endpoint altogether
|
|
848
|
+
// await async_test(
|
|
849
|
+
// `update-chat not allowed`,
|
|
850
|
+
// () => sdk2.api.chats.updateOne(chat.id, { message: 'Hi' }),
|
|
851
|
+
// { shouldError: true, onError: e => e.message === 'You do not have permission to access this resource' }
|
|
852
|
+
// )
|
|
853
|
+
return [4 /*yield*/, (0, testing_1.async_test)("delete-chat not allowed", function () { return sdk2.api.chats.deleteOne(chat.id); }, { shouldError: true, onError: function (e) { return e.message === 'You do not have permission to access this resource'; } })
|
|
854
|
+
// currently disabled endpoint altogether
|
|
855
|
+
// await async_test(
|
|
856
|
+
// `update-chat can't update roomId`,
|
|
857
|
+
// () => sdk.api.chats.updateOne(chat.id, { roomId: room.id } as any), // cast to any to allow calling with bad argument, but typing should catch this too
|
|
858
|
+
// { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
|
|
859
|
+
// )
|
|
860
|
+
];
|
|
795
861
|
case 11:
|
|
862
|
+
// currently disabled endpoint altogether
|
|
863
|
+
// await async_test(
|
|
864
|
+
// `update-chat not allowed`,
|
|
865
|
+
// () => sdk2.api.chats.updateOne(chat.id, { message: 'Hi' }),
|
|
866
|
+
// { shouldError: true, onError: e => e.message === 'You do not have permission to access this resource' }
|
|
867
|
+
// )
|
|
796
868
|
_a.sent();
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
_a.sent();
|
|
869
|
+
// currently disabled endpoint altogether
|
|
870
|
+
// await async_test(
|
|
871
|
+
// `update-chat can't update roomId`,
|
|
872
|
+
// () => sdk.api.chats.updateOne(chat.id, { roomId: room.id } as any), // cast to any to allow calling with bad argument, but typing should catch this too
|
|
873
|
+
// { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
|
|
874
|
+
// )
|
|
804
875
|
return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(room.id)];
|
|
805
|
-
case
|
|
876
|
+
case 12:
|
|
877
|
+
// currently disabled endpoint altogether
|
|
878
|
+
// await async_test(
|
|
879
|
+
// `update-chat can't update roomId`,
|
|
880
|
+
// () => sdk.api.chats.updateOne(chat.id, { roomId: room.id } as any), // cast to any to allow calling with bad argument, but typing should catch this too
|
|
881
|
+
// { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
|
|
882
|
+
// )
|
|
806
883
|
_a.sent();
|
|
807
884
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
|
|
808
|
-
case
|
|
885
|
+
case 13:
|
|
809
886
|
_a.sent();
|
|
810
887
|
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (deleted as dependency of room 1)", function () { return sdk.api.chats.getOne(chat.id, { roomId: room.id }); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
|
|
811
|
-
case
|
|
888
|
+
case 14:
|
|
812
889
|
_a.sent();
|
|
813
890
|
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (deleted as dependency of room 2)", function () { return sdk.api.chats.getOne(chat2.id, { roomId: room.id }); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
|
|
814
|
-
case
|
|
891
|
+
case 15:
|
|
815
892
|
_a.sent();
|
|
816
893
|
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId, sdk2.userInfo.id] })];
|
|
817
|
-
case
|
|
894
|
+
case 16:
|
|
818
895
|
sharedRoom = _a.sent();
|
|
819
896
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello!", })];
|
|
820
|
-
case
|
|
897
|
+
case 17:
|
|
821
898
|
sharedChat = _a.sent();
|
|
822
899
|
return [4 /*yield*/, sdk2.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello there!", })];
|
|
823
|
-
case
|
|
900
|
+
case 18:
|
|
824
901
|
sharedChat2 = _a.sent();
|
|
825
902
|
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (shared, user1)", function () { return sdk.api.chats.getOne(sharedChat.id, { roomId: sharedRoom.id }); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
|
|
826
|
-
case
|
|
903
|
+
case 19:
|
|
827
904
|
_a.sent();
|
|
828
905
|
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (shared, user2)", function () { return sdk2.api.chats.getOne(sharedChat.id, { roomId: sharedRoom.id }); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
|
|
829
|
-
case
|
|
906
|
+
case 20:
|
|
830
907
|
_a.sent();
|
|
831
|
-
return [4 /*yield*/, (0, testing_1.async_test)("get-chats (shared, user1)", function () { return sdk.api.chats.getSome({
|
|
832
|
-
case
|
|
908
|
+
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; }); } })];
|
|
909
|
+
case 21:
|
|
833
910
|
_a.sent();
|
|
834
|
-
return [4 /*yield*/, (0, testing_1.async_test)("get-chats (shared, user2)", function () { return sdk2.api.chats.getSome({
|
|
911
|
+
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; }); } })
|
|
835
912
|
// test setNull dependency
|
|
836
913
|
];
|
|
837
|
-
case
|
|
914
|
+
case 22:
|
|
838
915
|
_a.sent();
|
|
839
916
|
return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId] })];
|
|
840
|
-
case
|
|
917
|
+
case 23:
|
|
841
918
|
roomNull = _a.sent();
|
|
842
919
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello!" })];
|
|
843
|
-
case
|
|
920
|
+
case 24:
|
|
844
921
|
chatNull = _a.sent();
|
|
845
922
|
return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello...", replyId: chatNull.id })];
|
|
846
|
-
case
|
|
923
|
+
case 25:
|
|
847
924
|
chat2Null = _a.sent();
|
|
848
925
|
return [4 /*yield*/, sdk.api.chats.deleteOne(chatNull.id)];
|
|
849
|
-
case
|
|
926
|
+
case 26:
|
|
850
927
|
_a.sent();
|
|
851
928
|
return [4 /*yield*/, (0, testing_1.async_test)("get-chat (setNull working)", function () { return sdk.api.chats.getOne(chat2Null.id, { roomId: roomNull.id }); }, { onResult: function (c) { return c.replyId === null; } })];
|
|
852
|
-
case
|
|
929
|
+
case 27:
|
|
853
930
|
_a.sent();
|
|
854
931
|
return [2 /*return*/];
|
|
855
932
|
}
|
|
856
933
|
});
|
|
857
934
|
}); };
|
|
935
|
+
var enduserAccessTests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
936
|
+
var email, password, enduser, _loop_1, _a, _b, _i, n;
|
|
937
|
+
var _c, _d, _e, _f, _g, _h;
|
|
938
|
+
return __generator(this, function (_j) {
|
|
939
|
+
switch (_j.label) {
|
|
940
|
+
case 0:
|
|
941
|
+
email = 'enduser@tellescope.com';
|
|
942
|
+
password = 'testpassword';
|
|
943
|
+
return [4 /*yield*/, sdk.api.endusers.createOne({ email: email })];
|
|
944
|
+
case 1:
|
|
945
|
+
enduser = _j.sent();
|
|
946
|
+
return [4 /*yield*/, sdk.api.endusers.setPassword({ id: enduser.id, password: password }).catch(console.error)];
|
|
947
|
+
case 2:
|
|
948
|
+
_j.sent();
|
|
949
|
+
return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
|
|
950
|
+
case 3:
|
|
951
|
+
_j.sent();
|
|
952
|
+
_loop_1 = function (n) {
|
|
953
|
+
var endpoint, model;
|
|
954
|
+
return __generator(this, function (_k) {
|
|
955
|
+
switch (_k.label) {
|
|
956
|
+
case 0:
|
|
957
|
+
endpoint = (0, utilities_1.url_safe_path)(n);
|
|
958
|
+
model = schema_1.schema[n];
|
|
959
|
+
if (!(!((_c = model === null || model === void 0 ? void 0 : model.enduserActions) === null || _c === void 0 ? void 0 : _c.read) && (model.defaultActions.read || model.customActions.read))) return [3 /*break*/, 2];
|
|
960
|
+
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access getOne (" + endpoint + ")", function () { return enduserSDK.GET("/v1/" + endpoint.substring(0, endpoint.length - 1) + "/:id"); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
|
|
961
|
+
case 1:
|
|
962
|
+
_k.sent();
|
|
963
|
+
_k.label = 2;
|
|
964
|
+
case 2:
|
|
965
|
+
if (!(!((_d = model.enduserActions) === null || _d === void 0 ? void 0 : _d.readMany) && (model.defaultActions.readMany || model.customActions.readMany))) return [3 /*break*/, 4];
|
|
966
|
+
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access getSome (" + endpoint + ")", function () { return enduserSDK.GET("/v1/" + endpoint); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
|
|
967
|
+
case 3:
|
|
968
|
+
_k.sent();
|
|
969
|
+
_k.label = 4;
|
|
970
|
+
case 4:
|
|
971
|
+
if (!(!((_e = model.enduserActions) === null || _e === void 0 ? void 0 : _e.create) && (model.defaultActions.create || model.customActions.create))) return [3 /*break*/, 6];
|
|
972
|
+
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access createOne (" + endpoint + ")", function () { return enduserSDK.POST("/v1/" + endpoint.substring(0, endpoint.length - 1)); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
|
|
973
|
+
case 5:
|
|
974
|
+
_k.sent();
|
|
975
|
+
_k.label = 6;
|
|
976
|
+
case 6:
|
|
977
|
+
if (!(!((_f = model.enduserActions) === null || _f === void 0 ? void 0 : _f.createMany) && (model.defaultActions.createMany || model.customActions.createMany))) return [3 /*break*/, 8];
|
|
978
|
+
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access createMany (" + endpoint + ")", function () { return enduserSDK.POST("/v1/" + endpoint); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
|
|
979
|
+
case 7:
|
|
980
|
+
_k.sent();
|
|
981
|
+
_k.label = 8;
|
|
982
|
+
case 8:
|
|
983
|
+
if (!(!((_g = model.enduserActions) === null || _g === void 0 ? void 0 : _g.update) && (model.defaultActions.update || model.customActions.update))) return [3 /*break*/, 10];
|
|
984
|
+
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access update (" + endpoint + ")", function () { return enduserSDK.PATCH("/v1/" + endpoint.substring(0, endpoint.length - 1) + "/:id"); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
|
|
985
|
+
case 9:
|
|
986
|
+
_k.sent();
|
|
987
|
+
_k.label = 10;
|
|
988
|
+
case 10:
|
|
989
|
+
if (!(!((_h = model.enduserActions) === null || _h === void 0 ? void 0 : _h.delete) && (model.defaultActions.delete || model.customActions.delete))) return [3 /*break*/, 12];
|
|
990
|
+
return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access delete (" + endpoint + ")", function () { return enduserSDK.DELETE("/v1/" + endpoint.substring(0, endpoint.length - 1) + "/:id"); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
|
|
991
|
+
case 11:
|
|
992
|
+
_k.sent();
|
|
993
|
+
_k.label = 12;
|
|
994
|
+
case 12: return [2 /*return*/];
|
|
995
|
+
}
|
|
996
|
+
});
|
|
997
|
+
};
|
|
998
|
+
_a = [];
|
|
999
|
+
for (_b in schema_1.schema)
|
|
1000
|
+
_a.push(_b);
|
|
1001
|
+
_i = 0;
|
|
1002
|
+
_j.label = 4;
|
|
1003
|
+
case 4:
|
|
1004
|
+
if (!(_i < _a.length)) return [3 /*break*/, 7];
|
|
1005
|
+
n = _a[_i];
|
|
1006
|
+
return [5 /*yield**/, _loop_1(n)];
|
|
1007
|
+
case 5:
|
|
1008
|
+
_j.sent();
|
|
1009
|
+
_j.label = 6;
|
|
1010
|
+
case 6:
|
|
1011
|
+
_i++;
|
|
1012
|
+
return [3 /*break*/, 4];
|
|
1013
|
+
case 7: return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
1014
|
+
case 8:
|
|
1015
|
+
_j.sent();
|
|
1016
|
+
return [2 /*return*/];
|
|
1017
|
+
}
|
|
1018
|
+
});
|
|
1019
|
+
}); };
|
|
858
1020
|
var tests = {
|
|
859
1021
|
chats: chat_tests,
|
|
860
1022
|
endusers: enduser_tests,
|
|
@@ -867,6 +1029,7 @@ var tests = {
|
|
|
867
1029
|
chat_rooms: chat_room_tests,
|
|
868
1030
|
users: function () { },
|
|
869
1031
|
templates: function () { },
|
|
1032
|
+
files: function () { },
|
|
870
1033
|
};
|
|
871
1034
|
(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
872
1035
|
var n, _a, _b, _i, returnValidation, t, _c, _d, _e, err_1;
|
|
@@ -883,16 +1046,22 @@ var tests = {
|
|
|
883
1046
|
return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
|
|
884
1047
|
case 3:
|
|
885
1048
|
_h.sent(); // should come right after setup tests
|
|
886
|
-
return [4 /*yield*/,
|
|
1049
|
+
return [4 /*yield*/, filterTests()];
|
|
887
1050
|
case 4:
|
|
1051
|
+
_h.sent();
|
|
1052
|
+
return [4 /*yield*/, threadKeyTests()];
|
|
1053
|
+
case 5:
|
|
1054
|
+
_h.sent();
|
|
1055
|
+
return [4 /*yield*/, enduserAccessTests()];
|
|
1056
|
+
case 6:
|
|
888
1057
|
_h.sent();
|
|
889
1058
|
_a = [];
|
|
890
1059
|
for (_b in schema_1.schema)
|
|
891
1060
|
_a.push(_b);
|
|
892
1061
|
_i = 0;
|
|
893
|
-
_h.label =
|
|
894
|
-
case
|
|
895
|
-
if (!(_i < _a.length)) return [3 /*break*/,
|
|
1062
|
+
_h.label = 7;
|
|
1063
|
+
case 7:
|
|
1064
|
+
if (!(_i < _a.length)) return [3 /*break*/, 10];
|
|
896
1065
|
n = _a[_i];
|
|
897
1066
|
returnValidation = (_g = (_f = schema_1.schema[n].customActions) === null || _f === void 0 ? void 0 : _f.create) === null || _g === void 0 ? void 0 : _g.returns;
|
|
898
1067
|
return [4 /*yield*/, run_generated_tests({
|
|
@@ -903,37 +1072,37 @@ var tests = {
|
|
|
903
1072
|
create: returnValidation,
|
|
904
1073
|
}
|
|
905
1074
|
})];
|
|
906
|
-
case
|
|
1075
|
+
case 8:
|
|
907
1076
|
_h.sent();
|
|
908
|
-
_h.label =
|
|
909
|
-
case
|
|
1077
|
+
_h.label = 9;
|
|
1078
|
+
case 9:
|
|
910
1079
|
_i++;
|
|
911
|
-
return [3 /*break*/,
|
|
912
|
-
case
|
|
1080
|
+
return [3 /*break*/, 7];
|
|
1081
|
+
case 10:
|
|
913
1082
|
_c = [];
|
|
914
1083
|
for (_d in tests)
|
|
915
1084
|
_c.push(_d);
|
|
916
1085
|
_e = 0;
|
|
917
|
-
_h.label =
|
|
918
|
-
case
|
|
919
|
-
if (!(_e < _c.length)) return [3 /*break*/,
|
|
1086
|
+
_h.label = 11;
|
|
1087
|
+
case 11:
|
|
1088
|
+
if (!(_e < _c.length)) return [3 /*break*/, 16];
|
|
920
1089
|
t = _c[_e];
|
|
921
|
-
_h.label =
|
|
922
|
-
case
|
|
923
|
-
_h.trys.push([
|
|
1090
|
+
_h.label = 12;
|
|
1091
|
+
case 12:
|
|
1092
|
+
_h.trys.push([12, 14, , 15]);
|
|
924
1093
|
return [4 /*yield*/, tests[t]()];
|
|
925
|
-
case
|
|
1094
|
+
case 13:
|
|
926
1095
|
_h.sent();
|
|
927
|
-
return [3 /*break*/,
|
|
928
|
-
case
|
|
1096
|
+
return [3 /*break*/, 15];
|
|
1097
|
+
case 14:
|
|
929
1098
|
err_1 = _h.sent();
|
|
930
1099
|
console.error("Error running test:");
|
|
931
1100
|
console.error(err_1);
|
|
932
|
-
return [3 /*break*/,
|
|
933
|
-
case
|
|
1101
|
+
return [3 /*break*/, 15];
|
|
1102
|
+
case 15:
|
|
934
1103
|
_e++;
|
|
935
|
-
return [3 /*break*/,
|
|
936
|
-
case
|
|
1104
|
+
return [3 /*break*/, 11];
|
|
1105
|
+
case 16:
|
|
937
1106
|
process.exit();
|
|
938
1107
|
return [2 /*return*/];
|
|
939
1108
|
}
|