@tellescope/sdk 1.256.13 → 1.256.14

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 (106) hide show
  1. package/lib/cjs/tests/api_tests/organization_signup.test.d.ts +20 -0
  2. package/lib/cjs/tests/api_tests/organization_signup.test.d.ts.map +1 -0
  3. package/lib/cjs/tests/api_tests/organization_signup.test.js +272 -0
  4. package/lib/cjs/tests/api_tests/organization_signup.test.js.map +1 -0
  5. package/lib/cjs/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.d.ts +30 -0
  6. package/lib/cjs/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.d.ts.map +1 -0
  7. package/lib/cjs/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.js +336 -0
  8. package/lib/cjs/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.js.map +1 -0
  9. package/lib/cjs/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.d.ts +6 -0
  10. package/lib/cjs/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -0
  11. package/lib/cjs/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.js +354 -0
  12. package/lib/cjs/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.js.map +1 -0
  13. package/lib/cjs/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.d.ts +46 -0
  14. package/lib/cjs/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.d.ts.map +1 -0
  15. package/lib/cjs/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.js +389 -0
  16. package/lib/cjs/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.js.map +1 -0
  17. package/lib/cjs/tests/api_tests/security/F-0192-automated-actions-process-gate.test.d.ts +43 -0
  18. package/lib/cjs/tests/api_tests/security/F-0192-automated-actions-process-gate.test.d.ts.map +1 -0
  19. package/lib/cjs/tests/api_tests/security/F-0192-automated-actions-process-gate.test.js +324 -0
  20. package/lib/cjs/tests/api_tests/security/F-0192-automated-actions-process-gate.test.js.map +1 -0
  21. package/lib/cjs/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.d.ts +43 -0
  22. package/lib/cjs/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.d.ts.map +1 -0
  23. package/lib/cjs/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.js +282 -0
  24. package/lib/cjs/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.js.map +1 -0
  25. package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts +5 -0
  26. package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts.map +1 -0
  27. package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.js +329 -0
  28. package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.js.map +1 -0
  29. package/lib/cjs/tests/setup_isolated.d.ts +68 -0
  30. package/lib/cjs/tests/setup_isolated.d.ts.map +1 -0
  31. package/lib/cjs/tests/setup_isolated.js +232 -0
  32. package/lib/cjs/tests/setup_isolated.js.map +1 -0
  33. package/lib/cjs/tests/tests.d.ts.map +1 -1
  34. package/lib/cjs/tests/tests.js +257 -209
  35. package/lib/cjs/tests/tests.js.map +1 -1
  36. package/lib/cjs/tests/unit_tests/do_not_send_address.test.d.ts +2 -0
  37. package/lib/cjs/tests/unit_tests/do_not_send_address.test.d.ts.map +1 -0
  38. package/lib/cjs/tests/unit_tests/do_not_send_address.test.js +89 -0
  39. package/lib/cjs/tests/unit_tests/do_not_send_address.test.js.map +1 -0
  40. package/lib/cjs/tests/unit_tests/openapi_spec_freshness.test.d.ts +17 -0
  41. package/lib/cjs/tests/unit_tests/openapi_spec_freshness.test.d.ts.map +1 -0
  42. package/lib/cjs/tests/unit_tests/openapi_spec_freshness.test.js +140 -0
  43. package/lib/cjs/tests/unit_tests/openapi_spec_freshness.test.js.map +1 -0
  44. package/lib/esm/enduser.d.ts +1 -0
  45. package/lib/esm/enduser.d.ts.map +1 -1
  46. package/lib/esm/sdk.d.ts +3 -2
  47. package/lib/esm/sdk.d.ts.map +1 -1
  48. package/lib/esm/session.d.ts +1 -0
  49. package/lib/esm/session.d.ts.map +1 -1
  50. package/lib/esm/tests/api_tests/organization_signup.test.d.ts +20 -0
  51. package/lib/esm/tests/api_tests/organization_signup.test.d.ts.map +1 -0
  52. package/lib/esm/tests/api_tests/organization_signup.test.js +264 -0
  53. package/lib/esm/tests/api_tests/organization_signup.test.js.map +1 -0
  54. package/lib/esm/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.d.ts +30 -0
  55. package/lib/esm/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.d.ts.map +1 -0
  56. package/lib/esm/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.js +332 -0
  57. package/lib/esm/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.js.map +1 -0
  58. package/lib/esm/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.d.ts +6 -0
  59. package/lib/esm/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -0
  60. package/lib/esm/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.js +350 -0
  61. package/lib/esm/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.js.map +1 -0
  62. package/lib/esm/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.d.ts +46 -0
  63. package/lib/esm/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.d.ts.map +1 -0
  64. package/lib/esm/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.js +382 -0
  65. package/lib/esm/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.js.map +1 -0
  66. package/lib/esm/tests/api_tests/security/F-0192-automated-actions-process-gate.test.d.ts +43 -0
  67. package/lib/esm/tests/api_tests/security/F-0192-automated-actions-process-gate.test.d.ts.map +1 -0
  68. package/lib/esm/tests/api_tests/security/F-0192-automated-actions-process-gate.test.js +317 -0
  69. package/lib/esm/tests/api_tests/security/F-0192-automated-actions-process-gate.test.js.map +1 -0
  70. package/lib/esm/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.d.ts +43 -0
  71. package/lib/esm/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.d.ts.map +1 -0
  72. package/lib/esm/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.js +277 -0
  73. package/lib/esm/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.js.map +1 -0
  74. package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts +5 -0
  75. package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts.map +1 -0
  76. package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.js +324 -0
  77. package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.js.map +1 -0
  78. package/lib/esm/tests/setup_isolated.d.ts +68 -0
  79. package/lib/esm/tests/setup_isolated.d.ts.map +1 -0
  80. package/lib/esm/tests/setup_isolated.js +221 -0
  81. package/lib/esm/tests/setup_isolated.js.map +1 -0
  82. package/lib/esm/tests/tests.d.ts.map +1 -1
  83. package/lib/esm/tests/tests.js +257 -209
  84. package/lib/esm/tests/tests.js.map +1 -1
  85. package/lib/esm/tests/unit_tests/do_not_send_address.test.d.ts +2 -0
  86. package/lib/esm/tests/unit_tests/do_not_send_address.test.d.ts.map +1 -0
  87. package/lib/esm/tests/unit_tests/do_not_send_address.test.js +85 -0
  88. package/lib/esm/tests/unit_tests/do_not_send_address.test.js.map +1 -0
  89. package/lib/esm/tests/unit_tests/openapi_spec_freshness.test.d.ts +17 -0
  90. package/lib/esm/tests/unit_tests/openapi_spec_freshness.test.d.ts.map +1 -0
  91. package/lib/esm/tests/unit_tests/openapi_spec_freshness.test.js +113 -0
  92. package/lib/esm/tests/unit_tests/openapi_spec_freshness.test.js.map +1 -0
  93. package/lib/tsconfig.tsbuildinfo +1 -1
  94. package/package.json +10 -10
  95. package/src/tests/api_tests/organization_signup.test.ts +240 -0
  96. package/src/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.ts +225 -0
  97. package/src/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.ts +162 -0
  98. package/src/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.ts +288 -0
  99. package/src/tests/api_tests/security/F-0192-automated-actions-process-gate.test.ts +238 -0
  100. package/src/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.ts +208 -0
  101. package/src/tests/api_tests/tickets_bulk_assign_from_queue.test.ts +279 -0
  102. package/src/tests/setup_isolated.ts +170 -0
  103. package/src/tests/tests.ts +25 -0
  104. package/src/tests/unit_tests/do_not_send_address.test.ts +60 -0
  105. package/src/tests/unit_tests/openapi_spec_freshness.test.ts +88 -0
  106. package/test_generated.pdf +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tickets_bulk_assign_from_queue.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/tickets_bulk_assign_from_queue.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { Session } from "../sdk";
