@tellescope/sdk 0.0.62 → 0.0.65

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.
@@ -48,17 +48,20 @@ var get_sha256 = function (s) {
48
48
  return (0, crypto_1.createHash)('sha256').update(s).digest('hex');
49
49
  };
50
50
  exports.get_sha256 = get_sha256;
51
+ var VERBOSE = true;
52
+ var AWAIT_SOCKET_DURATION = 150; // 25ms was generally passing for Redis, 1000ms should be upper limit of performance
51
53
  var host = process.env.TEST_URL || 'http://localhost:8080';
52
54
  var _a = [process.env.TEST_EMAIL, process.env.TEST_PASSWORD], email = _a[0], password = _a[1];
53
55
  var _b = [process.env.TEST_EMAIL_2, process.env.TEST_PASSWORD_2], email2 = _b[0], password2 = _b[1];
54
56
  var businessId = '60398b1131a295e64f084ff6';
55
- var user1 = new sdk_1.Session({ host: host });
56
- var user2 = new sdk_1.Session({ host: host });
57
- var enduserSDK = new enduser_1.EnduserSession({ host: host, businessId: businessId });
57
+ var user1 = new sdk_1.Session({ host: host, enableSocketLogging: VERBOSE });
58
+ var user2 = new sdk_1.Session({ host: host, enableSocketLogging: VERBOSE });
59
+ var enduserSDK = new enduser_1.EnduserSession({ host: host, businessId: businessId, enableSocketLogging: VERBOSE });
58
60
  if (!(email && password && email2 && password2)) {
59
61
  console.error("Set TEST_EMAIL and TEST_PASSWORD");
60
62
  process.exit(1);
61
63
  }
64
+ // consistent passing at 150ms AWAIT SOCKET DURATION
62
65
  var basic_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
63
66
  var socket_events, e, es;
64
67
  var _a, _b, _c, _d;
@@ -71,32 +74,35 @@ var basic_tests = function () { return __awaiter(void 0, void 0, void 0, functio
71
74
  'updated-endusers': function (es) { return socket_events.push(es); },
72
75
  'deleted-endusers': function (es) { return socket_events.push(es); },
73
76
  });
74
- return [4 /*yield*/, user1.api.endusers.createOne({ email: "sockets@tellescope.com" })];
77
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
75
78
  case 1:
76
- e = _e.sent();
77
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
79
+ _e.sent();
80
+ return [4 /*yield*/, user1.api.endusers.createOne({ email: "sockets@tellescope.com" })];
78
81
  case 2:
82
+ e = _e.sent();
83
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
84
+ case 3:
79
85
  _e.sent();
80
86
  (0, testing_1.assert)((0, utilities_1.objects_equivalent)(e, (_a = socket_events === null || socket_events === void 0 ? void 0 : socket_events[0]) === null || _a === void 0 ? void 0 : _a[0]), 'inconsistent socket create', 'socket create');
81
87
  return [4 /*yield*/, user1.api.endusers.updateOne(e.id, { fname: 'Gary' })];
82
- case 3:
83
- _e.sent();
84
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
85
88
  case 4:
86
89
  _e.sent();
