@gate-forge/pack-playwright 0.13.0 → 0.13.2
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/discovery/inference.d.ts.map +1 -1
- package/dist/discovery/inference.js +16 -1
- package/dist/discovery/inference.js.map +1 -1
- package/dist/discovery/static-discovery.d.ts.map +1 -1
- package/dist/discovery/static-discovery.js +87 -8
- package/dist/discovery/static-discovery.js.map +1 -1
- package/dist/fixture/api-request.d.ts +111 -0
- package/dist/fixture/api-request.d.ts.map +1 -0
- package/dist/fixture/api-request.js +114 -0
- package/dist/fixture/api-request.js.map +1 -0
- package/dist/fixture/fixture.d.ts +47 -1
- package/dist/fixture/fixture.d.ts.map +1 -1
- package/dist/fixture/fixture.js +197 -15
- package/dist/fixture/fixture.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +5 -0
- package/dist/setup.js.map +1 -1
- package/dist/supervisor/client.d.ts +21 -1
- package/dist/supervisor/client.d.ts.map +1 -1
- package/dist/supervisor/client.js +61 -33
- package/dist/supervisor/client.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validates the origin pair exactly like the page channel's own rule:
|
|
3
|
+
* both must be plain http and share the same (loopback) host — the swap
|
|
4
|
+
* is a port swap, never a host change.
|
|
5
|
+
*
|
|
6
|
+
* Args:
|
|
7
|
+
* appBaseURL: the configured app origin (GATEFORGE_APP_BASE_URL).
|
|
8
|
+
* sessionProxyURL: the supervisor-issued session proxy origin.
|
|
9
|
+
*
|
|
10
|
+
* Returns:
|
|
11
|
+
* SessionApiRouting: the parsed, validated pair.
|
|
12
|
+
*/
|
|
13
|
+
export function sessionApiRouting(appBaseURL, sessionProxyURL) {
|
|
14
|
+
const appOrigin = new URL(appBaseURL);
|
|
15
|
+
const sessionOrigin = new URL(sessionProxyURL);
|
|
16
|
+
if (appOrigin.protocol !== 'http:' ||
|
|
17
|
+
sessionOrigin.protocol !== appOrigin.protocol ||
|
|
18
|
+
sessionOrigin.hostname !== appOrigin.hostname) {
|
|
19
|
+
throw new Error('Gateforge session proxy and app base must share the same loopback HTTP host');
|
|
20
|
+
}
|
|
21
|
+
return { appOrigin: appOrigin.origin, sessionOrigin: sessionOrigin.origin };
|
|
22
|
+
}
|
|
23
|
+
/** Loopback in the three forms a browser URL can carry it. */
|
|
24
|
+
export function isLoopbackHostname(hostname) {
|
|
25
|
+
return hostname === 'localhost' || hostname === '::1' || hostname === '[::1]' || /^127\./.test(hostname);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Resolves one call URL against the context base URL (or the app origin
|
|
29
|
+
* when none is known) and rehosts it when it carries the app origin.
|
|
30
|
+
* Non-app URLs come back RAW so the underlying context's own base URL
|
|
31
|
+
* semantics keep applying to relative foreign paths.
|
|
32
|
+
*
|
|
33
|
+
* Args:
|
|
34
|
+
* rawUrl: the URL exactly as the test passed it.
|
|
35
|
+
* baseURL: the context's base URL (project `use.baseURL`), if known.
|
|
36
|
+
* routing: the validated session routing.
|
|
37
|
+
*
|
|
38
|
+
* Returns:
|
|
39
|
+
* ApiRewrite: the URL to send, the routing verdict, and any mismatch.
|
|
40
|
+
*/
|
|
41
|
+
export function rewriteApiUrl(rawUrl, baseURL, routing) {
|
|
42
|
+
if (routing.appOrigin === routing.sessionOrigin) {
|
|
43
|
+
return { url: rawUrl, routed: false, mismatchedOrigin: null };
|
|
44
|
+
}
|
|
45
|
+
const resolved = new URL(rawUrl, baseURL ?? routing.appOrigin);
|
|
46
|
+
if (resolved.origin === routing.appOrigin) {
|
|
47
|
+
const rehosted = new URL(resolved.href);
|
|
48
|
+
rehosted.host = new URL(routing.sessionOrigin).host;
|
|
49
|
+
return { url: rehosted.href, routed: true, mismatchedOrigin: null };
|
|
50
|
+
}
|
|
51
|
+
const mismatched = resolved.hostname === new URL(routing.appOrigin).hostname || isLoopbackHostname(resolved.hostname)
|
|
52
|
+
? resolved.origin
|
|
53
|
+
: null;
|
|
54
|
+
return { url: rawUrl, routed: false, mismatchedOrigin: mismatched };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Wraps an APIRequestContext so app-origin calls ride the session proxy.
|
|
58
|
+
* All arguments are passed through untouched; only the URL can change.
|
|
59
|
+
*
|
|
60
|
+
* Args:
|
|
61
|
+
* underlying: the real context (the built-in `request` fixture, the
|
|
62
|
+
* page context's request, or a fresh `request.newContext()`).
|
|
63
|
+
* options: base URL for relative resolution, the routing source, and
|
|
64
|
+
* the optional unrouted-origin reporter.
|
|
65
|
+
*
|
|
66
|
+
* Returns:
|
|
67
|
+
* APIRequestContext: the explicitly wrapped context.
|
|
68
|
+
*/
|
|
69
|
+
export function wrapApiRequestContext(underlying, options) {
|
|
70
|
+
const routed = async (target, verbOptions, call) => {
|
|
71
|
+
const routing = await options.routing();
|
|
72
|
+
if (routing === null || typeof target !== 'string')
|
|
73
|
+
return call(target, verbOptions);
|
|
74
|
+
const rewrite = rewriteApiUrl(target, options.baseURL, routing);
|
|
75
|
+
if (!rewrite.routed) {
|
|
76
|
+
if (rewrite.mismatchedOrigin !== null && options.onUnroutedOrigin !== undefined) {
|
|
77
|
+
options.onUnroutedOrigin(rewrite.mismatchedOrigin);
|
|
78
|
+
}
|
|
79
|
+
return call(target, verbOptions);
|
|
80
|
+
}
|
|
81
|
+
return call(rewrite.url, verbOptions);
|
|
82
|
+
};
|
|
83
|
+
const stringCall = (call) => async (url, verbOptions) => routed(url, verbOptions, (target, passed) => call(target, passed));
|
|
84
|
+
return {
|
|
85
|
+
fetch: (urlOrRequest, verbOptions) => routed(urlOrRequest, verbOptions, (target, passed) => underlying.fetch(target, passed)),
|
|
86
|
+
get: stringCall((url, verbOptions) => underlying.get(url, verbOptions)),
|
|
87
|
+
post: stringCall((url, verbOptions) => underlying.post(url, verbOptions)),
|
|
88
|
+
put: stringCall((url, verbOptions) => underlying.put(url, verbOptions)),
|
|
89
|
+
patch: stringCall((url, verbOptions) => underlying.patch(url, verbOptions)),
|
|
90
|
+
delete: stringCall((url, verbOptions) => underlying.delete(url, verbOptions)),
|
|
91
|
+
head: stringCall((url, verbOptions) => underlying.head(url, verbOptions)),
|
|
92
|
+
dispose: (verbOptions) => underlying.dispose(verbOptions),
|
|
93
|
+
storageState: (verbOptions) => underlying.storageState(verbOptions),
|
|
94
|
+
[Symbol.asyncDispose]: () => underlying.dispose(),
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Rehosts the owned APIRequestContext of a witnessed page's context
|
|
99
|
+
* (`page.request` and `context.request` are the SAME lazily-created
|
|
100
|
+
* object; shadowing it on the context instance covers both access
|
|
101
|
+
* paths). The underlying context is materialized first and delegated to.
|
|
102
|
+
*
|
|
103
|
+
* Args:
|
|
104
|
+
* context: the browser context of the witnessed page.
|
|
105
|
+
* options: the same arguments {@link wrapApiRequestContext} takes.
|
|
106
|
+
*
|
|
107
|
+
* Returns:
|
|
108
|
+
* void.
|
|
109
|
+
*/
|
|
110
|
+
export function rehostContextRequest(context, options) {
|
|
111
|
+
const wrapped = wrapApiRequestContext(context.request, options);
|
|
112
|
+
Object.defineProperty(context, 'request', { value: wrapped, configurable: true });
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=api-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-request.js","sourceRoot":"","sources":["../../src/fixture/api-request.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The gateforge Playwright fixture (plan §5.3, GF-24, invariant 6;
|
|
3
|
+
* Phase 1: consumer-declared surface + supervisor-issued sessions).
|
|
4
|
+
*
|
|
5
|
+
* `test` is `test.extend` exposing the `evidence` fixture built from
|
|
6
|
+
* {@link createEvidence} — the ONLY way tests interact with gateforge:
|
|
7
|
+
* the trusted primitives (`ui`, `visible`, `persistence`, `http`,
|
|
8
|
+
* `finalize`) submit witness-stamped records under the supervisor-issued
|
|
9
|
+
* test session; there is no boolean escape hatch and no direct record
|
|
10
|
+
* API. Tests that use engine-driven UI must extend this runner with a
|
|
11
|
+
* declarative `surface` descriptor (`test.extend({ surface })`) — the
|
|
12
|
+
* pack carries no application-specific selectors. Tests must
|
|
13
|
+
* import `{ test, expect }` FROM A RUNNER EXTENDED LIKE THIS — importing
|
|
14
|
+
* raw `playwright/test` bypasses the fixture and produces claims with no
|
|
15
|
+
* records (the engine grades the obligation `missing`; GF-24).
|
|
16
|
+
*
|
|
17
|
+
* API tests are witnessed too: the `request` fixture, the owned
|
|
18
|
+
* `page.request`/`context.request`, and the exported `request` factory
|
|
19
|
+
* (its `newContext`) rehost app-origin calls onto the test's session
|
|
20
|
+
* proxy through {@link ./api-request.ts} — see the module doc there.
|
|
21
|
+
*/
|
|
22
|
+
import { request as playwrightRequest } from 'playwright';
|
|
1
23
|
import type { Page } from 'playwright/test';
|
|
24
|
+
import type { APIRequestContext } from 'playwright/test';
|
|
2
25
|
import { expect } from './consumer-runner.js';
|
|
3
26
|
import { type EvidenceApi, type SurfaceDescriptor } from './evidence.js';
|
|
4
27
|
import { WitnessClient, type SessionPageObserverFlushRequest } from './witness-client.js';
|
|
@@ -81,6 +104,29 @@ export type EvidenceFixtures = {
|
|
|
81
104
|
* no surface requirement; the first UI call fails closed if no surface
|
|
82
105
|
* was wired.
|
|
83
106
|
*/
|
|
84
|
-
|
|
107
|
+
declare const extended: import("playwright/test").TestType<import("playwright/test").PlaywrightTestArgs & import("playwright/test").PlaywrightTestOptions & EvidenceFixtures, import("playwright/test").PlaywrightWorkerArgs & import("playwright/test").PlaywrightWorkerOptions>;
|
|
108
|
+
export declare const test: typeof extended;
|
|
85
109
|
export { expect };
|
|
110
|
+
/**
|
|
111
|
+
* The module-scope `request` of `@gate-forge/pack-playwright/fixture`:
|
|
112
|
+
* `newContext(options)` returns the same witnessed wrapping the
|
|
113
|
+
* `request` fixture carries, resolving the session LAZILY (on the first
|
|
114
|
+
* call) from the currently running test. Where no test is running
|
|
115
|
+
* (module scope), or inside a worker hook (`beforeAll`/`beforeEach`/
|
|
116
|
+
* `afterEach`/`afterAll` — Playwright runs a file's `beforeAll` INSIDE
|
|
117
|
+
* the first test's session window, so the session being open proves
|
|
118
|
+
* nothing), the returned context talks to the app DIRECTLY — setup
|
|
119
|
+
* traffic stays uncredited: it never reaches any session proxy, and
|
|
120
|
+
* the witness refuses session-attributed evidence outside a bound
|
|
121
|
+
* session. INSIDE a test body a session that never answers is a
|
|
122
|
+
* failure, not a fallback: the context waits the fixtures' own
|
|
123
|
+
* bound and then throws, so in-test traffic can never silently
|
|
124
|
+
* bypass the witness.
|
|
125
|
+
*
|
|
126
|
+
* The underlying context is created with the options exactly as given;
|
|
127
|
+
* only app-origin call URLs are rehosted per call.
|
|
128
|
+
*/
|
|
129
|
+
export declare const request: {
|
|
130
|
+
newContext(options?: Parameters<typeof playwrightRequest.newContext>[0]): Promise<APIRequestContext>;
|
|
131
|
+
};
|
|
86
132
|
//# sourceMappingURL=fixture.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../src/fixture/fixture.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["../../src/fixture/fixture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAA6B,OAAO,IAAI,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,KAAK,EAAE,IAAI,EAAY,MAAM,iBAAiB,CAAC;AAGtD,OAAO,KAAK,EAAE,iBAAiB,EAAW,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,MAAM,EAAgB,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,EAAE,KAAK,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAI1F;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,EACjD,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,IAAI,CAAC,CAQf;AAkDD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAC1C,OAAO,CAAC,IAAI,CAAC,CAwBf;AAmBD;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAsB;IACrC,8CAA8C;IAC9C,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,0DAA0D;IAC1D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,sBAAsB,CA2BzB;AAED,gDAAgD;AAChD,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,OAAO,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvC,mEAAmE;IACnE,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,QAAQ,2PA8IZ,CAAC;AAmDH,eAAO,MAAM,IAAI,EAAE,OAAO,QAAqC,CAAC;AAEhE,OAAO,EAAE,MAAM,EAAE,CAAC;AAElB;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,OAAO;yBACQ,UAAU,CAAC,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAQ,OAAO,CAAC,iBAAiB,CAAC;CA+C/G,CAAC"}
|
package/dist/fixture/fixture.js
CHANGED
|
@@ -13,14 +13,20 @@
|
|
|
13
13
|
* import `{ test, expect }` FROM A RUNNER EXTENDED LIKE THIS — importing
|
|
14
14
|
* raw `playwright/test` bypasses the fixture and produces claims with no
|
|
15
15
|
* records (the engine grades the obligation `missing`; GF-24).
|
|
16
|
+
*
|
|
17
|
+
* API tests are witnessed too: the `request` fixture, the owned
|
|
18
|
+
* `page.request`/`context.request`, and the exported `request` factory
|
|
19
|
+
* (its `newContext`) rehost app-origin calls onto the test's session
|
|
20
|
+
* proxy through {@link ./api-request.ts} — see the module doc there.
|
|
16
21
|
*/
|
|
17
|
-
import { chromium, firefox, webkit } from 'playwright';
|
|
22
|
+
import { chromium, firefox, webkit, request as playwrightRequest } from 'playwright';
|
|
18
23
|
import { createServer as createTcpServer } from 'node:net';
|
|
19
24
|
import { once } from 'node:events';
|
|
20
25
|
import { expect, test as base } from './consumer-runner.js';
|
|
21
26
|
import { setTimeout as delay } from 'node:timers/promises';
|
|
22
27
|
import { ENV_WITNESS_URL } from '../constants.js';
|
|
23
28
|
import { createEvidence, } from './evidence.js';
|
|
29
|
+
import { rehostContextRequest, sessionApiRouting, wrapApiRequestContext } from './api-request.js';
|
|
24
30
|
import { WitnessClient } from './witness-client.js';
|
|
25
31
|
const browserDebuggingPorts = new WeakMap();
|
|
26
32
|
/**
|
|
@@ -47,6 +53,36 @@ async function availableDebuggingPort() {
|
|
|
47
53
|
await new Promise((resolve, reject) => server.close((error) => error ? reject(error) : resolve()));
|
|
48
54
|
return address.port;
|
|
49
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Resolves the supervisor-issued session for one (testId, workerIndex)
|
|
58
|
+
* pair, polling until the deadline: the trusted reporter's session open
|
|
59
|
+
* and the worker's first resolve race, so a bounded wait absorbs the
|
|
60
|
+
* dispatch latency.
|
|
61
|
+
*
|
|
62
|
+
* Args:
|
|
63
|
+
* witness: the witness client.
|
|
64
|
+
* testId: the runner-side test id the session was opened under.
|
|
65
|
+
* workerIndex: the worker slot the session was opened under.
|
|
66
|
+
* timeoutMs: how long to wait for the session to appear.
|
|
67
|
+
*
|
|
68
|
+
* Returns:
|
|
69
|
+
* Promise<SessionCredential | null>: the open session, or null at the
|
|
70
|
+
* deadline.
|
|
71
|
+
*/
|
|
72
|
+
async function resolveSessionBounded(witness, testId, workerIndex, timeoutMs) {
|
|
73
|
+
const deadline = Date.now() + timeoutMs;
|
|
74
|
+
let session = await witness.resolveSession({ testId, workerIndex });
|
|
75
|
+
while (session === null && Date.now() < deadline) {
|
|
76
|
+
await delay(100);
|
|
77
|
+
session = await witness.resolveSession({ testId, workerIndex });
|
|
78
|
+
}
|
|
79
|
+
return session;
|
|
80
|
+
}
|
|
81
|
+
/** The project's `use.baseURL`, when it is a non-empty string. */
|
|
82
|
+
function projectBaseURL(testInfo) {
|
|
83
|
+
const baseURL = testInfo.project.use['baseURL'];
|
|
84
|
+
return typeof baseURL === 'string' && baseURL !== '' ? baseURL : undefined;
|
|
85
|
+
}
|
|
50
86
|
/**
|
|
51
87
|
* Routes browser requests for the configured app origin through the
|
|
52
88
|
* supervisor-issued session proxy, preserving the app URL and path.
|
|
@@ -150,7 +186,7 @@ export function createUnroutedOriginReporter(options) {
|
|
|
150
186
|
* no surface requirement; the first UI call fails closed if no surface
|
|
151
187
|
* was wired.
|
|
152
188
|
*/
|
|
153
|
-
|
|
189
|
+
const extended = base.extend({
|
|
154
190
|
browser: async ({ browserName, launchOptions }, use) => {
|
|
155
191
|
const browserType = { chromium, firefox, webkit }[browserName];
|
|
156
192
|
const witnessed = Boolean(process.env[ENV_WITNESS_URL]) && browserName === 'chromium';
|
|
@@ -180,18 +216,7 @@ export const test = base.extend({
|
|
|
180
216
|
throw new Error('GATEFORGE_APP_BASE_URL is required for witnessed browser traffic.');
|
|
181
217
|
}
|
|
182
218
|
const witness = new WitnessClient();
|
|
183
|
-
const
|
|
184
|
-
let session = await witness.resolveSession({
|
|
185
|
-
testId: testInfo.testId,
|
|
186
|
-
workerIndex: testInfo.workerIndex,
|
|
187
|
-
});
|
|
188
|
-
while (session === null && Date.now() < deadline) {
|
|
189
|
-
await delay(100);
|
|
190
|
-
session = await witness.resolveSession({
|
|
191
|
-
testId: testInfo.testId,
|
|
192
|
-
workerIndex: testInfo.workerIndex,
|
|
193
|
-
});
|
|
194
|
-
}
|
|
219
|
+
const session = await resolveSessionBounded(witness, testInfo.testId, testInfo.workerIndex, 5_000);
|
|
195
220
|
if (session === null) {
|
|
196
221
|
throw new Error(`No supervisor-issued witness session for ${testInfo.testId}.`);
|
|
197
222
|
}
|
|
@@ -236,11 +261,20 @@ export const test = base.extend({
|
|
|
236
261
|
});
|
|
237
262
|
};
|
|
238
263
|
if (session.proxyUrl !== null) {
|
|
264
|
+
const sessionProxyUrl = session.proxyUrl;
|
|
239
265
|
// The reporter rides along so a page that loads ANOTHER origin
|
|
240
266
|
// (a suite base URL Gateforge was never told about) reaches the
|
|
241
267
|
// witness as a name, not as silence.
|
|
242
268
|
const reporter = createUnroutedOriginReporter({ witness, session, appBaseURL });
|
|
243
|
-
await routePageThroughSessionProxy(page, appBaseURL,
|
|
269
|
+
await routePageThroughSessionProxy(page, appBaseURL, sessionProxyUrl, reporter.report);
|
|
270
|
+
// The owned APIRequestContext (`page.request`/`context.request`)
|
|
271
|
+
// rides the SAME session: app-origin calls rehost onto the proxy,
|
|
272
|
+
// other origins pass through, plausible mismatches are reported.
|
|
273
|
+
rehostContextRequest(page.context(), {
|
|
274
|
+
baseURL: projectBaseURL(testInfo),
|
|
275
|
+
routing: async () => sessionApiRouting(appBaseURL, sessionProxyUrl),
|
|
276
|
+
onUnroutedOrigin: reporter.report,
|
|
277
|
+
});
|
|
244
278
|
try {
|
|
245
279
|
await use(page);
|
|
246
280
|
}
|
|
@@ -261,6 +295,39 @@ export const test = base.extend({
|
|
|
261
295
|
await flushPageObserver();
|
|
262
296
|
}
|
|
263
297
|
},
|
|
298
|
+
request: async ({ request }, use, testInfo) => {
|
|
299
|
+
if (!process.env[ENV_WITNESS_URL]) {
|
|
300
|
+
await use(request);
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
const appBaseURL = process.env['GATEFORGE_APP_BASE_URL']?.trim();
|
|
304
|
+
if (!appBaseURL) {
|
|
305
|
+
throw new Error('GATEFORGE_APP_BASE_URL is required for witnessed API traffic.');
|
|
306
|
+
}
|
|
307
|
+
const witness = new WitnessClient();
|
|
308
|
+
const session = await resolveSessionBounded(witness, testInfo.testId, testInfo.workerIndex, 5_000);
|
|
309
|
+
if (session === null) {
|
|
310
|
+
throw new Error(`No supervisor-issued witness session for ${testInfo.testId}.`);
|
|
311
|
+
}
|
|
312
|
+
if (session.proxyUrl === null) {
|
|
313
|
+
// No proxy channel exists for this session: nothing can be
|
|
314
|
+
// witnessed, and unwrapped behavior is today's behavior.
|
|
315
|
+
await use(request);
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
const sessionProxyUrl = session.proxyUrl;
|
|
319
|
+
const reporter = createUnroutedOriginReporter({ witness, session, appBaseURL });
|
|
320
|
+
try {
|
|
321
|
+
await use(wrapApiRequestContext(request, {
|
|
322
|
+
baseURL: projectBaseURL(testInfo),
|
|
323
|
+
routing: async () => sessionApiRouting(appBaseURL, sessionProxyUrl),
|
|
324
|
+
onUnroutedOrigin: reporter.report,
|
|
325
|
+
}));
|
|
326
|
+
}
|
|
327
|
+
finally {
|
|
328
|
+
await reporter.settled();
|
|
329
|
+
}
|
|
330
|
+
},
|
|
264
331
|
surface: async ({}, use) => {
|
|
265
332
|
await use(undefined);
|
|
266
333
|
},
|
|
@@ -269,5 +336,120 @@ export const test = base.extend({
|
|
|
269
336
|
await use(evidence);
|
|
270
337
|
},
|
|
271
338
|
});
|
|
339
|
+
/**
|
|
340
|
+
* Worker-hook execution depth (beforeAll/beforeEach/afterEach/afterAll
|
|
341
|
+
* RUNNING right now in this worker). The witnessed API factory consults
|
|
342
|
+
* it: a context created inside a worker hook must talk to the app
|
|
343
|
+
* DIRECTLY — that is setup traffic and stays uncredited — even though
|
|
344
|
+
* Playwright runs `beforeAll` of a file inside the FIRST test's
|
|
345
|
+
* test-begin window, where the session is already open and a plain
|
|
346
|
+
* `test.info()` resolve would otherwise credit the call.
|
|
347
|
+
*/
|
|
348
|
+
let workerHookDepth = 0;
|
|
349
|
+
/** The hook registrars whose EXECUTION the tracker wraps. */
|
|
350
|
+
const HOOK_REGISTRARS = new Set(['beforeAll', 'beforeEach', 'afterEach', 'afterAll']);
|
|
351
|
+
/**
|
|
352
|
+
* Re-exports the extended runner with the four hook registrars wrapped
|
|
353
|
+
* so hook callbacks run inside the tracker above. The proxy forwards
|
|
354
|
+
* every other read untouched — the runner object stays the consumer's
|
|
355
|
+
* own (extend/describe/info all behave identically).
|
|
356
|
+
*/
|
|
357
|
+
function withHookTracking(extended) {
|
|
358
|
+
return new Proxy(extended, {
|
|
359
|
+
get(target, property, receiver) {
|
|
360
|
+
if (typeof property !== 'string' || !HOOK_REGISTRARS.has(property)) {
|
|
361
|
+
return Reflect.get(target, property, receiver);
|
|
362
|
+
}
|
|
363
|
+
const register = Reflect.get(target, property, target);
|
|
364
|
+
return (callback, timeout) =>
|
|
365
|
+
// A ZERO-PARAMETER forwarder is what Playwright sees: its spec
|
|
366
|
+
// transform inspects hook callbacks and rejects rest parameters
|
|
367
|
+
// ("First argument must use the object destructuring pattern").
|
|
368
|
+
register(function () {
|
|
369
|
+
const hookArgs = Array.from(arguments);
|
|
370
|
+
workerHookDepth += 1;
|
|
371
|
+
try {
|
|
372
|
+
return Promise.resolve(callback.apply(this, hookArgs)).finally(() => {
|
|
373
|
+
workerHookDepth -= 1;
|
|
374
|
+
});
|
|
375
|
+
}
|
|
376
|
+
catch (error) {
|
|
377
|
+
workerHookDepth -= 1;
|
|
378
|
+
throw error;
|
|
379
|
+
}
|
|
380
|
+
}, timeout);
|
|
381
|
+
},
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
export const test = withHookTracking(extended);
|
|
272
385
|
export { expect }; // re-exported so tests never need `playwright/test`
|
|
386
|
+
/**
|
|
387
|
+
* The module-scope `request` of `@gate-forge/pack-playwright/fixture`:
|
|
388
|
+
* `newContext(options)` returns the same witnessed wrapping the
|
|
389
|
+
* `request` fixture carries, resolving the session LAZILY (on the first
|
|
390
|
+
* call) from the currently running test. Where no test is running
|
|
391
|
+
* (module scope), or inside a worker hook (`beforeAll`/`beforeEach`/
|
|
392
|
+
* `afterEach`/`afterAll` — Playwright runs a file's `beforeAll` INSIDE
|
|
393
|
+
* the first test's session window, so the session being open proves
|
|
394
|
+
* nothing), the returned context talks to the app DIRECTLY — setup
|
|
395
|
+
* traffic stays uncredited: it never reaches any session proxy, and
|
|
396
|
+
* the witness refuses session-attributed evidence outside a bound
|
|
397
|
+
* session. INSIDE a test body a session that never answers is a
|
|
398
|
+
* failure, not a fallback: the context waits the fixtures' own
|
|
399
|
+
* bound and then throws, so in-test traffic can never silently
|
|
400
|
+
* bypass the witness.
|
|
401
|
+
*
|
|
402
|
+
* The underlying context is created with the options exactly as given;
|
|
403
|
+
* only app-origin call URLs are rehosted per call.
|
|
404
|
+
*/
|
|
405
|
+
export const request = {
|
|
406
|
+
async newContext(options = {}) {
|
|
407
|
+
if (!process.env[ENV_WITNESS_URL])
|
|
408
|
+
return await playwrightRequest.newContext(options);
|
|
409
|
+
const appBaseURL = process.env['GATEFORGE_APP_BASE_URL']?.trim();
|
|
410
|
+
if (appBaseURL === undefined || appBaseURL === '')
|
|
411
|
+
return await playwrightRequest.newContext(options);
|
|
412
|
+
const directContext = (testInfo) => {
|
|
413
|
+
// Direct (setup) traffic. The project's own base URL rides along
|
|
414
|
+
// when the caller gave none, so a relative setup call behaves
|
|
415
|
+
// exactly as the suite's config says it should.
|
|
416
|
+
const fallbackBaseURL = options.baseURL ?? (testInfo === undefined ? undefined : projectBaseURL(testInfo));
|
|
417
|
+
return playwrightRequest.newContext(fallbackBaseURL === undefined ? options : { ...options, baseURL: fallbackBaseURL });
|
|
418
|
+
};
|
|
419
|
+
let testInfo;
|
|
420
|
+
try {
|
|
421
|
+
testInfo = base.info();
|
|
422
|
+
}
|
|
423
|
+
catch {
|
|
424
|
+
// Module scope: no test owns this context.
|
|
425
|
+
return await directContext();
|
|
426
|
+
}
|
|
427
|
+
if (workerHookDepth > 0) {
|
|
428
|
+
// A worker hook: setup traffic, never credited — even though the
|
|
429
|
+
// first test's session may already be open here.
|
|
430
|
+
return await directContext(testInfo);
|
|
431
|
+
}
|
|
432
|
+
const witness = new WitnessClient();
|
|
433
|
+
// Inside a test body the supervisor has already opened (or is
|
|
434
|
+
// opening) this test's session: wait the same bound the
|
|
435
|
+
// fixtures use. A missing session must NOT fall back to a
|
|
436
|
+
// direct context here — that would silently bypass the
|
|
437
|
+
// witness for in-test traffic (only module scope and worker
|
|
438
|
+
// hooks are setup traffic, which stays uncredited by design).
|
|
439
|
+
const session = await resolveSessionBounded(witness, testInfo.testId, testInfo.workerIndex, 5_000);
|
|
440
|
+
if (session === null) {
|
|
441
|
+
throw new Error(`No supervisor-issued witness session for ${testInfo.testId}.`);
|
|
442
|
+
}
|
|
443
|
+
if (session.proxyUrl === null) {
|
|
444
|
+
// No proxy channel exists for this session: nothing can be
|
|
445
|
+
// witnessed, and unwrapped behavior is today's behavior.
|
|
446
|
+
return await directContext(testInfo);
|
|
447
|
+
}
|
|
448
|
+
const routing = sessionApiRouting(appBaseURL, session.proxyUrl);
|
|
449
|
+
return wrapApiRequestContext(await playwrightRequest.newContext(options), {
|
|
450
|
+
...(options.baseURL === undefined ? {} : { baseURL: options.baseURL }),
|
|
451
|
+
routing: async () => routing,
|
|
452
|
+
});
|
|
453
|
+
},
|
|
454
|
+
};
|
|
273
455
|
//# sourceMappingURL=fixture.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../src/fixture/fixture.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fixture.js","sourceRoot":"","sources":["../../src/fixture/fixture.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* - Setup: `gateforgeGlobalSetup` / `gateforgeGlobalTeardown` — spawn
|
|
18
18
|
* the witness deterministically before workers (no races).
|
|
19
19
|
*/
|
|
20
|
-
export { test, expect } from './fixture/fixture.js';
|
|
20
|
+
export { test, expect, request } from './fixture/fixture.js';
|
|
21
21
|
export type { EvidenceFixtures } from './fixture/fixture.js';
|
|
22
22
|
export { createEvidence, claimsFromAnnotations, resourceIdOfClaim, type EvidenceApi, type Receipt, type PersistenceOutcome, type WitnessRecord, type SurfaceDescriptor, } from './fixture/evidence.js';
|
|
23
23
|
export { SURFACE_DESCRIPTOR_VERSION, SURFACE_DESCRIPTOR_VERSION_1, SURFACE_DESCRIPTOR_VERSION_2, } from './surface.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* - Setup: `gateforgeGlobalSetup` / `gateforgeGlobalTeardown` — spawn
|
|
18
18
|
* the witness deterministically before workers (no races).
|
|
19
19
|
*/
|
|
20
|
-
export { test, expect } from './fixture/fixture.js';
|
|
20
|
+
export { test, expect, request } from './fixture/fixture.js';
|
|
21
21
|
export { createEvidence, claimsFromAnnotations, resourceIdOfClaim, } from './fixture/evidence.js';
|
|
22
22
|
export { SURFACE_DESCRIPTOR_VERSION, SURFACE_DESCRIPTOR_VERSION_1, SURFACE_DESCRIPTOR_VERSION_2, } from './surface.js';
|
|
23
23
|
export { WitnessClient, WitnessRequestError, resolveWitnessUrl } from './fixture/witness-client.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAmB9D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,SAAS,SAAQ,GAChB,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAmB9D;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,SAAS,SAAQ,GAChB,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAkExE;AAsBD;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiC1D;AAED,6DAA6D;AAC7D,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB7D"}
|
package/dist/setup.js
CHANGED
|
@@ -80,6 +80,11 @@ export async function startWitnessProcess(env, timeoutMs = 15000) {
|
|
|
80
80
|
});
|
|
81
81
|
child.stderr?.on('data', (chunk) => {
|
|
82
82
|
stderr += chunk.toString('utf8');
|
|
83
|
+
// Forward live: the page sweep's per-visit progress lines land on
|
|
84
|
+
// the operator's terminal as each visit finishes (a killed run
|
|
85
|
+
// keeps the lines it already earned), and crash diagnostics stay
|
|
86
|
+
// in `stderr` for the early-exit message below.
|
|
87
|
+
process.stderr.write(chunk);
|
|
83
88
|
});
|
|
84
89
|
child.once('error', (error) => {
|
|
85
90
|
clearTimeout(timer);
|
package/dist/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|