@sensigo/realm-testing 0.41.0 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts
CHANGED
|
@@ -21,5 +21,5 @@ export { runFixtureTests } from './runner/test-runner.js';
|
|
|
21
21
|
export type { TestResult, RunFixtureTestsOptions } from './runner/test-runner.js';
|
|
22
22
|
export { startGitHubMockServer } from './servers/github-mock-server.js';
|
|
23
23
|
export type { GitHubMockServerHandle } from './servers/github-mock-server.js';
|
|
24
|
-
export declare const VERSION = "0.
|
|
24
|
+
export declare const VERSION = "0.42.0";
|
|
25
25
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -21,5 +21,5 @@ export { testAdapter } from './helpers/test-adapter.js';
|
|
|
21
21
|
export { runFixtureTests } from './runner/test-runner.js';
|
|
22
22
|
// Servers
|
|
23
23
|
export { startGitHubMockServer } from './servers/github-mock-server.js';
|
|
24
|
-
export const VERSION = '0.
|
|
24
|
+
export const VERSION = '0.42.0';
|
|
25
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* Call `close()` in afterAll to release the port.
|
|
4
4
|
*/
|
|
5
5
|
export interface GitHubMockServerHandle {
|
|
6
|
-
/** Base URL of the server, e.g. "http://localhost:
|
|
6
|
+
/** Base URL of the server, e.g. "http://localhost:49213" — the port ACTUALLY bound, not the
|
|
7
|
+
* requested one (the default is ephemeral). */
|
|
7
8
|
url: string;
|
|
8
9
|
/** Closes the server and resolves when fully shut down. */
|
|
9
10
|
close(): Promise<void>;
|
|
@@ -13,7 +14,10 @@ export interface GitHubMockServerHandle {
|
|
|
13
14
|
* Reads the fixture once at startup; does not re-read on each request.
|
|
14
15
|
*
|
|
15
16
|
* @param fixturePath - Absolute path to the fixture JSON file.
|
|
16
|
-
* @param port - Port to bind to (
|
|
17
|
+
* @param port - Port to bind to. Defaults to `0` (ephemeral, OS-assigned — hermetic: two
|
|
18
|
+
* concurrent checkouts/suites on the same box can never collide on a fixed port). Pass an
|
|
19
|
+
* explicit port to pin one; `url` is always derived from the port actually bound, so both
|
|
20
|
+
* forms behave identically from the caller's side.
|
|
17
21
|
* @returns A handle with the server URL and a `close()` method.
|
|
18
22
|
*/
|
|
19
23
|
export declare function startGitHubMockServer(fixturePath: string, port?: number): Promise<GitHubMockServerHandle>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-mock-server.d.ts","sourceRoot":"","sources":["../../src/servers/github-mock-server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"github-mock-server.d.ts","sourceRoot":"","sources":["../../src/servers/github-mock-server.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;oDACgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,2DAA2D;IAC3D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAiCD;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,IAAI,SAAI,GACP,OAAO,CAAC,sBAAsB,CAAC,CAyEjC"}
|
|
@@ -37,10 +37,13 @@ function matchRoute(method, urlPath, fixtureKey) {
|
|
|
37
37
|
* Reads the fixture once at startup; does not re-read on each request.
|
|
38
38
|
*
|
|
39
39
|
* @param fixturePath - Absolute path to the fixture JSON file.
|
|
40
|
-
* @param port - Port to bind to (
|
|
40
|
+
* @param port - Port to bind to. Defaults to `0` (ephemeral, OS-assigned — hermetic: two
|
|
41
|
+
* concurrent checkouts/suites on the same box can never collide on a fixed port). Pass an
|
|
42
|
+
* explicit port to pin one; `url` is always derived from the port actually bound, so both
|
|
43
|
+
* forms behave identically from the caller's side.
|
|
41
44
|
* @returns A handle with the server URL and a `close()` method.
|
|
42
45
|
*/
|
|
43
|
-
export async function startGitHubMockServer(fixturePath, port =
|
|
46
|
+
export async function startGitHubMockServer(fixturePath, port = 0) {
|
|
44
47
|
const raw = fs.readFileSync(fixturePath, 'utf-8');
|
|
45
48
|
const fixture = JSON.parse(raw);
|
|
46
49
|
const server = http.createServer((req, res) => {
|
|
@@ -90,8 +93,12 @@ export async function startGitHubMockServer(fixturePath, port = 3032) {
|
|
|
90
93
|
});
|
|
91
94
|
server.listen(port, '127.0.0.1', () => resolve());
|
|
92
95
|
});
|
|
96
|
+
// Derive the URL from the port ACTUALLY bound, never the requested one: identical for an
|
|
97
|
+
// explicit port, and the only correct source for the ephemeral default (the OS assigns the
|
|
98
|
+
// real port at listen time — `server.address()` is where it becomes knowable).
|
|
99
|
+
const boundPort = server.address().port;
|
|
93
100
|
return {
|
|
94
|
-
url: `http://localhost:${
|
|
101
|
+
url: `http://localhost:${boundPort}`,
|
|
95
102
|
close() {
|
|
96
103
|
return new Promise((resolve, reject) => {
|
|
97
104
|
server.close((err) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-mock-server.js","sourceRoot":"","sources":["../../src/servers/github-mock-server.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"github-mock-server.js","sourceRoot":"","sources":["../../src/servers/github-mock-server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sensigo/realm-testing",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.42.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"lint": "eslint src"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@sensigo/realm": "^0.
|
|
41
|
+
"@sensigo/realm": "^0.42.0",
|
|
42
42
|
"js-yaml": "^4.2.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|