87
- (0, testing_1.assert)(((_c = (_b = socket_events[1]) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.fname) === 'Gary', 'inconsistent socket update', 'socket update');
88
- return [4 /*yield*/, user1.api.endusers.deleteOne(e.id)];
90
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
89
91
  case 5:
90
92
  _e.sent();
91
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
93
+ (0, testing_1.assert)(((_c = (_b = socket_events[1]) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.fname) === 'Gary', 'inconsistent socket update', 'socket update');
94
+ return [4 /*yield*/, user1.api.endusers.deleteOne(e.id)];
92
95
  case 6:
96
+ _e.sent();
97
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
98
+ case 7:
93
99
  _e.sent();
94
100
  (0, testing_1.assert)(((_d = socket_events[2]) === null || _d === void 0 ? void 0 : _d[0]) === e.id, 'inconsistent socket delete', 'socket delete');
95
101
  return [4 /*yield*/, user1.api.endusers.createSome([{ email: "sockets@tellescope.com" }, { email: 'sockets2@tellescope.com' }])];
96
- case 7:
97
- es = (_e.sent()).created;
98
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
99
102
  case 8:
103
+ es = (_e.sent()).created;
104
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
105
+ case 9:
100
106
  _e.sent();
101
107
  (0, testing_1.assert)((0, utilities_1.objects_equivalent)(es, socket_events === null || socket_events === void 0 ? void 0 : socket_events[3]), 'inconsistent socket create many', 'socket create many');
102
108
  return [2 /*return*/];
@@ -128,14 +134,11 @@ var access_tests = function () { return __awaiter(void 0, void 0, void 0, functi
128
134
  return [4 /*yield*/, user1.api.chat_rooms.createOne({ type: 'internal', userIds: [user1Id] })];
129
135
  case 1:
130
136
  room = _e.sent();
131
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
132
- case 2:
133
- _e.sent();
134
137
  return [4 /*yield*/, user1.api.chat_rooms.createOne({ type: 'internal', userIds: [user1Id, user2Id] })];
135
- case 3:
138
+ case 2:
136
139
  sharedRoom = _e.sent();
137
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
138
- case 4:
140
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
141
+ case 3:
139
142
  _e.sent();
140
143
  (0, testing_1.assert)(user1Events.length === 0, 'bad event distribution for filter', 'verify filter socket no self');
141
144
  (0, testing_1.assert)(user2Events.length === 1 && sharedRoom.id === user2Events[0].id, 'bad event distribution for filter', 'verify filter socket push');
@@ -146,17 +149,8 @@ var access_tests = function () { return __awaiter(void 0, void 0, void 0, functi
146
149
  user2.removeAllSocketListeners('update-chat_rooms');
147
150
  user2.removeAllSocketListeners('deleted-chat_rooms');
148
151
  user1.subscribe((_a = {}, _a[room.id] = 'chats', _a));
149
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 10)];
150
- case 5:
151
- _e.sent();
152
152
  user2.subscribe((_b = {}, _b[room.id] = 'chats', _b)); // connection should be rejected
153
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 10)];
154
- case 6:
155
- _e.sent();
156
153
  user1.subscribe((_c = {}, _c[sharedRoom.id] = 'chats', _c));
157
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 10)];
158
- case 7:
159
- _e.sent();
160
154
  user2.subscribe((_d = {}, _d[sharedRoom.id] = 'chats', _d));
