@tellescope/sdk 0.0.60 → 0.0.63

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