@memberjunction/testing-integration 6.1.4 → 6.2.0-edge.1
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/dist/IntegrationTestDriver.js +9 -9
- package/dist/ai-verify.d.ts +8 -0
- package/dist/ai-verify.d.ts.map +1 -1
- package/dist/ai-verify.js +18 -6
- package/dist/ai-verify.js.map +1 -1
- package/dist/bootstrap-client.d.ts +2 -0
- package/dist/bootstrap-client.d.ts.map +1 -1
- package/dist/bootstrap-client.js +12 -8
- package/dist/bootstrap-client.js.map +1 -1
- package/dist/bootstrap-shared.d.ts +22 -0
- package/dist/bootstrap-shared.d.ts.map +1 -1
- package/dist/bootstrap-shared.js +50 -10
- package/dist/bootstrap-shared.js.map +1 -1
- package/dist/bootstrap.d.ts +2 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +10 -6
- package/dist/bootstrap.js.map +1 -1
- package/dist/fls-fixture.d.ts +2 -0
- package/dist/fls-fixture.d.ts.map +1 -1
- package/dist/fls-fixture.js +9 -5
- package/dist/fls-fixture.js.map +1 -1
- package/dist/rls-fixture.d.ts +11 -0
- package/dist/rls-fixture.d.ts.map +1 -1
- package/dist/rls-fixture.js +25 -9
- package/dist/rls-fixture.js.map +1 -1
- package/dist/test-runner.d.ts +4 -0
- package/dist/test-runner.d.ts.map +1 -1
- package/dist/test-runner.js +9 -3
- package/dist/test-runner.js.map +1 -1
- package/package.json +12 -12
|
@@ -33,12 +33,12 @@ import { BaseTestDriver } from '@memberjunction/testing-engine';
|
|
|
33
33
|
import { Metadata, ProviderType } from '@memberjunction/core';
|
|
34
34
|
import { SQLServerDataProvider, SQLServerProviderConfigData } from '@memberjunction/sqlserver-dataprovider';
|
|
35
35
|
import { UserCache } from '@memberjunction/generic-database-provider';
|
|
36
|
-
import { getActiveIntegrationStorage, getActiveIntegrationBootstrap, getActiveIntegrationClientBootstrap,
|
|
37
|
-
import {
|
|
36
|
+
import { getActiveIntegrationStorage, getActiveIntegrationBootstrap, getActiveIntegrationClientBootstrap, BootstrapIntegrationServer, serverProcessAlreadyClaimed } from './bootstrap.js';
|
|
37
|
+
import { BootstrapIntegrationClient } from './bootstrap-client.js';
|
|
38
38
|
import { IntegrationCheckRegistry } from './check-registry.js';
|
|
39
39
|
import { TIER_ENV_GATE, IsTierEnabled } from './tiers.js';
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
40
|
+
import { WriteOutcomesFile } from './test-runner.js';
|
|
41
|
+
import { DiscoverRlsFixture } from './rls-fixture.js';
|
|
42
42
|
const TARGET_TYPE = 'Integration Check Bundle';
|
|
43
43
|
/** Bundles that run against the GraphQL client transport (everything else: SQL server). */
|
|
44
44
|
const CLIENT_BUNDLES = new Set(['client-cache', 'rls-isolation-client', 'remote-op-wire-progress', 'fls-enforcement-client']);
|
|
@@ -63,7 +63,7 @@ let IntegrationTestDriver = class IntegrationTestDriver extends BaseTestDriver {
|
|
|
63
63
|
try {
|
|
64
64
|
const users = UserCache.Instance.Users;
|
|
65
65
|
if (users && users.length > 0) {
|
|
66
|
-
context.Data[RLS_FIXTURE_KEY] =
|
|
66
|
+
context.Data[RLS_FIXTURE_KEY] = DiscoverRlsFixture(this.Provider, users);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
catch (e) {
|
|
@@ -88,7 +88,7 @@ let IntegrationTestDriver = class IntegrationTestDriver extends BaseTestDriver {
|
|
|
88
88
|
if (cached) {
|
|
89
89
|
return cached;
|
|
90
90
|
}
|
|
91
|
-
const fx =
|
|
91
|
+
const fx = DiscoverRlsFixture(this.Provider, UserCache.Instance.Users);
|
|
92
92
|
if (context.fixtures) {
|
|
93
93
|
context.fixtures.Data[RLS_FIXTURE_KEY] = fx;
|
|
94
94
|
}
|
|
@@ -168,7 +168,7 @@ let IntegrationTestDriver = class IntegrationTestDriver extends BaseTestDriver {
|
|
|
168
168
|
const emitPath = process.env.EMIT_OUTCOMES;
|
|
169
169
|
if (emitPath) {
|
|
170
170
|
try {
|
|
171
|
-
await
|
|
171
|
+
await WriteOutcomesFile(emitPath, outcomes);
|
|
172
172
|
}
|
|
173
173
|
catch (e) {
|
|
174
174
|
this.logToTestRun(context, 'warn', `EMIT_OUTCOMES write failed: ${e.message}`);
|
|
@@ -348,7 +348,7 @@ let IntegrationTestDriver = class IntegrationTestDriver extends BaseTestDriver {
|
|
|
348
348
|
*/
|
|
349
349
|
async buildCheckContext(context, transport) {
|
|
350
350
|
if (transport === 'client') {
|
|
351
|
-
const client = getActiveIntegrationClientBootstrap() ?? await
|
|
351
|
+
const client = getActiveIntegrationClientBootstrap() ?? await BootstrapIntegrationClient();
|
|
352
352
|
return {
|
|
353
353
|
User: context.contextUser,
|
|
354
354
|
Provider: this.Provider,
|
|
@@ -369,7 +369,7 @@ let IntegrationTestDriver = class IntegrationTestDriver extends BaseTestDriver {
|
|
|
369
369
|
// process (D1), so the global is unambiguous and matches what the tsx dispatcher passes.
|
|
370
370
|
let provider = activeBootstrap?.Provider ?? Metadata.Provider;
|
|
371
371
|
if (!storage) {
|
|
372
|
-
const ic = await
|
|
372
|
+
const ic = await BootstrapIntegrationServer();
|
|
373
373
|
storage = ic.Storage;
|
|
374
374
|
pool = ic.Pool;
|
|
375
375
|
schema = ic.Db.Schema;
|
package/dist/ai-verify.d.ts
CHANGED
|
@@ -4,8 +4,12 @@ type Row = Record<string, unknown>;
|
|
|
4
4
|
* Verifies an `MJ: AI Prompt Runs` row finalized correctly: terminal Status, **CompletedAt set** (the
|
|
5
5
|
* "stuck at Running" guard the save queue prevents), and on success a non-empty Result + recorded timing.
|
|
6
6
|
*/
|
|
7
|
+
export declare function VerifyPromptRun(promptRunID: string, user: UserInfo): Promise<Row>;
|
|
8
|
+
/** @deprecated Use {@link VerifyPromptRun}. */
|
|
7
9
|
export declare function verifyPromptRun(promptRunID: string, user: UserInfo): Promise<Row>;
|
|
8
10
|
/** Verifies an `MJ: Action Execution Logs` row finalized: **EndedAt set** + a ResultCode recorded. */
|
|
11
|
+
export declare function VerifyActionLog(logID: string, user: UserInfo): Promise<Row>;
|
|
12
|
+
/** @deprecated Use {@link VerifyActionLog}. */
|
|
9
13
|
export declare function verifyActionLog(logID: string, user: UserInfo): Promise<Row>;
|
|
10
14
|
export interface AgentRunVerification {
|
|
11
15
|
run: Row;
|
|
@@ -20,6 +24,10 @@ export interface AgentRunVerification {
|
|
|
20
24
|
* TargetLogID — Prompt steps → AI Prompt Runs, Actions/Tool steps → Action Execution Logs, Sub-Agent steps
|
|
21
25
|
* → child AI Agent Runs (recursively). `expectSuccess` asserts the run reached 'Completed'.
|
|
22
26
|
*/
|
|
27
|
+
export declare function VerifyAgentRun(agentRunID: string, user: UserInfo, expectSuccess?: boolean, opts?: {
|
|
28
|
+
skipActionLogs?: boolean;
|
|
29
|
+
}): Promise<AgentRunVerification>;
|
|
30
|
+
/** @deprecated Use {@link VerifyAgentRun}. */
|
|
23
31
|
export declare function verifyAgentRun(agentRunID: string, user: UserInfo, expectSuccess?: boolean, opts?: {
|
|
24
32
|
skipActionLogs?: boolean;
|
|
25
33
|
}): Promise<AgentRunVerification>;
|
package/dist/ai-verify.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-verify.d.ts","sourceRoot":"","sources":["../src/ai-verify.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA4DnC;;;GAGG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CASvF;AAED,sGAAsG;AACtG,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAYjF;AAED,MAAM,WAAW,oBAAoB;IACjC,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,UAAO,EAAE,IAAI,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqDrK"}
|
|
1
|
+
{"version":3,"file":"ai-verify.d.ts","sourceRoot":"","sources":["../src/ai-verify.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA4DnC;;;GAGG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CASvF;AAED,+CAA+C;AAC/C,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAEvF;AAED,sGAAsG;AACtG,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAYjF;AAED,+CAA+C;AAC/C,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAEjF;AAED,MAAM,WAAW,oBAAoB;IACjC,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,UAAO,EAAE,IAAI,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqDrK;AAED,8CAA8C;AAC9C,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,UAAO,EAAE,IAAI,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAErK"}
|
package/dist/ai-verify.js
CHANGED
|
@@ -71,7 +71,7 @@ async function fetchById(entity, id, user, until) {
|
|
|
71
71
|
* Verifies an `MJ: AI Prompt Runs` row finalized correctly: terminal Status, **CompletedAt set** (the
|
|
72
72
|
* "stuck at Running" guard the save queue prevents), and on success a non-empty Result + recorded timing.
|
|
73
73
|
*/
|
|
74
|
-
export async function
|
|
74
|
+
export async function VerifyPromptRun(promptRunID, user) {
|
|
75
75
|
const row = await fetchById('MJ: AI Prompt Runs', promptRunID, user);
|
|
76
76
|
Assert(TERMINAL.has(String(row.Status)), `Prompt run ${promptRunID}: non-terminal Status '${row.Status}' (stuck at Running?)`);
|
|
77
77
|
Assert(row.CompletedAt != null, `Prompt run ${promptRunID}: CompletedAt is null while Status='${row.Status}' (finalize save lost)`);
|
|
@@ -81,8 +81,12 @@ export async function verifyPromptRun(promptRunID, user) {
|
|
|
81
81
|
}
|
|
82
82
|
return row;
|
|
83
83
|
}
|
|
84
|
+
/** @deprecated Use {@link VerifyPromptRun}. */
|
|
85
|
+
export async function verifyPromptRun(promptRunID, user) {
|
|
86
|
+
return VerifyPromptRun(promptRunID, user);
|
|
87
|
+
}
|
|
84
88
|
/** Verifies an `MJ: Action Execution Logs` row finalized: **EndedAt set** + a ResultCode recorded. */
|
|
85
|
-
export async function
|
|
89
|
+
export async function VerifyActionLog(logID, user) {
|
|
86
90
|
// The log is written by TWO queued saves: a 'started' INSERT (EndedAt NULL) then an 'ended'
|
|
87
91
|
// UPDATE. Polling on existence alone returns the started row and asserts on a write that is
|
|
88
92
|
// still in flight — so gate the poll on EndedAt, and let the assertion below speak only to a
|
|
@@ -95,13 +99,17 @@ export async function verifyActionLog(logID, user) {
|
|
|
95
99
|
Assert(row.ResultCode != null && String(row.ResultCode).length > 0, `Action log ${logID}: no ResultCode recorded`);
|
|
96
100
|
return row;
|
|
97
101
|
}
|
|
102
|
+
/** @deprecated Use {@link VerifyActionLog}. */
|
|
103
|
+
export async function verifyActionLog(logID, user) {
|
|
104
|
+
return VerifyActionLog(logID, user);
|
|
105
|
+
}
|
|
98
106
|
/**
|
|
99
107
|
* Deep-verifies an agent run end to end: the `MJ: AI Agent Runs` header, every `MJ: AI Agent Run Steps`
|
|
100
108
|
* row (each terminal + CompletedAt set — never stuck at Running), and the records each step points at via
|
|
101
109
|
* TargetLogID — Prompt steps → AI Prompt Runs, Actions/Tool steps → Action Execution Logs, Sub-Agent steps
|
|
102
110
|
* → child AI Agent Runs (recursively). `expectSuccess` asserts the run reached 'Completed'.
|
|
103
111
|
*/
|
|
104
|
-
export async function
|
|
112
|
+
export async function VerifyAgentRun(agentRunID, user, expectSuccess = true, opts = {}) {
|
|
105
113
|
const run = await fetchById('MJ: AI Agent Runs', agentRunID, user);
|
|
106
114
|
const status = String(run.Status);
|
|
107
115
|
// The actual "stuck at Running" guard: a finalized run is anything except still-Running.
|
|
@@ -135,7 +143,7 @@ export async function verifyAgentRun(agentRunID, user, expectSuccess = true, opt
|
|
|
135
143
|
continue;
|
|
136
144
|
}
|
|
137
145
|
if (step.StepType === 'Prompt') {
|
|
138
|
-
await
|
|
146
|
+
await VerifyPromptRun(target, user);
|
|
139
147
|
promptRunsVerified++;
|
|
140
148
|
}
|
|
141
149
|
else if (step.StepType === 'Actions' || step.StepType === 'Tool') {
|
|
@@ -145,14 +153,18 @@ export async function verifyAgentRun(agentRunID, user, expectSuccess = true, opt
|
|
|
145
153
|
if (opts.skipActionLogs) {
|
|
146
154
|
continue;
|
|
147
155
|
}
|
|
148
|
-
await
|
|
156
|
+
await VerifyActionLog(target, user);
|
|
149
157
|
actionLogsVerified++;
|
|
150
158
|
}
|
|
151
159
|
else if (step.StepType === 'Sub-Agent') {
|
|
152
|
-
await
|
|
160
|
+
await VerifyAgentRun(target, user, false); // child success is the child's own concern
|
|
153
161
|
subAgentRunsVerified++;
|
|
154
162
|
}
|
|
155
163
|
}
|
|
156
164
|
return { run, stepCount: steps.length, promptRunsVerified, actionLogsVerified, subAgentRunsVerified };
|
|
157
165
|
}
|
|
166
|
+
/** @deprecated Use {@link VerifyAgentRun}. */
|
|
167
|
+
export async function verifyAgentRun(agentRunID, user, expectSuccess = true, opts = {}) {
|
|
168
|
+
return VerifyAgentRun(agentRunID, user, expectSuccess, opts);
|
|
169
|
+
}
|
|
158
170
|
//# sourceMappingURL=ai-verify.js.map
|
package/dist/ai-verify.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-verify.js","sourceRoot":"","sources":["../src/ai-verify.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-verify.js","sourceRoot":"","sources":["../src/ai-verify.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,7 @@ import { type IntegrationClientContext } from './bootstrap-shared.js';
|
|
|
7
7
|
* process registers only CLIENT entity subclasses (via the `@memberjunction/core-entities`
|
|
8
8
|
* import above), never the server ones.
|
|
9
9
|
*/
|
|
10
|
+
export declare function BootstrapIntegrationClient(): Promise<IntegrationClientContext>;
|
|
11
|
+
/** @deprecated Use {@link BootstrapIntegrationClient}. */
|
|
10
12
|
export declare function bootstrapIntegrationClient(): Promise<IntegrationClientContext>;
|
|
11
13
|
//# sourceMappingURL=bootstrap-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-client.d.ts","sourceRoot":"","sources":["../src/bootstrap-client.ts"],"names":[],"mappings":"AAmBA,OAAO,+BAA+B,CAAC;AAGvC,OAAO,EAOH,KAAK,wBAAwB,EAChC,MAAM,oBAAoB,CAAC;AAE5B;;;;;;GAMG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,wBAAwB,CAAC,CA2CpF"}
|
|
1
|
+
{"version":3,"file":"bootstrap-client.d.ts","sourceRoot":"","sources":["../src/bootstrap-client.ts"],"names":[],"mappings":"AAmBA,OAAO,+BAA+B,CAAC;AAGvC,OAAO,EAOH,KAAK,wBAAwB,EAChC,MAAM,oBAAoB,CAAC;AAE5B;;;;;;GAMG;AACH,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,wBAAwB,CAAC,CA2CpF;AAED,0DAA0D;AAC1D,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAEpF"}
|
package/dist/bootstrap-client.js
CHANGED
|
@@ -20,7 +20,7 @@ import { setupGraphQLClient, GraphQLProviderConfigData } from '@memberjunction/g
|
|
|
20
20
|
import '@memberjunction/core-entities';
|
|
21
21
|
import { InstrumentedLocalStorageProvider } from './instrumented-cache.js';
|
|
22
22
|
import { LoadEnv, LoadClientConfig } from './config.js';
|
|
23
|
-
import {
|
|
23
|
+
import { AssertOwnsProcess, GetActiveIntegrationStorage, PreflightMJAPI, GetActiveIntegrationClientBootstrap, SetActiveStorage, SetCurrentClientBootstrap } from './bootstrap-shared.js';
|
|
24
24
|
/**
|
|
25
25
|
* Client (GraphQL) bootstrap — installs the instrumented cache as FIRST caller, then
|
|
26
26
|
* configures `GraphQLDataProvider` against a separately-running MJAPI (reachable via
|
|
@@ -28,8 +28,8 @@ import { assertOwnsProcess, getActiveIntegrationStorage, preflightMJAPI, getActi
|
|
|
28
28
|
* process registers only CLIENT entity subclasses (via the `@memberjunction/core-entities`
|
|
29
29
|
* import above), never the server ones.
|
|
30
30
|
*/
|
|
31
|
-
export async function
|
|
32
|
-
const existing =
|
|
31
|
+
export async function BootstrapIntegrationClient() {
|
|
32
|
+
const existing = GetActiveIntegrationClientBootstrap();
|
|
33
33
|
if (existing) {
|
|
34
34
|
return existing;
|
|
35
35
|
}
|
|
@@ -39,13 +39,13 @@ export async function bootstrapIntegrationClient() {
|
|
|
39
39
|
// INSTRUMENTED cache satisfies the ownership invariant — every cache read/write is already
|
|
40
40
|
// counted — so reuse it rather than refusing. Only a cache initialized by someone ELSE
|
|
41
41
|
// (e.g. co-hosted inside a live MJAPI) is grounds for refusal.
|
|
42
|
-
const preInstalled =
|
|
42
|
+
const preInstalled = GetActiveIntegrationStorage();
|
|
43
43
|
if (!preInstalled) {
|
|
44
|
-
|
|
44
|
+
AssertOwnsProcess();
|
|
45
45
|
}
|
|
46
46
|
const client = LoadClientConfig();
|
|
47
47
|
// Preflight BEFORE mutating cache/provider state — a dead MJAPI fails fast and clearly.
|
|
48
|
-
await
|
|
48
|
+
await PreflightMJAPI(client.Url, client.MJAPIKey);
|
|
49
49
|
let storage;
|
|
50
50
|
if (preInstalled) {
|
|
51
51
|
storage = preInstalled;
|
|
@@ -53,7 +53,7 @@ export async function bootstrapIntegrationClient() {
|
|
|
53
53
|
else {
|
|
54
54
|
storage = new InstrumentedLocalStorageProvider(new InMemoryLocalStorageProvider());
|
|
55
55
|
await LocalCacheManager.Instance.Initialize(storage, { verboseLogging: false });
|
|
56
|
-
|
|
56
|
+
SetActiveStorage(storage);
|
|
57
57
|
}
|
|
58
58
|
const config = new GraphQLProviderConfigData('', // JWT token — unused; the system API key authenticates us
|
|
59
59
|
client.Url, client.WsUrl, // wsurl — required by the RO-3 wire-progress subscription (RemoteOperationProgress)
|
|
@@ -62,7 +62,11 @@ export async function bootstrapIntegrationClient() {
|
|
|
62
62
|
);
|
|
63
63
|
await setupGraphQLClient(config);
|
|
64
64
|
const ctx = { Storage: storage, Client: client };
|
|
65
|
-
|
|
65
|
+
SetCurrentClientBootstrap(ctx);
|
|
66
66
|
return ctx;
|
|
67
67
|
}
|
|
68
|
+
/** @deprecated Use {@link BootstrapIntegrationClient}. */
|
|
69
|
+
export async function bootstrapIntegrationClient() {
|
|
70
|
+
return BootstrapIntegrationClient();
|
|
71
|
+
}
|
|
68
72
|
//# sourceMappingURL=bootstrap-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-client.js","sourceRoot":"","sources":["../src/bootstrap-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACrG,4FAA4F;AAC5F,uFAAuF;AACvF,8DAA8D;AAC9D,OAAO,+BAA+B,CAAC;AACvC,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EACH,iBAAiB,EACjB,2BAA2B,EAC3B,cAAc,EACd,mCAAmC,EACnC,
|
|
1
|
+
{"version":3,"file":"bootstrap-client.js","sourceRoot":"","sources":["../src/bootstrap-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACrG,4FAA4F;AAC5F,uFAAuF;AACvF,8DAA8D;AAC9D,OAAO,+BAA+B,CAAC;AACvC,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EACH,iBAAiB,EACjB,2BAA2B,EAC3B,cAAc,EACd,mCAAmC,EACnC,gBAAgB,EAChB,yBAAyB,EAE5B,MAAM,oBAAoB,CAAC;AAE5B;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B;IAC5C,MAAM,QAAQ,GAAG,mCAAmC,EAAE,CAAC;IACvD,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,CAAC;IACV,yFAAyF;IACzF,uFAAuF;IACvF,2FAA2F;IAC3F,uFAAuF;IACvF,+DAA+D;IAC/D,MAAM,YAAY,GAAG,2BAA2B,EAAE,CAAC;IACnD,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,iBAAiB,EAAE,CAAC;IACxB,CAAC;IACD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAClC,wFAAwF;IACxF,MAAM,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAElD,IAAI,OAAyC,CAAC;IAC9C,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,GAAG,YAAY,CAAC;IAC3B,CAAC;SAAM,CAAC;QACJ,OAAO,GAAG,IAAI,gCAAgC,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;QACnF,MAAM,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QAChF,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,yBAAyB,CACxC,EAAE,EAAkB,0DAA0D;IAC9E,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,KAAK,EAAQ,oFAAoF;IACxG,KAAK,IAAI,EAAE,CAAC,EAAE,EAAM,4DAA4D;IAChF,MAAM,EACN,SAAS,EACT,SAAS,EACT,MAAM,CAAC,QAAQ,CAAK,mDAAmD;KAC1E,CAAC;IACF,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEjC,MAAM,GAAG,GAA6B,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3E,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC;AACf,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,0BAA0B;IAC5C,OAAO,0BAA0B,EAAE,CAAC;AACxC,CAAC"}
|
|
@@ -46,13 +46,21 @@ export interface BootstrapServerOptions {
|
|
|
46
46
|
VerboseCacheLogging?: boolean;
|
|
47
47
|
}
|
|
48
48
|
/** @internal Setters used by the server/client bootstrap modules to publish process state. */
|
|
49
|
+
export declare function SetActiveStorage(s: InstrumentedLocalStorageProvider): void;
|
|
50
|
+
/** @deprecated Use {@link SetActiveStorage}. */
|
|
49
51
|
export declare function _setActiveStorage(s: InstrumentedLocalStorageProvider): void;
|
|
52
|
+
export declare function SetCurrentServerBootstrap(c: IntegrationBootstrapContext): void;
|
|
53
|
+
/** @deprecated Use {@link SetCurrentServerBootstrap}. */
|
|
50
54
|
export declare function _setCurrentServerBootstrap(c: IntegrationBootstrapContext): void;
|
|
55
|
+
export declare function SetCurrentClientBootstrap(c: IntegrationClientContext): void;
|
|
56
|
+
/** @deprecated Use {@link SetCurrentClientBootstrap}. */
|
|
51
57
|
export declare function _setCurrentClientBootstrap(c: IntegrationClientContext): void;
|
|
52
58
|
/**
|
|
53
59
|
* The instrumented storage installed in this process (by any path), or null if none.
|
|
54
60
|
* The IntegrationTestDriver reads this to get the cache counters without re-bootstrapping.
|
|
55
61
|
*/
|
|
62
|
+
export declare function GetActiveIntegrationStorage(): InstrumentedLocalStorageProvider | null;
|
|
63
|
+
/** @deprecated Use {@link GetActiveIntegrationStorage}. */
|
|
56
64
|
export declare function getActiveIntegrationStorage(): InstrumentedLocalStorageProvider | null;
|
|
57
65
|
/**
|
|
58
66
|
* True when a server-transport integration run cannot own this process: no instrumented
|
|
@@ -61,22 +69,32 @@ export declare function getActiveIntegrationStorage(): InstrumentedLocalStorageP
|
|
|
61
69
|
* under which `bootstrapIntegrationServer()` would throw `assertOwnsProcess` — exposed so
|
|
62
70
|
* the driver can fail fast with a dashboard-friendly message instead of a bootstrap stack.
|
|
63
71
|
*/
|
|
72
|
+
export declare function ServerProcessAlreadyClaimed(): boolean;
|
|
73
|
+
/** @deprecated Use {@link ServerProcessAlreadyClaimed}. */
|
|
64
74
|
export declare function serverProcessAlreadyClaimed(): boolean;
|
|
65
75
|
/** The full server bootstrap context (with owned Pool), or null if not server-bootstrapped. */
|
|
76
|
+
export declare function GetActiveIntegrationBootstrap(): IntegrationBootstrapContext | null;
|
|
77
|
+
/** @deprecated Use {@link GetActiveIntegrationBootstrap}. */
|
|
66
78
|
export declare function getActiveIntegrationBootstrap(): IntegrationBootstrapContext | null;
|
|
67
79
|
/** The client (GraphQL) bootstrap context, or null if not client-bootstrapped in this process. */
|
|
80
|
+
export declare function GetActiveIntegrationClientBootstrap(): IntegrationClientContext | null;
|
|
81
|
+
/** @deprecated Use {@link GetActiveIntegrationClientBootstrap}. */
|
|
68
82
|
export declare function getActiveIntegrationClientBootstrap(): IntegrationClientContext | null;
|
|
69
83
|
/**
|
|
70
84
|
* Fail fast with a clear message when MJAPI isn't reachable, before any cache or
|
|
71
85
|
* provider state is mutated. Used by both the driver (via bootstrapIntegrationClient)
|
|
72
86
|
* and the tsx scripts so they preflight identically.
|
|
73
87
|
*/
|
|
88
|
+
export declare function PreflightMJAPI(url: string, apiKey: string): Promise<void>;
|
|
89
|
+
/** @deprecated Use {@link PreflightMJAPI}. */
|
|
74
90
|
export declare function preflightMJAPI(url: string, apiKey: string): Promise<void>;
|
|
75
91
|
/**
|
|
76
92
|
* Refuse to run an owning bootstrap when the cache is already initialized by some
|
|
77
93
|
* other component. SetStorageProvider is a destructive global mutation with no
|
|
78
94
|
* restore, so we never wedge instrumentation into a live host — we fail loudly.
|
|
79
95
|
*/
|
|
96
|
+
export declare function AssertOwnsProcess(): void;
|
|
97
|
+
/** @deprecated Use {@link AssertOwnsProcess}. */
|
|
80
98
|
export declare function assertOwnsProcess(): void;
|
|
81
99
|
/**
|
|
82
100
|
* Install the instrumented cache as the first caller WITHOUT owning the connection.
|
|
@@ -88,6 +106,10 @@ export declare function assertOwnsProcess(): void;
|
|
|
88
106
|
* by something else (can't instrument retroactively — the caller decides whether to
|
|
89
107
|
* proceed uninstrumented or abort).
|
|
90
108
|
*/
|
|
109
|
+
export declare function InstallInstrumentedCacheFirst(opts?: {
|
|
110
|
+
VerboseCacheLogging?: boolean;
|
|
111
|
+
}): Promise<InstrumentedLocalStorageProvider | null>;
|
|
112
|
+
/** @deprecated Use {@link InstallInstrumentedCacheFirst}. */
|
|
91
113
|
export declare function installInstrumentedCacheFirst(opts?: {
|
|
92
114
|
VerboseCacheLogging?: boolean;
|
|
93
115
|
}): Promise<InstrumentedLocalStorageProvider | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-shared.d.ts","sourceRoot":"","sources":["../src/bootstrap-shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,OAAO,CAAC;AAElC,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEvD,2EAA2E;AAC3E,MAAM,WAAW,2BAA2B;IACxC;;;;OAIG;IACH,IAAI,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,wFAAwF;IACxF,OAAO,EAAE,gCAAgC,CAAC;IAC1C,0GAA0G;IAC1G,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,EAAE,EAAE,QAAQ,CAAC;IACb,wGAAwG;IACxG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,gDAAgD;AAChD,MAAM,WAAW,wBAAwB;IACrC,OAAO,EAAE,gCAAgC,CAAC;IAC1C,MAAM,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACnC,mGAAmG;IACnG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAOD,8FAA8F;AAC9F,wBAAgB,
|
|
1
|
+
{"version":3,"file":"bootstrap-shared.d.ts","sourceRoot":"","sources":["../src/bootstrap-shared.ts"],"names":[],"mappings":"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"}
|
package/dist/bootstrap-shared.js
CHANGED
|
@@ -5,16 +5,32 @@ let activeStorage = null;
|
|
|
5
5
|
let currentServerBootstrap = null;
|
|
6
6
|
let currentClientBootstrap = null;
|
|
7
7
|
/** @internal Setters used by the server/client bootstrap modules to publish process state. */
|
|
8
|
-
export function
|
|
9
|
-
|
|
10
|
-
export function
|
|
8
|
+
export function SetActiveStorage(s) { activeStorage = s; }
|
|
9
|
+
/** @deprecated Use {@link SetActiveStorage}. */
|
|
10
|
+
export function _setActiveStorage(s) {
|
|
11
|
+
return SetActiveStorage(s);
|
|
12
|
+
}
|
|
13
|
+
export function SetCurrentServerBootstrap(c) { currentServerBootstrap = c; }
|
|
14
|
+
/** @deprecated Use {@link SetCurrentServerBootstrap}. */
|
|
15
|
+
export function _setCurrentServerBootstrap(c) {
|
|
16
|
+
return SetCurrentServerBootstrap(c);
|
|
17
|
+
}
|
|
18
|
+
export function SetCurrentClientBootstrap(c) { currentClientBootstrap = c; }
|
|
19
|
+
/** @deprecated Use {@link SetCurrentClientBootstrap}. */
|
|
20
|
+
export function _setCurrentClientBootstrap(c) {
|
|
21
|
+
return SetCurrentClientBootstrap(c);
|
|
22
|
+
}
|
|
11
23
|
/**
|
|
12
24
|
* The instrumented storage installed in this process (by any path), or null if none.
|
|
13
25
|
* The IntegrationTestDriver reads this to get the cache counters without re-bootstrapping.
|
|
14
26
|
*/
|
|
15
|
-
export function
|
|
27
|
+
export function GetActiveIntegrationStorage() {
|
|
16
28
|
return activeStorage;
|
|
17
29
|
}
|
|
30
|
+
/** @deprecated Use {@link GetActiveIntegrationStorage}. */
|
|
31
|
+
export function getActiveIntegrationStorage() {
|
|
32
|
+
return GetActiveIntegrationStorage();
|
|
33
|
+
}
|
|
18
34
|
/**
|
|
19
35
|
* True when a server-transport integration run cannot own this process: no instrumented
|
|
20
36
|
* cache was installed first AND the cache is already initialized by another component
|
|
@@ -22,23 +38,35 @@ export function getActiveIntegrationStorage() {
|
|
|
22
38
|
* under which `bootstrapIntegrationServer()` would throw `assertOwnsProcess` — exposed so
|
|
23
39
|
* the driver can fail fast with a dashboard-friendly message instead of a bootstrap stack.
|
|
24
40
|
*/
|
|
25
|
-
export function
|
|
41
|
+
export function ServerProcessAlreadyClaimed() {
|
|
26
42
|
return !activeStorage && LocalCacheManager.Instance.IsInitialized;
|
|
27
43
|
}
|
|
44
|
+
/** @deprecated Use {@link ServerProcessAlreadyClaimed}. */
|
|
45
|
+
export function serverProcessAlreadyClaimed() {
|
|
46
|
+
return ServerProcessAlreadyClaimed();
|
|
47
|
+
}
|
|
28
48
|
/** The full server bootstrap context (with owned Pool), or null if not server-bootstrapped. */
|
|
29
|
-
export function
|
|
49
|
+
export function GetActiveIntegrationBootstrap() {
|
|
30
50
|
return currentServerBootstrap;
|
|
31
51
|
}
|
|
52
|
+
/** @deprecated Use {@link GetActiveIntegrationBootstrap}. */
|
|
53
|
+
export function getActiveIntegrationBootstrap() {
|
|
54
|
+
return GetActiveIntegrationBootstrap();
|
|
55
|
+
}
|
|
32
56
|
/** The client (GraphQL) bootstrap context, or null if not client-bootstrapped in this process. */
|
|
33
|
-
export function
|
|
57
|
+
export function GetActiveIntegrationClientBootstrap() {
|
|
34
58
|
return currentClientBootstrap;
|
|
35
59
|
}
|
|
60
|
+
/** @deprecated Use {@link GetActiveIntegrationClientBootstrap}. */
|
|
61
|
+
export function getActiveIntegrationClientBootstrap() {
|
|
62
|
+
return GetActiveIntegrationClientBootstrap();
|
|
63
|
+
}
|
|
36
64
|
/**
|
|
37
65
|
* Fail fast with a clear message when MJAPI isn't reachable, before any cache or
|
|
38
66
|
* provider state is mutated. Used by both the driver (via bootstrapIntegrationClient)
|
|
39
67
|
* and the tsx scripts so they preflight identically.
|
|
40
68
|
*/
|
|
41
|
-
export async function
|
|
69
|
+
export async function PreflightMJAPI(url, apiKey) {
|
|
42
70
|
let response;
|
|
43
71
|
try {
|
|
44
72
|
response = await fetch(url, {
|
|
@@ -56,12 +84,16 @@ export async function preflightMJAPI(url, apiKey) {
|
|
|
56
84
|
throw new Error(`MJAPI at ${url} answered HTTP ${response.status} — check MJ_API_KEY and server logs.`);
|
|
57
85
|
}
|
|
58
86
|
}
|
|
87
|
+
/** @deprecated Use {@link PreflightMJAPI}. */
|
|
88
|
+
export async function preflightMJAPI(url, apiKey) {
|
|
89
|
+
return PreflightMJAPI(url, apiKey);
|
|
90
|
+
}
|
|
59
91
|
/**
|
|
60
92
|
* Refuse to run an owning bootstrap when the cache is already initialized by some
|
|
61
93
|
* other component. SetStorageProvider is a destructive global mutation with no
|
|
62
94
|
* restore, so we never wedge instrumentation into a live host — we fail loudly.
|
|
63
95
|
*/
|
|
64
|
-
export function
|
|
96
|
+
export function AssertOwnsProcess() {
|
|
65
97
|
if (LocalCacheManager.Instance.IsInitialized) {
|
|
66
98
|
throw new Error('Integration bootstrap must own its process — LocalCacheManager is already initialized by another component. ' +
|
|
67
99
|
'When running via `mj test run`/`mj test suite`, set MJ_INTEGRATION_TEST=1 so the CLI installs the instrumented ' +
|
|
@@ -69,6 +101,10 @@ export function assertOwnsProcess() {
|
|
|
69
101
|
'co-host the integration test inside a serving MJAPI.');
|
|
70
102
|
}
|
|
71
103
|
}
|
|
104
|
+
/** @deprecated Use {@link AssertOwnsProcess}. */
|
|
105
|
+
export function assertOwnsProcess() {
|
|
106
|
+
return AssertOwnsProcess();
|
|
107
|
+
}
|
|
72
108
|
/**
|
|
73
109
|
* Install the instrumented cache as the first caller WITHOUT owning the connection.
|
|
74
110
|
* For the testing-CLI path: call this BEFORE initializeMJProvider() so the CLI's
|
|
@@ -79,7 +115,7 @@ export function assertOwnsProcess() {
|
|
|
79
115
|
* by something else (can't instrument retroactively — the caller decides whether to
|
|
80
116
|
* proceed uninstrumented or abort).
|
|
81
117
|
*/
|
|
82
|
-
export async function
|
|
118
|
+
export async function InstallInstrumentedCacheFirst(opts = {}) {
|
|
83
119
|
if (activeStorage) {
|
|
84
120
|
return activeStorage;
|
|
85
121
|
}
|
|
@@ -91,4 +127,8 @@ export async function installInstrumentedCacheFirst(opts = {}) {
|
|
|
91
127
|
activeStorage = storage;
|
|
92
128
|
return storage;
|
|
93
129
|
}
|
|
130
|
+
/** @deprecated Use {@link InstallInstrumentedCacheFirst}. */
|
|
131
|
+
export async function installInstrumentedCacheFirst(opts = {}) {
|
|
132
|
+
return InstallInstrumentedCacheFirst(opts);
|
|
133
|
+
}
|
|
94
134
|
//# sourceMappingURL=bootstrap-shared.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-shared.js","sourceRoot":"","sources":["../src/bootstrap-shared.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAkCxE,qFAAqF;AACrF,IAAI,aAAa,GAA4C,IAAI,CAAC;AAClE,IAAI,sBAAsB,GAAuC,IAAI,CAAC;AACtE,IAAI,sBAAsB,GAAoC,IAAI,CAAC;AAEnE,8FAA8F;AAC9F,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"bootstrap-shared.js","sourceRoot":"","sources":["../src/bootstrap-shared.ts"],"names":[],"mappings":"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"}
|
package/dist/bootstrap.d.ts
CHANGED
|
@@ -12,5 +12,7 @@ export * from './bootstrap-shared.js';
|
|
|
12
12
|
*/
|
|
13
13
|
/** Process ID the integration bootstrap identifies itself with to the dynamic-package loader. */
|
|
14
14
|
export declare const INTEGRATION_TESTS_PROCESS_ID = "integration-tests";
|
|
15
|
+
export declare function BootstrapIntegrationServer(opts?: BootstrapServerOptions): Promise<IntegrationBootstrapContext>;
|
|
16
|
+
/** @deprecated Use {@link BootstrapIntegrationServer}. */
|
|
15
17
|
export declare function bootstrapIntegrationServer(opts?: BootstrapServerOptions): Promise<IntegrationBootstrapContext>;
|
|
16
18
|
//# sourceMappingURL=bootstrap.d.ts.map
|
package/dist/bootstrap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AA2BA,OAAO,EAKH,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC9B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,uCAAuC,CAAC;AAG/C,cAAc,oBAAoB,CAAC;AAgBnC;;;;;;;;GAQG;AACH,iGAAiG;AACjG,eAAO,MAAM,4BAA4B,sBAAsB,CAAC;AAEhE,wBAAsB,0BAA0B,CAAC,IAAI,GAAE,sBAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA0BxH"}
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AA2BA,OAAO,EAKH,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC9B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,uCAAuC,CAAC;AAG/C,cAAc,oBAAoB,CAAC;AAgBnC;;;;;;;;GAQG;AACH,iGAAiG;AACjG,eAAO,MAAM,4BAA4B,sBAAsB,CAAC;AAEhE,wBAAsB,0BAA0B,CAAC,IAAI,GAAE,sBAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CA0BxH;AAED,0DAA0D;AAC1D,wBAAsB,0BAA0B,CAAC,IAAI,GAAE,sBAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAExH"}
|
package/dist/bootstrap.js
CHANGED
|
@@ -23,7 +23,7 @@ import { DiscoverMJConfig, LoadDynamicPackages } from '@memberjunction/dynamic-p
|
|
|
23
23
|
import { UserCache } from '@memberjunction/generic-database-provider';
|
|
24
24
|
import { InstrumentedLocalStorageProvider } from './instrumented-cache.js';
|
|
25
25
|
import { LoadEnv, LoadDbConfig } from './config.js';
|
|
26
|
-
import {
|
|
26
|
+
import { AssertOwnsProcess, GetActiveIntegrationBootstrap, SetActiveStorage, SetCurrentServerBootstrap } from './bootstrap-shared.js';
|
|
27
27
|
// Side-effect import: registers the SERVER generated entity subclasses on the ClassFactory
|
|
28
28
|
// so entity_object results materialize as real (server) BaseEntity instances.
|
|
29
29
|
import '@memberjunction/server-bootstrap-lite';
|
|
@@ -52,14 +52,14 @@ function resolveContextUser(email) {
|
|
|
52
52
|
*/
|
|
53
53
|
/** Process ID the integration bootstrap identifies itself with to the dynamic-package loader. */
|
|
54
54
|
export const INTEGRATION_TESTS_PROCESS_ID = 'integration-tests';
|
|
55
|
-
export async function
|
|
56
|
-
const existing =
|
|
55
|
+
export async function BootstrapIntegrationServer(opts = {}) {
|
|
56
|
+
const existing = GetActiveIntegrationBootstrap();
|
|
57
57
|
if (existing) {
|
|
58
58
|
return existing;
|
|
59
59
|
}
|
|
60
60
|
LoadEnv();
|
|
61
61
|
// Fail fast on mis-host BEFORE reading config — never wedge instrumentation into a live cache.
|
|
62
|
-
|
|
62
|
+
AssertOwnsProcess();
|
|
63
63
|
const db = await LoadDbConfig();
|
|
64
64
|
// Installed Open App server packages (mj.config.cjs dynamicPackages.server[]) register their
|
|
65
65
|
// entity subclasses here, AFTER the lite manifest imported above and BEFORE the provider —
|
|
@@ -69,13 +69,17 @@ export async function bootstrapIntegrationServer(opts = {}) {
|
|
|
69
69
|
// FIRST-CALLER cache init — MUST precede any provider setup (load-bearing on both backends).
|
|
70
70
|
const storage = new InstrumentedLocalStorageProvider(new InMemoryLocalStorageProvider());
|
|
71
71
|
await LocalCacheManager.Instance.Initialize(storage, { verboseLogging: opts.VerboseCacheLogging ?? false });
|
|
72
|
-
|
|
72
|
+
SetActiveStorage(storage);
|
|
73
73
|
const ctx = db.Platform === 'postgresql'
|
|
74
74
|
? await setupPostgreSQLProvider(db, storage, opts)
|
|
75
75
|
: await setupSqlServerProvider(db, storage, opts);
|
|
76
|
-
|
|
76
|
+
SetCurrentServerBootstrap(ctx);
|
|
77
77
|
return ctx;
|
|
78
78
|
}
|
|
79
|
+
/** @deprecated Use {@link BootstrapIntegrationServer}. */
|
|
80
|
+
export async function bootstrapIntegrationServer(opts = {}) {
|
|
81
|
+
return BootstrapIntegrationServer(opts);
|
|
82
|
+
}
|
|
79
83
|
/** SQL Server provider setup — the locally-proven path (unchanged behavior). */
|
|
80
84
|
async function setupSqlServerProvider(db, storage, opts) {
|
|
81
85
|
// Dedicated mssql pool (encrypt:false, trustServerCertificate:true — harness parity).
|
package/dist/bootstrap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE9G,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAC3G,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EACH,iBAAiB,EACjB,6BAA6B,EAC7B,
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../src/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/dist/fls-fixture.d.ts
CHANGED
|
@@ -52,5 +52,7 @@ export interface FlsSeededUsers {
|
|
|
52
52
|
Multi?: UserInfo;
|
|
53
53
|
}
|
|
54
54
|
/** Resolve the three seeded FLS users from a user list (case-insensitive email match). */
|
|
55
|
+
export declare function DiscoverFlsUsers(users: UserInfo[]): FlsSeededUsers;
|
|
56
|
+
/** @deprecated Use {@link DiscoverFlsUsers}. */
|
|
55
57
|
export declare function discoverFlsUsers(users: UserInfo[]): FlsSeededUsers;
|
|
56
58
|
//# sourceMappingURL=fls-fixture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fls-fixture.d.ts","sourceRoot":"","sources":["../src/fls-fixture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AACxE,gFAAgF;AAChF,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AACxE,uFAAuF;AACvF,eAAO,MAAM,sBAAsB,kCAAkC,CAAC;AAEtE,sHAAsH;AACtH,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAEjD,wGAAwG;AACxG,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAC9D,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAC9D,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAC9D,eAAO,MAAM,gBAAgB,kCAAkC,CAAC;AAEhE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAC7C,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAC/C,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAE7C,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC3B,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,CAMlE"}
|
|
1
|
+
{"version":3,"file":"fls-fixture.d.ts","sourceRoot":"","sources":["../src/fls-fixture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrD,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AACxE,gFAAgF;AAChF,eAAO,MAAM,uBAAuB,mCAAmC,CAAC;AACxE,uFAAuF;AACvF,eAAO,MAAM,sBAAsB,kCAAkC,CAAC;AAEtE,sHAAsH;AACtH,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAEjD,wGAAwG;AACxG,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAC9D,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAC9D,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAC9D,eAAO,MAAM,gBAAgB,kCAAkC,CAAC;AAEhE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAC7C,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,uBAAuB,UAAU,CAAC;AAC/C,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAE7C,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC3B,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,CAAC;CACpB;AAED,0FAA0F;AAC1F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,CAMlE;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,cAAc,CAElE"}
|
package/dist/fls-fixture.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { FindUserByEmail } from './rls-fixture.js';
|
|
2
2
|
/** Seeded user holding ONLY the FLS Reader role (read-only on the FLS entity). */
|
|
3
3
|
export const SEEDED_FLS_READER_EMAIL = 'it-fls-reader@integration.test';
|
|
4
4
|
/** Seeded user holding ONLY the FLS Writer role (read+create+update+delete). */
|
|
@@ -31,11 +31,15 @@ export const FLS_NEUTRAL_FIELD = 'LastName';
|
|
|
31
31
|
export const FLS_READER_DENIED_FIELD = 'Email';
|
|
32
32
|
export const FLS_MISSING_ROW_FIELD = 'BCMID';
|
|
33
33
|
/** Resolve the three seeded FLS users from a user list (case-insensitive email match). */
|
|
34
|
-
export function
|
|
34
|
+
export function DiscoverFlsUsers(users) {
|
|
35
35
|
return {
|
|
36
|
-
Reader:
|
|
37
|
-
Writer:
|
|
38
|
-
Multi:
|
|
36
|
+
Reader: FindUserByEmail(users, SEEDED_FLS_READER_EMAIL),
|
|
37
|
+
Writer: FindUserByEmail(users, SEEDED_FLS_WRITER_EMAIL),
|
|
38
|
+
Multi: FindUserByEmail(users, SEEDED_FLS_MULTI_EMAIL),
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
+
/** @deprecated Use {@link DiscoverFlsUsers}. */
|
|
42
|
+
export function discoverFlsUsers(users) {
|
|
43
|
+
return DiscoverFlsUsers(users);
|
|
44
|
+
}
|
|
41
45
|
//# sourceMappingURL=fls-fixture.js.map
|
package/dist/fls-fixture.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fls-fixture.js","sourceRoot":"","sources":["../src/fls-fixture.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,gCAAgC,CAAC;AACxE,gFAAgF;AAChF,MAAM,CAAC,MAAM,uBAAuB,GAAG,gCAAgC,CAAC;AACxE,uFAAuF;AACvF,MAAM,CAAC,MAAM,sBAAsB,GAAG,+BAA+B,CAAC;AAEtE,sHAAsH;AACtH,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEjD,wGAAwG;AACxG,MAAM,CAAC,MAAM,eAAe,GAAG,8BAA8B,CAAC;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,8BAA8B,CAAC;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,8BAA8B,CAAC;AAC9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,+BAA+B,CAAC;AAEhE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAC5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAC/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAS7C,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAC9C,OAAO;QACH,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE,uBAAuB,CAAC;QACvD,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE,uBAAuB,CAAC;QACvD,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC;KACxD,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"fls-fixture.js","sourceRoot":"","sources":["../src/fls-fixture.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,gCAAgC,CAAC;AACxE,gFAAgF;AAChF,MAAM,CAAC,MAAM,uBAAuB,GAAG,gCAAgC,CAAC;AACxE,uFAAuF;AACvF,MAAM,CAAC,MAAM,sBAAsB,GAAG,+BAA+B,CAAC;AAEtE,sHAAsH;AACtH,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAEjD,wGAAwG;AACxG,MAAM,CAAC,MAAM,eAAe,GAAG,8BAA8B,CAAC;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,8BAA8B,CAAC;AAC9D,MAAM,CAAC,MAAM,eAAe,GAAG,8BAA8B,CAAC;AAC9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,+BAA+B,CAAC;AAEhE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAC3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAC7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAC5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAO,CAAC;AAC/C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAS7C,0FAA0F;AAC1F,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAC9C,OAAO;QACH,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE,uBAAuB,CAAC;QACvD,MAAM,EAAE,eAAe,CAAC,KAAK,EAAE,uBAAuB,CAAC;QACvD,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC;KACxD,CAAC;AACN,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,gBAAgB,CAAC,KAAiB;IAC9C,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC"}
|
package/dist/rls-fixture.d.ts
CHANGED
|
@@ -16,10 +16,19 @@ export declare const SEEDED_RLS_ENTITY = "MJ: AI Agent Runs";
|
|
|
16
16
|
/** The exact command that seeds the RLS principals — printed in every skip-as-pass warning below. */
|
|
17
17
|
export declare const SEED_FIXTURES_COMMAND = "npx mj sync push --dir=metadata-optional/integration-test";
|
|
18
18
|
/** Case-insensitive user-by-email lookup for the seeded fixtures. */
|
|
19
|
+
export declare function FindUserByEmail(users: UserInfo[], email: string): UserInfo | undefined;
|
|
20
|
+
/** @deprecated Use {@link FindUserByEmail}. */
|
|
19
21
|
export declare function findUserByEmail(users: UserInfo[], email: string): UserInfo | undefined;
|
|
20
22
|
/** Discover a `{{UserID}}`-scoped RLS filter from the provider (for the token-based checks). */
|
|
23
|
+
export declare function DiscoverTokenFilter(provider: IMetadataProvider): RowLevelSecurityFilterInfo | undefined;
|
|
24
|
+
/** @deprecated Use {@link DiscoverTokenFilter}. */
|
|
21
25
|
export declare function discoverTokenFilter(provider: IMetadataProvider): RowLevelSecurityFilterInfo | undefined;
|
|
22
26
|
/** Discover the first non-exempt (user, entity) pair — a user with a non-empty Read clause. */
|
|
27
|
+
export declare function DiscoverLivePair(provider: IMetadataProvider, users: UserInfo[]): {
|
|
28
|
+
User: UserInfo;
|
|
29
|
+
EntityName: string;
|
|
30
|
+
} | undefined;
|
|
31
|
+
/** @deprecated Use {@link DiscoverLivePair}. */
|
|
23
32
|
export declare function discoverLivePair(provider: IMetadataProvider, users: UserInfo[]): {
|
|
24
33
|
User: UserInfo;
|
|
25
34
|
EntityName: string;
|
|
@@ -33,5 +42,7 @@ export declare function discoverLivePair(provider: IMetadataProvider, users: Use
|
|
|
33
42
|
* attached to every returned fixture regardless of two-user usability, so the single-user
|
|
34
43
|
* checks (RLS1/RLS5) run even when the DB lacks two divergent users.
|
|
35
44
|
*/
|
|
45
|
+
export declare function DiscoverRlsFixture(provider: IMetadataProvider, users: UserInfo[]): RlsFixture;
|
|
46
|
+
/** @deprecated Use {@link DiscoverRlsFixture}. */
|
|
36
47
|
export declare function discoverRlsFixture(provider: IMetadataProvider, users: UserInfo[]): RlsFixture;
|
|
37
48
|
//# sourceMappingURL=rls-fixture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rls-fixture.d.ts","sourceRoot":"","sources":["../src/rls-fixture.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAClE,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,qGAAqG;AACrG,eAAO,MAAM,qBAAqB,8DAA8D,CAAC;AAEjG,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEtF;AAED,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,0BAA0B,GAAG,SAAS,CAGvG;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAUnI;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,CAwC7F"}
|
|
1
|
+
{"version":3,"file":"rls-fixture.d.ts","sourceRoot":"","sources":["../src/rls-fixture.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAClE,2FAA2F;AAC3F,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,qGAAqG;AACrG,eAAO,MAAM,qBAAqB,8DAA8D,CAAC;AAEjG,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEtF;AAED,+CAA+C;AAC/C,wBAAgB,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEtF;AAED,gGAAgG;AAChG,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,0BAA0B,GAAG,SAAS,CAGvG;AAED,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,0BAA0B,GAAG,SAAS,CAEvG;AAED,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAUnI;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAEnI;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,CAwC7F;AAED,kDAAkD;AAClD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,CAE7F"}
|
package/dist/rls-fixture.js
CHANGED
|
@@ -26,16 +26,24 @@ export const SEEDED_RLS_ENTITY = 'MJ: AI Agent Runs';
|
|
|
26
26
|
/** The exact command that seeds the RLS principals — printed in every skip-as-pass warning below. */
|
|
27
27
|
export const SEED_FIXTURES_COMMAND = 'npx mj sync push --dir=metadata-optional/integration-test';
|
|
28
28
|
/** Case-insensitive user-by-email lookup for the seeded fixtures. */
|
|
29
|
-
export function
|
|
29
|
+
export function FindUserByEmail(users, email) {
|
|
30
30
|
return users.find(u => u.Email?.toLowerCase() === email.toLowerCase());
|
|
31
31
|
}
|
|
32
|
+
/** @deprecated Use {@link FindUserByEmail}. */
|
|
33
|
+
export function findUserByEmail(users, email) {
|
|
34
|
+
return FindUserByEmail(users, email);
|
|
35
|
+
}
|
|
32
36
|
/** Discover a `{{UserID}}`-scoped RLS filter from the provider (for the token-based checks). */
|
|
33
|
-
export function
|
|
37
|
+
export function DiscoverTokenFilter(provider) {
|
|
34
38
|
const filters = provider.RowLevelSecurityFilters ?? [];
|
|
35
39
|
return filters.find(f => f.FilterText?.includes('{{UserID}}'));
|
|
36
40
|
}
|
|
41
|
+
/** @deprecated Use {@link DiscoverTokenFilter}. */
|
|
42
|
+
export function discoverTokenFilter(provider) {
|
|
43
|
+
return DiscoverTokenFilter(provider);
|
|
44
|
+
}
|
|
37
45
|
/** Discover the first non-exempt (user, entity) pair — a user with a non-empty Read clause. */
|
|
38
|
-
export function
|
|
46
|
+
export function DiscoverLivePair(provider, users) {
|
|
39
47
|
for (const u of users) {
|
|
40
48
|
for (const e of provider.Entities) {
|
|
41
49
|
const clause = e.GetUserRowLevelSecurityWhereClause(u, EntityPermissionType.Read, '');
|
|
@@ -46,6 +54,10 @@ export function discoverLivePair(provider, users) {
|
|
|
46
54
|
}
|
|
47
55
|
return undefined;
|
|
48
56
|
}
|
|
57
|
+
/** @deprecated Use {@link DiscoverLivePair}. */
|
|
58
|
+
export function discoverLivePair(provider, users) {
|
|
59
|
+
return DiscoverLivePair(provider, users);
|
|
60
|
+
}
|
|
49
61
|
/**
|
|
50
62
|
* Discover the RLS fixture: a two-user divergent-clause pair PLUS the two independent
|
|
51
63
|
* single-user pieces (TokenFilter, LivePair). Pure (no singletons) so it is unit-testable
|
|
@@ -55,13 +67,13 @@ export function discoverLivePair(provider, users) {
|
|
|
55
67
|
* attached to every returned fixture regardless of two-user usability, so the single-user
|
|
56
68
|
* checks (RLS1/RLS5) run even when the DB lacks two divergent users.
|
|
57
69
|
*/
|
|
58
|
-
export function
|
|
70
|
+
export function DiscoverRlsFixture(provider, users) {
|
|
59
71
|
const distinct = users.filter((u, i) => users.findIndex(o => UUIDsEqual(o.ID, u.ID)) === i);
|
|
60
|
-
const tokenFilter =
|
|
61
|
-
const livePair =
|
|
62
|
-
const seededScopedA =
|
|
63
|
-
const seededScopedB =
|
|
64
|
-
const seededNoGrant =
|
|
72
|
+
const tokenFilter = DiscoverTokenFilter(provider);
|
|
73
|
+
const livePair = DiscoverLivePair(provider, distinct);
|
|
74
|
+
const seededScopedA = FindUserByEmail(users, SEEDED_SCOPED_A_EMAIL);
|
|
75
|
+
const seededScopedB = FindUserByEmail(users, SEEDED_SCOPED_B_EMAIL);
|
|
76
|
+
const seededNoGrant = FindUserByEmail(users, SEEDED_NOGRANT_EMAIL);
|
|
65
77
|
const attach = (fx) => ({ ...fx, TokenFilter: tokenFilter, LivePair: livePair, SeededScopedA: seededScopedA, SeededScopedB: seededScopedB, SeededNoGrant: seededNoGrant });
|
|
66
78
|
if (distinct.length < 2) {
|
|
67
79
|
return attach({ UserA: users[0], UserB: users[0], EntityName: '', Usable: false, ClauseA: '', ClauseB: '', Reason: 'fewer than two distinct users in the user cache' });
|
|
@@ -93,4 +105,8 @@ export function discoverRlsFixture(provider, users) {
|
|
|
93
105
|
}
|
|
94
106
|
return attach({ UserA: distinct[0], UserB: distinct[1], EntityName: '', Usable: false, ClauseA: '', ClauseB: '', Reason: 'only RLS-exempt users (no entity yields two distinct non-empty clauses)' });
|
|
95
107
|
}
|
|
108
|
+
/** @deprecated Use {@link DiscoverRlsFixture}. */
|
|
109
|
+
export function discoverRlsFixture(provider, users) {
|
|
110
|
+
return DiscoverRlsFixture(provider, users);
|
|
111
|
+
}
|
|
96
112
|
//# sourceMappingURL=rls-fixture.js.map
|
package/dist/rls-fixture.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rls-fixture.js","sourceRoot":"","sources":["../src/rls-fixture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rls-fixture.js","sourceRoot":"","sources":["../src/rls-fixture.ts"],"names":[],"mappings":"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"}
|
package/dist/test-runner.d.ts
CHANGED
|
@@ -34,6 +34,8 @@ export declare class TestRunner {
|
|
|
34
34
|
* compares. Both the tsx scripts (via EmitOutcomes) and the IntegrationTestDriver
|
|
35
35
|
* call this so the two execution paths produce identical files.
|
|
36
36
|
*/
|
|
37
|
+
export declare function WriteOutcomesFile(path: string, outcomes: readonly TestOutcome[]): Promise<void>;
|
|
38
|
+
/** @deprecated Use {@link WriteOutcomesFile}. */
|
|
37
39
|
export declare function writeOutcomesFile(path: string, outcomes: readonly TestOutcome[]): Promise<void>;
|
|
38
40
|
/** Dump a finished TestRunner's outcomes for the golden diff (no-op semantics on Run() preserved). */
|
|
39
41
|
export declare function EmitOutcomes(runner: TestRunner, path: string): Promise<void>;
|
|
@@ -42,6 +44,8 @@ export declare function Assert(condition: boolean, message: string): void;
|
|
|
42
44
|
* Sleep for `ms` — lets fire-and-forget run/step/detail saves (BaseEntitySaveQueue) land before a
|
|
43
45
|
* check reads them back. Lifted from the tsx harness so graduated bundles read it from the package.
|
|
44
46
|
*/
|
|
47
|
+
export declare const Settle: (ms: number) => Promise<void>;
|
|
48
|
+
/** @deprecated Use {@link Settle}. */
|
|
45
49
|
export declare const settle: (ms: number) => Promise<void>;
|
|
46
50
|
export declare function AssertEqual<T>(actual: T, expected: T, message: string): void;
|
|
47
51
|
/** Sorted, lowercased key list of a result row — the canonical "shape" of a row. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-runner.d.ts","sourceRoot":"","sources":["../src/test-runner.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,qBAAa,UAAU;aAIS,SAAS,EAAE,MAAM;IAH7C,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,YAAY,CAAqB;gBAEb,SAAS,EAAE,MAAM;IAEtC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI3C,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IA4BnC,gFAAgF;IAChF,IAAW,YAAY,IAAI,SAAS,WAAW,EAAE,CAEhD;CACJ;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrG;AAED,sGAAsG;AACtG,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF;AAMD,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAIhE;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CAAoD,CAAC;AAErG,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI5E;AAED,oFAAoF;AACpF,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAM1G;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMrG;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMrG"}
|
|
1
|
+
{"version":3,"file":"test-runner.d.ts","sourceRoot":"","sources":["../src/test-runner.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,qBAAa,UAAU;aAIS,SAAS,EAAE,MAAM;IAH7C,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,YAAY,CAAqB;gBAEb,SAAS,EAAE,MAAM;IAEtC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI3C,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;IA4BnC,gFAAgF;IAChF,IAAW,YAAY,IAAI,SAAS,WAAW,EAAE,CAEhD;CACJ;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrG;AAED,iDAAiD;AACjD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAErG;AAED,sGAAsG;AACtG,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAElF;AAMD,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAIhE;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,GAAI,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CAAoD,CAAC;AAErG,sCAAsC;AACtC,eAAO,MAAM,MAAM,OAHQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAGpB,CAAC;AAE7B,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAI5E;AAED,oFAAoF;AACpF,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAM1G;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMrG;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAMrG"}
|
package/dist/test-runner.js
CHANGED
|
@@ -61,7 +61,7 @@ export class TestRunner {
|
|
|
61
61
|
* compares. Both the tsx scripts (via EmitOutcomes) and the IntegrationTestDriver
|
|
62
62
|
* call this so the two execution paths produce identical files.
|
|
63
63
|
*/
|
|
64
|
-
export async function
|
|
64
|
+
export async function WriteOutcomesFile(path, outcomes) {
|
|
65
65
|
const serialized = outcomes.map(o => ({
|
|
66
66
|
name: o.Name,
|
|
67
67
|
passed: o.Passed,
|
|
@@ -73,9 +73,13 @@ export async function writeOutcomesFile(path, outcomes) {
|
|
|
73
73
|
await mkdir(dirname(path), { recursive: true });
|
|
74
74
|
await writeFile(path, JSON.stringify(serialized, null, 2));
|
|
75
75
|
}
|
|
76
|
+
/** @deprecated Use {@link WriteOutcomesFile}. */
|
|
77
|
+
export async function writeOutcomesFile(path, outcomes) {
|
|
78
|
+
return WriteOutcomesFile(path, outcomes);
|
|
79
|
+
}
|
|
76
80
|
/** Dump a finished TestRunner's outcomes for the golden diff (no-op semantics on Run() preserved). */
|
|
77
81
|
export async function EmitOutcomes(runner, path) {
|
|
78
|
-
await
|
|
82
|
+
await WriteOutcomesFile(path, runner.LastOutcomes);
|
|
79
83
|
}
|
|
80
84
|
// ────────────────────────────────────────────────────────────────────────────
|
|
81
85
|
// Assertions
|
|
@@ -89,7 +93,9 @@ export function Assert(condition, message) {
|
|
|
89
93
|
* Sleep for `ms` — lets fire-and-forget run/step/detail saves (BaseEntitySaveQueue) land before a
|
|
90
94
|
* check reads them back. Lifted from the tsx harness so graduated bundles read it from the package.
|
|
91
95
|
*/
|
|
92
|
-
export const
|
|
96
|
+
export const Settle = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
|
97
|
+
/** @deprecated Use {@link Settle}. */
|
|
98
|
+
export const settle = Settle;
|
|
93
99
|
export function AssertEqual(actual, expected, message) {
|
|
94
100
|
if (actual !== expected) {
|
|
95
101
|
throw new Error(`${message} — expected ${JSON.stringify(expected)}, got ${JSON.stringify(actual)}`);
|
package/dist/test-runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-runner.js","sourceRoot":"","sources":["../src/test-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-runner.js","sourceRoot":"","sources":["../src/test-runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/testing-integration",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.1
|
|
4
|
+
"version": "6.2.0-edge.1",
|
|
5
5
|
"description": "MemberJunction Integration Test bootstrap library, IntegrationCheck registry, and IntegrationTestDriver. Installs an instrumented LocalCacheManager as the first caller and owns its process.",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -11,22 +11,22 @@
|
|
|
11
11
|
"author": "MemberJunction.com",
|
|
12
12
|
"license": "BUSL-1.1",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@memberjunction/core": "6.1
|
|
15
|
-
"@memberjunction/dynamic-packages": "6.1
|
|
16
|
-
"@memberjunction/core-entities": "6.1
|
|
17
|
-
"@memberjunction/global": "6.1
|
|
18
|
-
"@memberjunction/testing-engine": "6.1
|
|
19
|
-
"@memberjunction/testing-engine-base": "6.1
|
|
20
|
-
"@memberjunction/generic-database-provider": "6.1
|
|
21
|
-
"@memberjunction/sqlserver-dataprovider": "6.1
|
|
22
|
-
"@memberjunction/graphql-dataprovider": "6.1
|
|
23
|
-
"@memberjunction/server-bootstrap-lite": "6.1
|
|
14
|
+
"@memberjunction/core": "6.2.0-edge.1",
|
|
15
|
+
"@memberjunction/dynamic-packages": "6.2.0-edge.1",
|
|
16
|
+
"@memberjunction/core-entities": "6.2.0-edge.1",
|
|
17
|
+
"@memberjunction/global": "6.2.0-edge.1",
|
|
18
|
+
"@memberjunction/testing-engine": "6.2.0-edge.1",
|
|
19
|
+
"@memberjunction/testing-engine-base": "6.2.0-edge.1",
|
|
20
|
+
"@memberjunction/generic-database-provider": "6.2.0-edge.1",
|
|
21
|
+
"@memberjunction/sqlserver-dataprovider": "6.2.0-edge.1",
|
|
22
|
+
"@memberjunction/graphql-dataprovider": "6.2.0-edge.1",
|
|
23
|
+
"@memberjunction/server-bootstrap-lite": "6.2.0-edge.1",
|
|
24
24
|
"cosmiconfig": "9.0.0",
|
|
25
25
|
"dotenv": "17.2.4",
|
|
26
26
|
"mssql": "^12.2.0"
|
|
27
27
|
},
|
|
28
28
|
"optionalDependencies": {
|
|
29
|
-
"@memberjunction/postgresql-dataprovider": "6.1
|
|
29
|
+
"@memberjunction/postgresql-dataprovider": "6.2.0-edge.1"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"typescript": "^5.9.3",
|