161
155
  user1.handle_events({
162
156
  'created-chats': function (rs) { return user1Events.push.apply(user1Events, rs); },
@@ -168,31 +162,28 @@ var access_tests = function () { return __awaiter(void 0, void 0, void 0, functi
168
162
  'updated-chats': function (rs) { return user2Events.push.apply(user2Events, rs); },
169
163
  'deleted-chats': function (rs) { return user2Events.push.apply(user2Events, rs); },
170
164
  });
171
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
172
- case 8:
165
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
166
+ case 4:
173
167
  _e.sent();
174
168
  return [4 /*yield*/, user1.api.chats.createOne({ roomId: room.id, message: "Hello!", })];
175
- case 9:
169
+ case 5:
176
170
  _e.sent();
177
171
  return [4 /*yield*/, user1.api.chats.createOne({ roomId: room.id, message: "Hello...", })];
178
- case 10:
172
+ case 6:
179
173
  _e.sent();
180
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
181
- case 11:
174
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
175
+ case 7:
182
176
  _e.sent();
183
177
  (0, testing_1.assert)(user1Events.length === 0, 'bad chats subscription', 'verify chats no self');
184
178
  (0, testing_1.assert)(user2Events.length === 1, 'bad chats subscription', 'push only for valid subscribers');
185
179
  return [4 /*yield*/, user1.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello!", })];
186
- case 12:
180
+ case 8:
187
181
  sharedChat = _e.sent();
188
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
189
- case 13:
190
- _e.sent();
191
182
  return [4 /*yield*/, user2.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello there!", })];
192
- case 14:
183
+ case 9:
193
184
  sharedChat2 = _e.sent();
194
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
195
- case 15:
185
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
186
+ case 10:
196
187
  _e.sent();
197
188
  (0, testing_1.assert)(user1Events.length === 1 && user1Events[0].id === sharedChat2.id, 'bad chats subscription', 'verify chat received');
198
189
  (0, testing_1.assert)(user2Events.length === 2 && user2Events[1].id === sharedChat.id, 'bad chats subscription', 'push only for valid subscribers shared');
@@ -205,7 +196,9 @@ var enduser_tests = function () { return __awaiter(void 0, void 0, void 0, funct
205
196
  var _a, _b;
206
197
  return __generator(this, function (_c) {
207
198
  switch (_c.label) {
208
- case 0: return [4 /*yield*/, user1.api.endusers.createOne({ email: "enduser@tellescope.com" })];
199
+ case 0:
200
+ (0, testing_1.log_header)("Enduser Tests");
201
+ return [4 /*yield*/, user1.api.endusers.createOne({ email: "enduser@tellescope.com" })];
209
202
  case 1:
210
203
  enduser = _c.sent();
211
204
  return [4 /*yield*/, user1.api.endusers.set_password({ id: enduser.id, password: 'enduserPassword!' })];
@@ -214,11 +207,19 @@ var enduser_tests = function () { return __awaiter(void 0, void 0, void 0, funct
214
207
  return [4 /*yield*/, enduserSDK.authenticate(enduser.email, 'enduserPassword!')];
215
208
  case 3:
216
209
  _c.sent();
217
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
210
+ return [4 /*yield*/, enduserSDK.connectSocket()];
218
211
  case 4:
219
212
  _c.sent();
220
213
  userEvents = [];
221
214
  enduserEvents = [];
215
+ user1.handle_events({
216
+ 'created-chats': function (rs) { return userEvents.push.apply(userEvents, rs); },
217
+ 'created-tickets': function (rs) { return userEvents.push.apply(userEvents, rs); },
218
+ });
219
+ enduserSDK.handle_events({
220
+ 'created-chats': function (rs) { return enduserEvents.push.apply(enduserEvents, rs); },
221
+ 'created-tickets': function (rs) { return enduserEvents.push.apply(enduserEvents, rs); },
222
+ });
222
223
  return [4 /*yield*/, user1.api.chat_rooms.createOne({
223
224
  type: 'external',
224
225
  userIds: [user1.userInfo.id],
@@ -226,84 +227,75 @@ var enduser_tests = function () { return __awaiter(void 0, void 0, void 0, funct
226
227
  })];
227
228
  case 5:
228
229
  room = _c.sent();
229
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
230
- case 6:
231
- _c.sent();
232
230
  user1.subscribe((_a = {}, _a[room.id] = 'chats', _a));
233
231
  user1.subscribe({ tickets: 'tickets' });
234
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 10)];
235
- case 7:
236
- _c.sent();
237
- enduserSDK.subscribe((_b = {}, _b[room.id] = 'chats', _b));
238
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 10)];
239
- case 8:
232
+ enduserSDK.subscribe((_b = {},
233
+ _b[room.id] = 'chats',
234
+ _b.dontCache = 'chats',
235
+ _b));
236
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
237
+ case 6:
240
238
  _c.sent();
241
- user1.handle_events({
242
- 'created-chats': function (rs) { return userEvents.push.apply(userEvents, rs); },
243
- 'created-tickets': function (rs) { return userEvents.push.apply(userEvents, rs); },
244
- });
245
- enduserSDK.handle_events({
246
- 'created-chats': function (rs) { return enduserEvents.push.apply(enduserEvents, rs); },
247
- 'created-tickets': function (rs) { return enduserEvents.push.apply(enduserEvents, rs); },
248
- });
249
239
  return [4 /*yield*/, user1.api.chats.createOne({ roomId: room.id, message: "Hello!" })];
250
- case 9:
240
+ case 7:
251
241
  messageToEnduser = _c.sent();
252
242
  return [4 /*yield*/, enduserSDK.api.chats.createOne({ roomId: room.id, message: "Hello right back!" })];
253
- case 10:
243
+ case 8:
254
244
  messageToUser = _c.sent();
255
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
256
- case 11:
245
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
246
+ case 9:
257
247
  _c.sent();
258
248
  (0, testing_1.assert)((0, utilities_1.objects_equivalent)(userEvents[0], messageToUser), 'no message on socket', 'push message to user');
259
249
  (0, testing_1.assert)((0, utilities_1.objects_equivalent)(enduserEvents[0], messageToEnduser), 'no message on socket', 'push message to enduser');
260
250
  return [4 /*yield*/, user1.api.tickets.createOne({ enduserId: constants_1.PLACEHOLDER_ID, title: "For Noone" })]; // should not get pushed to enduser
261
- case 12:
251
+ case 10:
262
252
  unusedTicket = _c.sent() // should not get pushed to enduser
263
253
  ;
264
254
  return [4 /*yield*/, user1.api.tickets.createOne({ enduserId: enduser.id, title: "For enduser" })];
265
- case 13:
255
+ case 11:
266
256
  ticketForEnduser = _c.sent();
267
257
  return [4 /*yield*/, enduserSDK.api.tickets.createOne({ enduserId: enduser.id, title: "By enduser" })];
268
- case 14:
258
+ case 12:
269
259
  ticketFromEnduser = _c.sent();
270
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
271
- case 15:
260
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
261
+ case 13:
272
262
  _c.sent();
273
263
  (0, testing_1.assert)((0, utilities_1.objects_equivalent)(userEvents[1], ticketFromEnduser), 'no ticket on socket for user', 'push ticket to user');
274
264
  (0, testing_1.assert)((0, utilities_1.objects_equivalent)(enduserEvents[1], ticketForEnduser), 'no ticket on socket for enduser', 'push ticket to enduser');
275
265
  (0, testing_1.assert)(enduserEvents[2] === undefined, 'enduser got an orgwide ticket', 'enduser does not receive org-wide ticket');
276
266
  return [4 /*yield*/, user1.api.tickets.deleteOne(unusedTicket.id)];
277
- case 16:
267
+ case 14:
278
268
  _c.sent();
279
269
  return [4 /*yield*/, user1.api.tickets.deleteOne(ticketForEnduser.id)];
280
- case 17:
270
+ case 15:
281
271
  _c.sent();
282
272
  return [4 /*yield*/, user1.api.tickets.deleteOne(ticketFromEnduser.id)
283
273
  // test enduser logout
284
274
  ];
285
- case 18:
275
+ case 16:
286
276
  _c.sent();
287
277
  // test enduser logout
288
278
  return [4 /*yield*/, enduserSDK.api.endusers.logout()];
289
- case 19:
279
+ case 17:
290
280
  // test enduser logout
291
281
  _c.sent();
292
- return [4 /*yield*/, (0, testing_1.async_test)("verify enduser logout works", function () { return enduserSDK.api.chats.getSome({}); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })
282
+ return [4 /*yield*/, (0, testing_1.async_test)("verify enduser logout works", function () { return enduserSDK.api.chats.getOne({}); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } }
283
+ // { shouldError: true, onError: (e: string) => !!e }
284
+ )
293
285
  // keep these models around for front-end testing
294
286
  // cleanup
295
287
  // await user1.api.endusers.deleteOne(enduser.id)
296
288
  // await user1.api.chats.deleteOne(messageToEnduser.id)
297
289
  // await user1.api.chats.deleteOne(messageToUser.id)
298
290
  ];
299
- case 20:
291
+ case 18:
300
292
  _c.sent();
301
293
  return [2 /*return*/];
302
294
  }
303
295
  });
304
296
  }); };
305
297
  var TEST_SESSION_DURATION = 2; // seconds
306
- var SESSION_TIMEOUT_DELAY = 3000; // ms
298
+ var SESSION_TIMEOUT_DELAY = 4000; // ms
307
299
  var deauthentication_tests = function (byTimeout) {
308
300
  if (byTimeout === void 0) { byTimeout = false; }
309
301
  return __awaiter(void 0, void 0, void 0, function () {
@@ -321,16 +313,13 @@ var deauthentication_tests = function (byTimeout) {
321
313
  _c.sent();
322
314
  return [4 /*yield*/, enduserSDK.authenticate(enduser.email, 'enduserPassword!', { durationInSeconds: byTimeout ? TEST_SESSION_DURATION : undefined })];
323
315
  case 3:
324
- _c.sent();
325
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
326
- case 4:
327
316
  _c.sent();
328
317
  return [4 /*yield*/, user1.api.chat_rooms.createOne({
329
318
  type: 'external',
330
319
  userIds: [user1.userInfo.id],
331
320
  enduserIds: [enduser.id],
332
321
  })];
333
- case 5:
322
+ case 4:
334
323
  room = _c.sent();
335
324
  userEvents = [];
336
325
  enduserEvents = [];
@@ -338,55 +327,59 @@ var deauthentication_tests = function (byTimeout) {
338
327
  enduserSDK.subscribe((_b = {}, _b[room.id] = 'chats', _b));
339
328
  user1.handle_events({ 'created-chats': function (rs) { return userEvents.push.apply(userEvents, rs); } });
340
329
  enduserSDK.handle_events({ 'created-chats': function (rs) { return enduserEvents.push.apply(enduserEvents, rs); } });
341
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 10)];
342
- case 6:
330
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
331
+ case 5:
343
332
  _c.sent();
344
- if (!!byTimeout) return [3 /*break*/, 8];
333
+ if (!!byTimeout) return [3 /*break*/, 7];
345
334
  return [4 /*yield*/, enduserSDK.api.endusers.logout()];
346
- case 7:
335
+ case 6:
347
336
  _c.sent();
348
- return [3 /*break*/, 10];
349
- case 8: return [4 /*yield*/, (0, testing_1.wait)(undefined, TEST_SESSION_DURATION * 1000 + SESSION_TIMEOUT_DELAY)];
350
- case 9:
337
+ return [3 /*break*/, 9];
338
+ case 7: return [4 /*yield*/, (0, testing_1.wait)(undefined, TEST_SESSION_DURATION * 1000 + SESSION_TIMEOUT_DELAY)];
339
+ case 8:
351
340
  _c.sent();
352
- _c.label = 10;
353
- case 10: return [4 /*yield*/, user1.api.chats.createOne({ roomId: room.id, message: "Hello!" })];
354
- case 11:
341
+ _c.label = 9;
342
+ case 9: return [4 /*yield*/, user1.api.chats.createOne({ roomId: room.id, message: "Hello!" })];
343
+ case 10:
355
344
  _c.sent();
356
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
357
- case 12:
345
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
346
+ case 11:
358
347
  _c.sent();
359
348
  (0, testing_1.assert)((0, utilities_1.objects_equivalent)(enduserEvents[0], undefined), 'enduser got message after logout on socket', 'enduser logged out');
360
349
  // re-authenticate enduser to send message to user
361
350
  return [4 /*yield*/, enduserSDK.authenticate(enduser.email, 'enduserPassword!')
362
351
  // ensure user logged out appropriately for not receiving message
363
352
  ];
364
- case 13:
353
+ case 12:
365
354
  // re-authenticate enduser to send message to user
366
355
  _c.sent();
367
356
  // ensure user logged out appropriately for not receiving message
368
357
  return [4 /*yield*/, user1.logout()];
369
- case 14:
358
+ case 13:
370
359
  // ensure user logged out appropriately for not receiving message
371
360
  _c.sent();
372
- if (!byTimeout) return [3 /*break*/, 17];
361
+ if (!byTimeout) return [3 /*break*/, 16];
373
362
  return [4 /*yield*/, user1.authenticate(email, password, { expirationInSeconds: byTimeout ? TEST_SESSION_DURATION : undefined })];
374
- case 15:
363
+ case 14:
375
364
  _c.sent();
376
365
  return [4 /*yield*/, (0, testing_1.wait)(undefined, TEST_SESSION_DURATION * 1000 + SESSION_TIMEOUT_DELAY)];
377
- case 16:
366
+ case 15:
378
367
  _c.sent();
379
- _c.label = 17;
380
- case 17: return [4 /*yield*/, enduserSDK.api.chats.createOne({ roomId: room.id, message: "Hello right back!" })];
381
- case 18:
368
+ return [3 /*break*/, 18];
369
+ case 16: return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
370
+ case 17:
382
371
  _c.sent();
383
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
372
+ _c.label = 18;
373
+ case 18: return [4 /*yield*/, enduserSDK.api.chats.createOne({ roomId: room.id, message: "Hello right back!" })];
384
374
  case 19:
375
+ _c.sent();
376
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
377
+ case 20:
385
378
  _c.sent();
386
379
  (0, testing_1.assert)((0, utilities_1.objects_equivalent)(userEvents[0], undefined), 'user got message after logout', 'user logged out');
387
380
  // must come before cleanup, so cleanup works
388
381
  return [4 /*yield*/, user1.authenticate(email, password)];
389
- case 20:
382
+ case 21:
390
383
  // must come before cleanup, so cleanup works
391
384
  _c.sent();
392
385
  // cleanup
@@ -394,7 +387,7 @@ var deauthentication_tests = function (byTimeout) {
394
387
  user1.api.endusers.deleteOne(enduser.id),
395
388
  user1.api.chat_rooms.deleteOne(room.id), // deletes chats as side effect
396
389
  ])];
397
- case 21:
390
+ case 22:
398
391
  // must come before cleanup, so cleanup works
399
392
  // cleanup
400
393
  _c.sent();
@@ -418,7 +411,7 @@ var calendar_events = function () { return __awaiter(void 0, void 0, void 0, fun
418
411
  return [4 /*yield*/, enduserSDK.authenticate(enduser.email, 'enduserPassword!')];
419
412
  case 3:
420
413
  _a.sent();
421
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
414
+ return [4 /*yield*/, enduserSDK.connectSocket()];
422
415
  case 4:
423
416
  _a.sent();
424
417
  userEvents = [];
@@ -433,7 +426,7 @@ var calendar_events = function () { return __awaiter(void 0, void 0, void 0, fun
433
426
  })];
434
427
  case 5:
435
428
  event = _a.sent();
436
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
429
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, AWAIT_SOCKET_DURATION)];
437
430
  case 6:
438
431
  _a.sent();
439
432
  (0, testing_1.assert)(userEvents.length === 0, 'creator got calendar event', 'calendar event not gone to creator');
@@ -448,14 +441,14 @@ var calendar_events = function () { return __awaiter(void 0, void 0, void 0, fun
448
441
  });
449
442
  }); };