2
+ export type IsolatedUser = {
3
+ id: string;
4
+ email: string;
5
+ password: string;
6
+ authToken: string;
7
+ roles: string[];
8
+ };
9
+ export type IsolatedTenant = {
10
+ businessId: string;
11
+ subdomain: string;
12
+ users: IsolatedUser[];
13
+ apiKeys: string[];
14
+ roles: string[];
15
+ /** Admin session (users[0]) */
16
+ sdk: Session;
17
+ /** Non-admin session (users[1]), when the spec provisioned one */
18
+ sdkNonAdmin: Session;
19
+ teardown: () => Promise<void>;
20
+ };
21
+ export type IsolatedTenantSpec = {
22
+ name?: string;
23
+ users?: {
24
+ roles?: string[];
25
+ isAdmin?: boolean;
26
+ }[];
27
+ apiKeys?: number;
28
+ roles?: {
29
+ role: string;
30
+ permissions?: any;
31
+ }[];
32
+ };
33
+ export declare const setup_isolated_tenant: (spec?: IsolatedTenantSpec) => Promise<IsolatedTenant>;
34
+ /** Sets the pending email-verification code for an unverified user, so a test can drive the real
35
+ * submit_email_verification endpoint. The address must be a `dontsend...@tellescope.com` one. */
36
+ export declare const set_email_verification_code: (email: string, code: string) => Promise<any>;
37
+ /** Raw access, for tests that need to assert on the response of a rejected call. */
38
+ export declare const test_support_request: (path: string, body: object) => Promise<{
39
+ status: number;
40
+ body: any;
41
+ }>;
42
+ export type Check = {
43
+ label: string;
44
+ pass: boolean;
45
+ detail: string;
46
+ };
47
+ /** Prints a suite's evidence table, then asserts. Split out so the assert phase can be deferred until
48
+ * after every concurrent suite has torn down — see run_isolated_in_parallel. */
49
+ export declare const assert_checks: (name: string, checks: Check[]) => void;
50
+ /**
51
+ * Runs isolated test bodies CONCURRENTLY.
52
+ *
53
+ * Why this exists rather than a bare Promise.all: the harness's `assert` calls process.exit(1) on
54
+ * failure, and process.exit does not run pending `finally` blocks. So if one suite asserted while
55
+ * another was still in flight, the other's teardown would never run and its provisioned tenants would
56
+ * be stranded permanently (nothing in the system can delete an organization record). `assert` also
57
+ * exits rather than throwing, so Promise.allSettled cannot recover it either.
58
+ *
59
+ * The contract that makes concurrency safe: each `run` collects Check[] and tears down its OWN tenants
60
+ * in a finally, and never asserts. Nothing here asserts until every suite has settled.
61
+ *
62
+ * Each suite's table prints as one non-yielding burst, so concurrent output stays readable.
63
+ */
64
+ export declare const run_isolated_in_parallel: (suites: {
65
+ name: string;
66
+ run: () => Promise<Check[]>;
67
+ }[]) => Promise<void>;
68
+ //# sourceMappingURL=setup_isolated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup_isolated.d.ts","sourceRoot":"","sources":["../../../src/tests/setup_isolated.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAqBhC,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+BAA+B;IAC/B,GAAG,EAAE,OAAO,CAAC;IACb,kEAAkE;IAClE,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,GAAG,CAAA;KAAE,EAAE,CAAC;CAC/C,CAAA;AAyBD,eAAO,MAAM,qBAAqB,UAAgB,kBAAkB,KAAQ,QAAQ,cAAc,CAqBjG,CAAA;AAED;kGACkG;AAClG,eAAO,MAAM,2BAA2B,UAAiB,MAAM,QAAQ,MAAM,iBAE5E,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,SAAgB,MAAM,QAAQ,MAAM;;;EASpE,CAAA;AAID,MAAM,MAAM,KAAK,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpE;iFACiF;AACjF,eAAO,MAAM,aAAa,SAAU,MAAM,UAAU,KAAK,EAAE,SAU1D,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,WAC3B;IAAE,MAAM,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,QAAQ,KAAK,EAAE,CAAC,CAAA;CAAE,EAAE,kBAmBxD,CAAA"}
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.run_isolated_in_parallel = exports.assert_checks = exports.test_support_request = exports.set_email_verification_code = exports.setup_isolated_tenant = void 0;
54
+ var axios_1 = __importDefault(require("axios"));
55
+ var testing_1 = require("@tellescope/testing");
56
+ var sdk_1 = require("../sdk");
57
+ var host = process.env.API_URL || 'http://localhost:8080';
58
+ /**
59
+ * Provisions a throwaway tenant for a test, via the API's /test-support endpoints.
60
+ *
61
+ * Why this exists alongside setup.ts: setup_tests authenticates two hand-seeded users named by
62
+ * TEST_EMAIL / NON_ADMIN_EMAIL against a hardcoded businessId, so running the suite requires a copy
63
+ * of someone's local database, and every test shares one tenant. This helper needs **no environment
64
+ * configuration at all** against a local API — clone, empty Mongo, run.
65
+ *
66
+ * setup.ts is deliberately untouched; existing tests keep the shared org. Use this for new tests.
67
+ *
68
+ * Isolated tests must NOT call sdk.reset_db(): it clears six global throttle namespaces, so it
69
+ * disturbs the rate-limit state of any concurrently running suite even though record data is
70
+ * tenant-scoped.
71
+ */
72
+ var TEST_SUPPORT_HEADER = 'x-tellescope-test-support';
73
+ var post = function (path, body) { return __awaiter(void 0, void 0, void 0, function () {
74
+ var r;
75
+ var _a;
76
+ return __generator(this, function (_b) {
77
+ switch (_b.label) {
78
+ case 0: return [4 /*yield*/, axios_1.default.request({
79
+ method: 'post',
80
+ url: "".concat(host, "/test-support").concat(path),
81
+ // forwarded only if present — required on staging, unnecessary (and unset) locally
82
+ data: __assign(__assign({}, body), (process.env.SERVICES_SECRET ? { servicesSecret: process.env.SERVICES_SECRET } : {})),
83
+ headers: (_a = {}, _a[TEST_SUPPORT_HEADER] = '1', _a),
84
+ validateStatus: function () { return true; },
85
+ })];
86
+ case 1:
87
+ r = _b.sent();
88
+ if (r.status !== 200) {
89
+ // Surface the server's reason. setup.ts's bare process.exit() on missing credentials turns a
90
+ // misconfiguration into a silent green pass; a provisioning failure must be loud.
91
+ throw new Error("test-support ".concat(path, " failed (").concat(r.status, "): ").concat(JSON.stringify(r.data))
92
+ + (r.status === 404
93
+ ? "\nThe route is not mounted \u2014 LOCAL is probably not \"true\" in the API's environment."
94
+ : ''));
95
+ }
96
+ return [2 /*return*/, r.data];
97
+ }
98
+ });
99
+ }); };
100
+ var setup_isolated_tenant = function (spec) {
101
+ if (spec === void 0) { spec = {}; }
102
+ return __awaiter(void 0, void 0, void 0, function () {
103
+ var tenant, sessionFor, _a, sdk, sdkNonAdmin;
104
+ return __generator(this, function (_b) {
105
+ switch (_b.label) {
106
+ case 0: return [4 /*yield*/, post('/provision-tenant', spec)];
107
+ case 1:
108
+ tenant = _b.sent();
109
+ sessionFor = function (user) { return __awaiter(void 0, void 0, void 0, function () {
110
+ var session;
111
+ return __generator(this, function (_a) {
112
+ switch (_a.label) {
113
+ case 0:
114
+ if (!user)
115
+ return [2 /*return*/, new sdk_1.Session({ host: host })];
116
+ session = new sdk_1.Session({ host: host, authToken: user.authToken });
117
+ return [4 /*yield*/, session.refresh_session()];
118
+ case 1:
119
+ _a.sent();
120
+ return [2 /*return*/, session];
121
+ }
122
+ });
123
+ }); };
124
+ return [4 /*yield*/, Promise.all([
125
+ sessionFor(tenant.users[0]),
126
+ sessionFor(tenant.users[1]),
127
+ ])];
128
+ case 2:
129
+ _a = _b.sent(), sdk = _a[0], sdkNonAdmin = _a[1];
130
+ return [2 /*return*/, __assign(__assign({}, tenant), { sdk: sdk, sdkNonAdmin: sdkNonAdmin, teardown: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
131
+ switch (_a.label) {
132
+ case 0: return [4 /*yield*/, post('/teardown-tenant', { businessId: tenant.businessId })];
133
+ case 1:
134
+ _a.sent();
135
+ return [2 /*return*/];
136
+ }
137
+ }); }); } })];
138
+ }
139
+ });
140
+ });
141
+ };
142
+ exports.setup_isolated_tenant = setup_isolated_tenant;
143
+ /** Sets the pending email-verification code for an unverified user, so a test can drive the real
144
+ * submit_email_verification endpoint. The address must be a `dontsend...@tellescope.com` one. */
145
+ var set_email_verification_code = function (email, code) { return __awaiter(void 0, void 0, void 0, function () {
146
+ return __generator(this, function (_a) {
147
+ return [2 /*return*/, (post('/set-email-verification-code', { email: email, code: code }))
148
+ /** Raw access, for tests that need to assert on the response of a rejected call. */
149
+ ];
150
+ });
151
+ }); };
152
+ exports.set_email_verification_code = set_email_verification_code;
153
+ /** Raw access, for tests that need to assert on the response of a rejected call. */
154
+ var test_support_request = function (path, body) { return __awaiter(void 0, void 0, void 0, function () {
155
+ var r;
156
+ var _a;
157
+ return __generator(this, function (_b) {
158
+ switch (_b.label) {
159
+ case 0: return [4 /*yield*/, axios_1.default.request({
160
+ method: 'post',
161
+ url: "".concat(host, "/test-support").concat(path),
162
+ data: __assign(__assign({}, body), (process.env.SERVICES_SECRET ? { servicesSecret: process.env.SERVICES_SECRET } : {})),
163
+ headers: (_a = {}, _a[TEST_SUPPORT_HEADER] = '1', _a),
164
+ validateStatus: function () { return true; },
165
+ })];
166
+ case 1:
167
+ r = _b.sent();
168
+ return [2 /*return*/, { status: r.status, body: r.data }];
169
+ }
170
+ });
171
+ }); };
172
+ exports.test_support_request = test_support_request;
173
+ /** Prints a suite's evidence table, then asserts. Split out so the assert phase can be deferred until
174
+ * after every concurrent suite has torn down — see run_isolated_in_parallel. */
175
+ var assert_checks = function (name, checks) {
176
+ console.log("\n ".concat(name, " check summary:"));
177
+ for (var _i = 0, checks_1 = checks; _i < checks_1.length; _i++) {
178
+ var c = checks_1[_i];
179
+ console.log(" ".concat(c.pass ? 'PASS' : 'FAIL', " ").concat(c.label, " \u2014 ").concat(c.detail));
180
+ }
181
+ console.log('');
182
+ for (var _a = 0, checks_2 = checks; _a < checks_2.length; _a++) {
183
+ var c = checks_2[_a];
184
+ (0, testing_1.assert)(c.pass, "".concat(c.label, " \u2014 ").concat(c.detail), c.label);
185
+ }
186
+ };
187
+ exports.assert_checks = assert_checks;
188
+ /**
189
+ * Runs isolated test bodies CONCURRENTLY.
190
+ *
191
+ * Why this exists rather than a bare Promise.all: the harness's `assert` calls process.exit(1) on
192
+ * failure, and process.exit does not run pending `finally` blocks. So if one suite asserted while
193
+ * another was still in flight, the other's teardown would never run and its provisioned tenants would
194
+ * be stranded permanently (nothing in the system can delete an organization record). `assert` also
195
+ * exits rather than throwing, so Promise.allSettled cannot recover it either.
196
+ *
197
+ * The contract that makes concurrency safe: each `run` collects Check[] and tears down its OWN tenants
198
+ * in a finally, and never asserts. Nothing here asserts until every suite has settled.
199
+ *
200
+ * Each suite's table prints as one non-yielding burst, so concurrent output stays readable.
201
+ */
202
+ var run_isolated_in_parallel = function (suites) { return __awaiter(void 0, void 0, void 0, function () {
203
+ var settled, rejected, _i, rejected_1, _a, name_1, reason, i, r;
204
+ return __generator(this, function (_b) {
205
+ switch (_b.label) {
206
+ case 0:
207
+ (0, testing_1.log_header)("Isolated (parallel): ".concat(suites.map(function (s) { return s.name; }).join(' | ')));
208
+ return [4 /*yield*/, Promise.allSettled(suites.map(function (s) { return s.run(); }))
209
+ // Surface an infrastructure failure (a throw, not a failed check) before asserting anything, so the
210
+ // reason isn't buried under another suite's table.
211
+ ];
212
+ case 1:
213
+ settled = _b.sent();
214
+ rejected = settled.flatMap(function (r, i) { return r.status === 'rejected' ? [{ name: suites[i].name, reason: r.reason }] : []; });
215
+ for (_i = 0, rejected_1 = rejected; _i < rejected_1.length; _i++) {
216
+ _a = rejected_1[_i], name_1 = _a.name, reason = _a.reason;
217
+ console.error(" ".concat(name_1, " threw before producing checks:"), reason);
218
+ }
219
+ if (rejected.length)
220
+ throw rejected[0].reason;
221
+ for (i = 0; i < settled.length; i++) {
222
+ r = settled[i];
223
+ if (r.status !== 'fulfilled')
224
+ continue;
225
+ (0, exports.assert_checks)(suites[i].name, r.value);
226
+ }
227
+ return [2 /*return*/];
228
+ }
229
+ });
230
+ }); };
231
+ exports.run_isolated_in_parallel = run_isolated_in_parallel;
232
+ //# sourceMappingURL=setup_isolated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup_isolated.js","sourceRoot":"","sources":["../../../src/tests/setup_isolated.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AA62EA,eAAO,MAAM,kCAAkC,qBAgJ9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBA2K/C,CAAA;AAGD,eAAO,MAAM,oBAAoB,qBAoHhC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBAsF3C,CAAA;AAID,eAAO,MAAM,0BAA0B,qBAqCtC,CAAA;AAy1FD,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AAotBD,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAqED,eAAO,MAAM,eAAe,qBAmD3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBAiqBhD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAqlDD,eAAO,MAAM,yBAAyB,qBA0DrC,CAAA;AAED,eAAO,MAAM,kBAAkB,qBAmK9B,CAAA;AAED,eAAO,MAAM,sBAAsB,qBA0BlC,CAAA;AAGD,eAAO,MAAM,mBAAmB,qBAmC/B,CAAA;AAED,eAAO,MAAM,gCAAgC,mCA8C5C,CAAA;AAED,eAAO,MAAM,cAAc,qBA+b1B,CAAA;AAGD,eAAO,MAAM,oBAAoB,uBAuBhC,CAAA;AA4wBD,eAAO,MAAM,4BAA4B,qBAoExC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBA4U3C,CAAA;AAED,eAAO,MAAM,gDAAgD,qBAyD5D,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAwIjC,CAAA"}
1
+ {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AAu3EA,eAAO,MAAM,kCAAkC,qBAgJ9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBA2K/C,CAAA;AAGD,eAAO,MAAM,oBAAoB,qBAoHhC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBAsF3C,CAAA;AAID,eAAO,MAAM,0BAA0B,qBAqCtC,CAAA;AAy1FD,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AAotBD,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAqED,eAAO,MAAM,eAAe,qBAmD3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBAiqBhD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAqlDD,eAAO,MAAM,yBAAyB,qBA0DrC,CAAA;AAED,eAAO,MAAM,kBAAkB,qBAmK9B,CAAA;AAED,eAAO,MAAM,sBAAsB,qBA0BlC,CAAA;AAGD,eAAO,MAAM,mBAAmB,qBAmC/B,CAAA;AAED,eAAO,MAAM,gCAAgC,mCA8C5C,CAAA;AAED,eAAO,MAAM,cAAc,qBA+b1B,CAAA;AAGD,eAAO,MAAM,oBAAoB,uBAuBhC,CAAA;AA4wBD,eAAO,MAAM,4BAA4B,qBAoExC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBA4U3C,CAAA;AAED,eAAO,MAAM,gDAAgD,qBAyD5D,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAwIjC,CAAA"}