@tellescope/sdk 1.251.0 → 1.252.0

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.
Files changed (89) hide show
  1. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.d.ts +6 -0
  2. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.d.ts.map +1 -0
  3. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.js +337 -0
  4. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.js.map +1 -0
  5. package/lib/cjs/tests/api_tests/enduser_login_rate_limits.test.d.ts +6 -0
  6. package/lib/cjs/tests/api_tests/enduser_login_rate_limits.test.d.ts.map +1 -0
  7. package/lib/cjs/tests/api_tests/enduser_login_rate_limits.test.js +287 -0
  8. package/lib/cjs/tests/api_tests/enduser_login_rate_limits.test.js.map +1 -0
  9. package/lib/cjs/tests/api_tests/push_forms_to_portal_group_completion.test.d.ts.map +1 -1
  10. package/lib/cjs/tests/api_tests/push_forms_to_portal_group_completion.test.js +234 -198
  11. package/lib/cjs/tests/api_tests/push_forms_to_portal_group_completion.test.js.map +1 -1
  12. package/lib/cjs/tests/api_tests/security/F-0001-data-sync-redaction-bypass.test.d.ts +28 -0
  13. package/lib/cjs/tests/api_tests/security/F-0001-data-sync-redaction-bypass.test.d.ts.map +1 -0
  14. package/lib/cjs/tests/api_tests/security/F-0001-data-sync-redaction-bypass.test.js +349 -0
  15. package/lib/cjs/tests/api_tests/security/F-0001-data-sync-redaction-bypass.test.js.map +1 -0
  16. package/lib/cjs/tests/api_tests/security/F-0005-ai-conversations-rbac.test.d.ts +28 -0
  17. package/lib/cjs/tests/api_tests/security/F-0005-ai-conversations-rbac.test.d.ts.map +1 -0
  18. package/lib/cjs/tests/api_tests/security/F-0005-ai-conversations-rbac.test.js +247 -0
  19. package/lib/cjs/tests/api_tests/security/F-0005-ai-conversations-rbac.test.js.map +1 -0
  20. package/lib/cjs/tests/api_tests/security/F-0007-invite-user-enumeration.test.d.ts +29 -0
  21. package/lib/cjs/tests/api_tests/security/F-0007-invite-user-enumeration.test.d.ts.map +1 -0
  22. package/lib/cjs/tests/api_tests/security/F-0007-invite-user-enumeration.test.js +278 -0
  23. package/lib/cjs/tests/api_tests/security/F-0007-invite-user-enumeration.test.js.map +1 -0
  24. package/lib/cjs/tests/api_tests/security/F-0008-handle-incoming-communication-cross-tenant.test.d.ts +24 -0
  25. package/lib/cjs/tests/api_tests/security/F-0008-handle-incoming-communication-cross-tenant.test.d.ts.map +1 -0
  26. package/lib/cjs/tests/api_tests/security/F-0008-handle-incoming-communication-cross-tenant.test.js +201 -0
  27. package/lib/cjs/tests/api_tests/security/F-0008-handle-incoming-communication-cross-tenant.test.js.map +1 -0
  28. package/lib/cjs/tests/api_tests/security/F-0013-sanitize-user-html.test.d.ts +2 -0
  29. package/lib/cjs/tests/api_tests/security/F-0013-sanitize-user-html.test.d.ts.map +1 -0
  30. package/lib/cjs/tests/api_tests/security/F-0013-sanitize-user-html.test.js +148 -0
  31. package/lib/cjs/tests/api_tests/security/F-0013-sanitize-user-html.test.js.map +1 -0
  32. package/lib/cjs/tests/api_tests/security/F-0016-prototype-pollution.test.d.ts +2 -0
  33. package/lib/cjs/tests/api_tests/security/F-0016-prototype-pollution.test.d.ts.map +1 -0
  34. package/lib/cjs/tests/api_tests/security/F-0016-prototype-pollution.test.js +88 -0
  35. package/lib/cjs/tests/api_tests/security/F-0016-prototype-pollution.test.js.map +1 -0
  36. package/lib/cjs/tests/tests.d.ts.map +1 -1
  37. package/lib/cjs/tests/tests.js +186 -151
  38. package/lib/cjs/tests/tests.js.map +1 -1
  39. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.d.ts +6 -0
  40. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.d.ts.map +1 -0
  41. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.js +333 -0
  42. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.js.map +1 -0
  43. package/lib/esm/tests/api_tests/enduser_login_rate_limits.test.d.ts +6 -0
  44. package/lib/esm/tests/api_tests/enduser_login_rate_limits.test.d.ts.map +1 -0
  45. package/lib/esm/tests/api_tests/enduser_login_rate_limits.test.js +280 -0
  46. package/lib/esm/tests/api_tests/enduser_login_rate_limits.test.js.map +1 -0
  47. package/lib/esm/tests/api_tests/push_forms_to_portal_group_completion.test.d.ts.map +1 -1
  48. package/lib/esm/tests/api_tests/push_forms_to_portal_group_completion.test.js +235 -199
  49. package/lib/esm/tests/api_tests/push_forms_to_portal_group_completion.test.js.map +1 -1
  50. package/lib/esm/tests/api_tests/security/F-0001-data-sync-redaction-bypass.test.d.ts +28 -0
  51. package/lib/esm/tests/api_tests/security/F-0001-data-sync-redaction-bypass.test.d.ts.map +1 -0
  52. package/lib/esm/tests/api_tests/security/F-0001-data-sync-redaction-bypass.test.js +345 -0
  53. package/lib/esm/tests/api_tests/security/F-0001-data-sync-redaction-bypass.test.js.map +1 -0
  54. package/lib/esm/tests/api_tests/security/F-0005-ai-conversations-rbac.test.d.ts +28 -0
  55. package/lib/esm/tests/api_tests/security/F-0005-ai-conversations-rbac.test.d.ts.map +1 -0
  56. package/lib/esm/tests/api_tests/security/F-0005-ai-conversations-rbac.test.js +243 -0
  57. package/lib/esm/tests/api_tests/security/F-0005-ai-conversations-rbac.test.js.map +1 -0
  58. package/lib/esm/tests/api_tests/security/F-0007-invite-user-enumeration.test.d.ts +29 -0
  59. package/lib/esm/tests/api_tests/security/F-0007-invite-user-enumeration.test.d.ts.map +1 -0
  60. package/lib/esm/tests/api_tests/security/F-0007-invite-user-enumeration.test.js +271 -0
  61. package/lib/esm/tests/api_tests/security/F-0007-invite-user-enumeration.test.js.map +1 -0
  62. package/lib/esm/tests/api_tests/security/F-0008-handle-incoming-communication-cross-tenant.test.d.ts +24 -0
  63. package/lib/esm/tests/api_tests/security/F-0008-handle-incoming-communication-cross-tenant.test.d.ts.map +1 -0
  64. package/lib/esm/tests/api_tests/security/F-0008-handle-incoming-communication-cross-tenant.test.js +194 -0
  65. package/lib/esm/tests/api_tests/security/F-0008-handle-incoming-communication-cross-tenant.test.js.map +1 -0
  66. package/lib/esm/tests/api_tests/security/F-0013-sanitize-user-html.test.d.ts +2 -0
  67. package/lib/esm/tests/api_tests/security/F-0013-sanitize-user-html.test.d.ts.map +1 -0
  68. package/lib/esm/tests/api_tests/security/F-0013-sanitize-user-html.test.js +144 -0
  69. package/lib/esm/tests/api_tests/security/F-0013-sanitize-user-html.test.js.map +1 -0
  70. package/lib/esm/tests/api_tests/security/F-0016-prototype-pollution.test.d.ts +2 -0
  71. package/lib/esm/tests/api_tests/security/F-0016-prototype-pollution.test.d.ts.map +1 -0
  72. package/lib/esm/tests/api_tests/security/F-0016-prototype-pollution.test.js +84 -0
  73. package/lib/esm/tests/api_tests/security/F-0016-prototype-pollution.test.js.map +1 -0
  74. package/lib/esm/tests/tests.d.ts.map +1 -1
  75. package/lib/esm/tests/tests.js +186 -151
  76. package/lib/esm/tests/tests.js.map +1 -1
  77. package/lib/tsconfig.tsbuildinfo +1 -1
  78. package/package.json +10 -10
  79. package/src/tests/api_tests/calendar_event_webhook_template.test.ts +204 -0
  80. package/src/tests/api_tests/enduser_login_rate_limits.test.ts +178 -0
  81. package/src/tests/api_tests/push_forms_to_portal_group_completion.test.ts +113 -88
  82. package/src/tests/api_tests/security/F-0001-data-sync-redaction-bypass.test.ts +236 -0
  83. package/src/tests/api_tests/security/F-0005-ai-conversations-rbac.test.ts +154 -0
  84. package/src/tests/api_tests/security/F-0007-invite-user-enumeration.test.ts +198 -0
  85. package/src/tests/api_tests/security/F-0008-handle-incoming-communication-cross-tenant.test.ts +130 -0
  86. package/src/tests/api_tests/security/F-0013-sanitize-user-html.test.ts +109 -0
  87. package/src/tests/api_tests/security/F-0016-prototype-pollution.test.ts +50 -0
  88. package/src/tests/tests.ts +19 -2
  89. package/test_generated.pdf +0 -0
