@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.
- package/lib/cjs/tests/api_tests/organization_signup.test.d.ts +20 -0
- package/lib/cjs/tests/api_tests/organization_signup.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/organization_signup.test.js +272 -0
- package/lib/cjs/tests/api_tests/organization_signup.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.d.ts +30 -0
- package/lib/cjs/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.js +336 -0
- package/lib/cjs/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.d.ts +6 -0
- package/lib/cjs/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.js +354 -0
- package/lib/cjs/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.d.ts +46 -0
- package/lib/cjs/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.js +389 -0
- package/lib/cjs/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0192-automated-actions-process-gate.test.d.ts +43 -0
- package/lib/cjs/tests/api_tests/security/F-0192-automated-actions-process-gate.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0192-automated-actions-process-gate.test.js +324 -0
- package/lib/cjs/tests/api_tests/security/F-0192-automated-actions-process-gate.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.d.ts +43 -0
- package/lib/cjs/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.js +282 -0
- package/lib/cjs/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts +5 -0
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.js +329 -0
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.js.map +1 -0
- package/lib/cjs/tests/setup_isolated.d.ts +68 -0
- package/lib/cjs/tests/setup_isolated.d.ts.map +1 -0
- package/lib/cjs/tests/setup_isolated.js +232 -0
- package/lib/cjs/tests/setup_isolated.js.map +1 -0
- package/lib/cjs/tests/tests.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +257 -209
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/cjs/tests/unit_tests/do_not_send_address.test.d.ts +2 -0
- package/lib/cjs/tests/unit_tests/do_not_send_address.test.d.ts.map +1 -0
- package/lib/cjs/tests/unit_tests/do_not_send_address.test.js +89 -0
- package/lib/cjs/tests/unit_tests/do_not_send_address.test.js.map +1 -0
- package/lib/cjs/tests/unit_tests/openapi_spec_freshness.test.d.ts +17 -0
- package/lib/cjs/tests/unit_tests/openapi_spec_freshness.test.d.ts.map +1 -0
- package/lib/cjs/tests/unit_tests/openapi_spec_freshness.test.js +140 -0
- package/lib/cjs/tests/unit_tests/openapi_spec_freshness.test.js.map +1 -0
- package/lib/esm/enduser.d.ts +1 -0
- package/lib/esm/enduser.d.ts.map +1 -1
- package/lib/esm/sdk.d.ts +3 -2
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/session.d.ts +1 -0
- package/lib/esm/session.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/organization_signup.test.d.ts +20 -0
- package/lib/esm/tests/api_tests/organization_signup.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/organization_signup.test.js +264 -0
- package/lib/esm/tests/api_tests/organization_signup.test.js.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.d.ts +30 -0
- package/lib/esm/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.js +332 -0
- package/lib/esm/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.js.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.d.ts +6 -0
- package/lib/esm/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.js +350 -0
- package/lib/esm/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.js.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.d.ts +46 -0
- package/lib/esm/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.js +382 -0
- package/lib/esm/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.js.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0192-automated-actions-process-gate.test.d.ts +43 -0
- package/lib/esm/tests/api_tests/security/F-0192-automated-actions-process-gate.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0192-automated-actions-process-gate.test.js +317 -0
- package/lib/esm/tests/api_tests/security/F-0192-automated-actions-process-gate.test.js.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.d.ts +43 -0
- package/lib/esm/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.js +277 -0
- package/lib/esm/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.js.map +1 -0
- package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts +5 -0
- package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.js +324 -0
- package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.js.map +1 -0
- package/lib/esm/tests/setup_isolated.d.ts +68 -0
- package/lib/esm/tests/setup_isolated.d.ts.map +1 -0
- package/lib/esm/tests/setup_isolated.js +221 -0
- package/lib/esm/tests/setup_isolated.js.map +1 -0
- package/lib/esm/tests/tests.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +257 -209
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/esm/tests/unit_tests/do_not_send_address.test.d.ts +2 -0
- package/lib/esm/tests/unit_tests/do_not_send_address.test.d.ts.map +1 -0
- package/lib/esm/tests/unit_tests/do_not_send_address.test.js +85 -0
- package/lib/esm/tests/unit_tests/do_not_send_address.test.js.map +1 -0
- package/lib/esm/tests/unit_tests/openapi_spec_freshness.test.d.ts +17 -0
- package/lib/esm/tests/unit_tests/openapi_spec_freshness.test.d.ts.map +1 -0
- package/lib/esm/tests/unit_tests/openapi_spec_freshness.test.js +113 -0
- package/lib/esm/tests/unit_tests/openapi_spec_freshness.test.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/tests/api_tests/organization_signup.test.ts +240 -0
- package/src/tests/api_tests/security/F-0179-booking-info-idor-token-mint.test.ts +225 -0
- package/src/tests/api_tests/security/F-0185-startlinktoken-enduser-staff-escalation.test.ts +162 -0
- package/src/tests/api_tests/security/F-0191-schema-adminonly-enforcement.test.ts +288 -0
- package/src/tests/api_tests/security/F-0192-automated-actions-process-gate.test.ts +238 -0
- package/src/tests/api_tests/security/F-0196-add-to-journey-foreign-enduserid.test.ts +208 -0
- package/src/tests/api_tests/tickets_bulk_assign_from_queue.test.ts +279 -0
- package/src/tests/setup_isolated.ts +170 -0
- package/src/tests/tests.ts +25 -0
- package/src/tests/unit_tests/do_not_send_address.test.ts +60 -0
- package/src/tests/unit_tests/openapi_spec_freshness.test.ts +88 -0
- 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":"
|
|
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"}
|