450
443
  (function () { return __awaiter(void 0, void 0, void 0, function () {
451
- var loopCount, err_1;
444
+ var err_1;
452
445
  return __generator(this, function (_a) {
453
446
  switch (_a.label) {
454
447
  case 0:
455
448
  (0, testing_1.log_header)("Sockets");
456
449
  _a.label = 1;
457
450
  case 1:
458
- _a.trys.push([1, 15, , 16]);
451
+ _a.trys.push([1, 11, , 12]);
459
452
  return [4 /*yield*/, user1.authenticate(email, password)];
460
453
  case 2:
461
454
  _a.sent();
@@ -465,50 +458,33 @@ var calendar_events = function () { return __awaiter(void 0, void 0, void 0, fun
465
458
  return [4 /*yield*/, user2.authenticate(email2, password2)]; // generate authToken + socket connection for API keyj
466
459
  case 4:
467
460
  _a.sent(); // generate authToken + socket connection for API keyj
468
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 25)];
461
+ return [4 /*yield*/, user1.connectSocket()];
469
462
  case 5:
470
463
  _a.sent();
471
- loopCount = 0;
472
- _a.label = 6;
464
+ return [4 /*yield*/, user2.connectSocket()];
473
465
  case 6:
474
- if (!(!(user1.socketAuthenticated && user2.socketAuthenticated) && ++loopCount < 10)) return [3 /*break*/, 8];
475
- if (!user1.socketAuthenticated)
476
- user1.authenticate_socket();
477
- if (!user2.socketAuthenticated)
478
- user2.authenticate_socket();
479
- return [4 /*yield*/, (0, testing_1.wait)(undefined, 100)];
466
+ _a.sent();
467
+ return [4 /*yield*/, basic_tests()];
480
468
  case 7:
481
469
  _a.sent();
482
- return [3 /*break*/, 6];
470
+ return [4 /*yield*/, access_tests()];
483
471
  case 8:
484
- if (loopCount === 10) {
485
- console.log("Failed to authenticate");
486
- process.exit(1);
487
- }
472
+ _a.sent();
488
473
  return [4 /*yield*/, calendar_events()];
489
474
  case 9:
490
475
  _a.sent();
491
- return [4 /*yield*/, enduser_tests()];
476
+ return [4 /*yield*/, enduser_tests()
477
+ // await deauthentication_tests() // should come last!
478
+ // await deauthentication_tests(true) // should come last!
479
+ ];
492
480
  case 10:
493
481
  _a.sent();
494
- return [4 /*yield*/, basic_tests()];
482
+ return [3 /*break*/, 12];
495
483
  case 11:
496
- _a.sent();
497
- return [4 /*yield*/, access_tests()];
498
- case 12:
499
- _a.sent();
500
- return [4 /*yield*/, deauthentication_tests()]; // should come last!
501
- case 13:
502
- _a.sent(); // should come last!
503
- return [4 /*yield*/, deauthentication_tests(true)]; // should come last!
504
- case 14:
505
- _a.sent(); // should come last!
506
- return [3 /*break*/, 16];
507
- case 15:
508
484
  err_1 = _a.sent();
509
485
  console.error(err_1);
510
- return [3 /*break*/, 16];
511
- case 16:
486
+ return [3 /*break*/, 12];
487
+ case 12:
512
488
  process.exit();
513
489
  return [2 /*return*/];
514
490
  }
@@ -1 +1 @@
1
- {"version":3,"file":"socket_tests.js","sourceRoot":"","sources":["../../../src/tests/socket_tests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket_tests.js","sourceRoot":"","sources":["../../../src/tests/socket_tests.ts"],"names":[],"mappings":"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"}