@@ -0,0 +1,6 @@
1
+ import { Session } from "../../sdk";
2
+ export declare const calendar_event_webhook_template_tests: ({ sdk, sdkNonAdmin }: {
3
+ sdk: Session;
4
+ sdkNonAdmin: Session;
5
+ }) => Promise<void>;
6
+ //# sourceMappingURL=calendar_event_webhook_template.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar_event_webhook_template.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/calendar_event_webhook_template.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA4BnC,eAAO,MAAM,qCAAqC;SAClB,OAAO;iBAAe,OAAO;mBAsJ5D,CAAA"}
@@ -0,0 +1,337 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.calendar_event_webhook_template_tests = void 0;
40
+ require('source-map-support').install();
41
+ var sdk_1 = require("../../sdk");
42
+ var testing_1 = require("@tellescope/testing");
43
+ var setup_1 = require("../setup");
44
+ var host = process.env.API_URL || 'http://localhost:8080';
45
+ var HEALTHIE_TITLE = 'Healthie'; // mirror @tellescope/constants HEALTHIE_TITLE
46
+ // Unreachable webhook target — the request will fail quickly but the API still writes
47
+ // the resolved payload to webhook_logs, which is what we're verifying.
48
+ var WEBHOOK_TARGET_URL = 'http://127.0.0.1:9';
49
+ var find_log_for_url = function (sdk, url, expectedHealthieId) { return __awaiter(void 0, void 0, void 0, function () {
50
+ var start, logs, match;
51
+ return __generator(this, function (_a) {
52
+ switch (_a.label) {
53
+ case 0:
54
+ start = Date.now();
55
+ _a.label = 1;
56
+ case 1:
57
+ if (!(Date.now() - start < 10000)) return [3 /*break*/, 4];
58
+ return [4 /*yield*/, sdk.api.webhook_logs.getSome({ limit: 50, sort: 'newFirst' })];
59
+ case 2:
60
+ logs = _a.sent();
61
+ match = logs.find(function (l) { var _a; return l.url === url && ((_a = l.payload) === null || _a === void 0 ? void 0 : _a.healthieId) === expectedHealthieId; });
62
+ if (match)
63
+ return [2 /*return*/, match];
64
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 500)];
65
+ case 3:
66
+ _a.sent();
67
+ return [3 /*break*/, 1];
68
+ case 4: return [2 /*return*/, null];
69
+ }
70
+ });
71
+ }); };
72
+ // Main test function that can be called independently
73
+ var calendar_event_webhook_template_tests = function (_a) {
74
+ var sdk = _a.sdk, sdkNonAdmin = _a.sdkNonAdmin;
75
+ return __awaiter(void 0, void 0, void 0, function () {
76
+ var enduser, externalIdEvent, referencesEvent, journey, step, _b, _c, _d, _e, _f;
77
+ return __generator(this, function (_g) {
78
+ switch (_g.label) {
79
+ case 0:
80
+ (0, testing_1.log_header)("Calendar Event Webhook Template Tests");
81
+ return [4 /*yield*/, sdk.api.endusers.createOne({})
82
+ // Case 1: Healthie ID resolved via source + externalId
83
+ ];
84
+ case 1:
85
+ enduser = _g.sent();
86
+ return [4 /*yield*/, sdk.api.calendar_events.createOne({
87
+ title: 'External ID Calendar Event',
88
+ durationInMinutes: 30,
89
+ startTimeInMS: Date.now(),
90
+ attendees: [{ type: 'enduser', id: enduser.id }],
91
+ source: HEALTHIE_TITLE,
92
+ externalId: 'evt_HEALTHIE_123',
93
+ })
94
+ // Case 2: Healthie ID resolved via references
95
+ ];
96
+ case 2:
97
+ externalIdEvent = _g.sent();
98
+ return [4 /*yield*/, sdk.api.calendar_events.createOne({
99
+ title: 'References Calendar Event',
100
+ durationInMinutes: 30,
101
+ startTimeInMS: Date.now(),
102
+ attendees: [{ type: 'enduser', id: enduser.id }],
103
+ references: [{ type: HEALTHIE_TITLE, id: 'evt_REF_456' }],
104
+ })
105
+ // create an automation step to satisfy schema validation (automationStepId is required)
106
+ ];
107
+ case 3:
108
+ referencesEvent = _g.sent();
109
+ return [4 /*yield*/, sdk.api.journeys.createOne({
110
+ title: 'Calendar Event Webhook Template Tests',
111
+ defaultState: 'State 1',
112
+ })];
113
+ case 4:
114
+ journey = _g.sent();
115
+ return [4 /*yield*/, sdk.api.automation_steps.createOne({
116
+ journeyId: journey.id,
117
+ events: [{ type: 'onJourneyStart', info: {} }],
118
+ action: {
119
+ type: 'sendWebhook',
120
+ info: {
121
+ message: 'placeholder',
122
+ url: WEBHOOK_TARGET_URL,
123
+ },
124
+ },
125
+ })];
126
+ case 5:
127
+ step = _g.sent();
128
+ _g.label = 6;
129
+ case 6:
130
+ _g.trys.push([6, , 10, 26]);
131
+ return [4 /*yield*/, (0, testing_1.async_test)('Send Webhook resolves {{calendar_event.Healthie ID}} from source+externalId', function () { return __awaiter(void 0, void 0, void 0, function () {
132
+ var url, log, payload;
133
+ return __generator(this, function (_a) {
134
+ switch (_a.label) {
135
+ case 0:
136
+ url = "".concat(WEBHOOK_TARGET_URL, "/external/").concat(externalIdEvent.id);
137
+ return [4 /*yield*/, sdk.api.webhooks.send_automation_webhook({
138
+ message: 'placeholder',
139
+ enduserId: enduser.id,
140
+ automationStepId: step.id,
141
+ action: {
142
+ type: 'sendWebhook',
143
+ info: {
144
+ message: 'placeholder',
145
+ url: url,
146
+ fields: [
147
+ { field: 'healthieId', value: '{{calendar_event.Healthie ID}}' },
148
+ { field: 'title', value: '{{calendar_event.title}}' },
149
+ ],
150
+ },
151
+ },
152
+ context: { calendarEventId: externalIdEvent.id },
153
+ }).catch(function () { })]; // the unreachable URL is expected to error after logging
154
+ case 1:
155
+ _a.sent(); // the unreachable URL is expected to error after logging
156
+ return [4 /*yield*/, find_log_for_url(sdk, url, 'evt_HEALTHIE_123')];
157
+ case 2:
158
+ log = _a.sent();
159
+ if (!log)
160
+ return [2 /*return*/, false];
161
+ payload = log.payload;
162
+ return [2 /*return*/, (payload === null || payload === void 0 ? void 0 : payload.healthieId) === 'evt_HEALTHIE_123'
163
+ && (payload === null || payload === void 0 ? void 0 : payload.title) === externalIdEvent.title];
164
+ }
165
+ });
166
+ }); }, { onResult: function (r) { return r === true; } })];
167
+ case 7:
168
+ _g.sent();
169
+ return [4 /*yield*/, (0, testing_1.async_test)('Send Webhook resolves {{calendar_event.Healthie ID}} from references', function () { return __awaiter(void 0, void 0, void 0, function () {
170
+ var url, log, payload;
171
+ return __generator(this, function (_a) {
172
+ switch (_a.label) {
173
+ case 0:
174
+ url = "".concat(WEBHOOK_TARGET_URL, "/refs/").concat(referencesEvent.id);
175
+ return [4 /*yield*/, sdk.api.webhooks.send_automation_webhook({
176
+ message: 'placeholder',
177
+ enduserId: enduser.id,
178
+ automationStepId: step.id,
179
+ action: {
180
+ type: 'sendWebhook',
181
+ info: {
182
+ message: 'placeholder',
183
+ url: url,
184
+ fields: [
185
+ { field: 'healthieId', value: '{{calendar_event.Healthie ID}}' },
186
+ { field: 'title', value: '{{calendar_event.title}}' },
187
+ ],
188
+ },
189
+ },
190
+ context: { calendarEventId: referencesEvent.id },
191
+ }).catch(function () { })];
192
+ case 1:
193
+ _a.sent();
194
+ return [4 /*yield*/, find_log_for_url(sdk, url, 'evt_REF_456')];
195
+ case 2:
196
+ log = _a.sent();
197
+ if (!log)
198
+ return [2 /*return*/, false];
199
+ payload = log.payload;
200
+ return [2 /*return*/, (payload === null || payload === void 0 ? void 0 : payload.healthieId) === 'evt_REF_456'
201
+ && (payload === null || payload === void 0 ? void 0 : payload.title) === referencesEvent.title];
202
+ }
203
+ });
204
+ }); }, { onResult: function (r) { return r === true; } })];
205
+ case 8:
206
+ _g.sent();
207
+ return [4 /*yield*/, (0, testing_1.async_test)('Send Webhook leaves {{calendar_event.Healthie ID}} blank when no calendarEventId in context', function () { return __awaiter(void 0, void 0, void 0, function () {
208
+ var url, start, logs, match, payload;
209
+ return __generator(this, function (_a) {
210
+ switch (_a.label) {
211
+ case 0:
212
+ url = "".concat(WEBHOOK_TARGET_URL, "/nocontext");
213
+ return [4 /*yield*/, sdk.api.webhooks.send_automation_webhook({
214
+ message: 'placeholder',
215
+ enduserId: enduser.id,
216
+ automationStepId: step.id,
217
+ action: {
218
+ type: 'sendWebhook',
219
+ info: {
220
+ message: 'placeholder',
221
+ url: url,
222
+ fields: [
223
+ { field: 'healthieId', value: '{{calendar_event.Healthie ID}}' },
224
+ ],
225
+ },
226
+ },
227
+ // no calendarEventId
228
+ }).catch(function () { })
229
+ // Without a calendar event in context, the templating helper returns the input
230
+ // unchanged, so the literal template string remains in the payload.
231
+ ];
232
+ case 1:
233
+ _a.sent();
234
+ start = Date.now();
235
+ _a.label = 2;
236
+ case 2:
237
+ if (!(Date.now() - start < 10000)) return [3 /*break*/, 5];
238
+ return [4 /*yield*/, sdk.api.webhook_logs.getSome({ limit: 50, sort: 'newFirst' })];
239
+ case 3:
240
+ logs = _a.sent();
241
+ match = logs.find(function (l) { return l.url === url; });
242
+ if (match) {
243
+ payload = match.payload;
244
+ return [2 /*return*/, (payload === null || payload === void 0 ? void 0 : payload.healthieId) === '{{calendar_event.Healthie ID}}'];
245
+ }
246
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 500)];
247
+ case 4:
248
+ _a.sent();
249
+ return [3 /*break*/, 2];
250
+ case 5: return [2 /*return*/, false];
251
+ }
252
+ });
253
+ }); }, { onResult: function (r) { return r === true; } })];
254
+ case 9:
255
+ _g.sent();
256
+ return [3 /*break*/, 26];
257
+ case 10:
258
+ _g.trys.push([10, 12, , 13]);
259
+ return [4 /*yield*/, sdk.api.calendar_events.deleteOne(externalIdEvent.id)];
260
+ case 11:
261
+ _g.sent();
262
+ return [3 /*break*/, 13];
263
+ case 12:
264
+ _b = _g.sent();
265
+ return [3 /*break*/, 13];
266
+ case 13:
267
+ _g.trys.push([13, 15, , 16]);
268
+ return [4 /*yield*/, sdk.api.calendar_events.deleteOne(referencesEvent.id)];
269
+ case 14:
270
+ _g.sent();
271
+ return [3 /*break*/, 16];
272
+ case 15:
273
+ _c = _g.sent();
274
+ return [3 /*break*/, 16];
275
+ case 16:
276
+ _g.trys.push([16, 18, , 19]);
277
+ return [4 /*yield*/, sdk.api.automation_steps.deleteOne(step.id)];
278
+ case 17:
279
+ _g.sent();
280
+ return [3 /*break*/, 19];
281
+ case 18:
282
+ _d = _g.sent();
283
+ return [3 /*break*/, 19];
284
+ case 19:
285
+ _g.trys.push([19, 21, , 22]);
286
+ return [4 /*yield*/, sdk.api.journeys.deleteOne(journey.id)];
287
+ case 20:
288
+ _g.sent();
289
+ return [3 /*break*/, 22];
290
+ case 21:
291
+ _e = _g.sent();
292
+ return [3 /*break*/, 22];
293
+ case 22:
294
+ _g.trys.push([22, 24, , 25]);
295
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
296
+ case 23:
297
+ _g.sent();
298
+ return [3 /*break*/, 25];
299
+ case 24:
300
+ _f = _g.sent();
301
+ return [3 /*break*/, 25];
302
+ case 25: return [7 /*endfinally*/];
303
+ case 26: return [2 /*return*/];
304
+ }
305
+ });
306
+ });
307
+ };
308
+ exports.calendar_event_webhook_template_tests = calendar_event_webhook_template_tests;
309
+ // Allow running this test file independently
310
+ if (require.main === module) {
311
+ console.log("\uD83C\uDF10 Using API URL: ".concat(host));
312
+ var sdk_2 = new sdk_1.Session({ host: host });
313
+ var sdkNonAdmin_1 = new sdk_1.Session({ host: host });
314
+ var runTests = function () { return __awaiter(void 0, void 0, void 0, function () {
315
+ return __generator(this, function (_a) {
316
+ switch (_a.label) {
317
+ case 0: return [4 /*yield*/, (0, setup_1.setup_tests)(sdk_2, sdkNonAdmin_1)];
318
+ case 1:
319
+ _a.sent();
320
+ return [4 /*yield*/, (0, exports.calendar_event_webhook_template_tests)({ sdk: sdk_2, sdkNonAdmin: sdkNonAdmin_1 })];
321
+ case 2:
322
+ _a.sent();
323
+ return [2 /*return*/];
324
+ }
325
+ });
326
+ }); };
327
+ runTests()
328
+ .then(function () {
329
+ console.log("✅ Calendar event webhook template test suite completed successfully");
330
+ process.exit(0);
331
+ })
332
+ .catch(function (error) {
333
+ console.error("❌ Calendar event webhook template test suite failed:", error);
334
+ process.exit(1);
335
+ });
336
+ }
337
+ //# sourceMappingURL=calendar_event_webhook_template.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar_event_webhook_template.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/calendar_event_webhook_template.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Session } from "../../sdk";
2
+ export declare const enduser_login_rate_limits_tests: ({ sdk, sdkNonAdmin }: {
3
+ sdk: Session;
4
+ sdkNonAdmin: Session;
5
+ }) => Promise<void>;
6
+ //# sourceMappingURL=enduser_login_rate_limits.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enduser_login_rate_limits.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/enduser_login_rate_limits.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoCnC,eAAO,MAAM,+BAA+B;SAAwC,OAAO;iBAAe,OAAO;mBAoHhH,CAAA"}