@browsercore/testing 0.2.0 → 0.2.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/README.md +1 -1
- package/bin/coverage-md.mjs +99 -0
- package/captures/test-malformed/http2/settings.bin +0 -0
- package/captures/test-malformed/http2/settings.meta.json +9 -0
- package/captures/test-no-extensions/tls/client_hello.bin +0 -0
- package/captures/test-no-extensions/tls/client_hello.meta.json +9 -0
- package/captures/test-wrong-type/http2/settings.bin +0 -0
- package/captures/test-wrong-type/http2/settings.meta.json +9 -0
- package/dist/bench/bench.d.ts +2 -0
- package/dist/bench/bench.d.ts.map +1 -1
- package/dist/bench/bench.js +12 -7
- package/dist/bench/bench.js.map +1 -1
- package/dist/captures/manifest.d.ts.map +1 -1
- package/dist/captures/manifest.js +6 -5
- package/dist/captures/manifest.js.map +1 -1
- package/dist/categories/compression.d.ts +6 -4
- package/dist/categories/compression.d.ts.map +1 -1
- package/dist/categories/compression.js +56 -6
- package/dist/categories/compression.js.map +1 -1
- package/dist/categories/cookies.js +0 -12
- package/dist/categories/cookies.js.map +1 -1
- package/dist/e2e/cert-gen.d.ts +1 -0
- package/dist/e2e/cert-gen.d.ts.map +1 -1
- package/dist/e2e/cert-gen.js +1 -1
- package/dist/e2e/cert-gen.js.map +1 -1
- package/dist/e2e/traffic-server.d.ts +48 -0
- package/dist/e2e/traffic-server.d.ts.map +1 -0
- package/dist/e2e/traffic-server.js +162 -0
- package/dist/e2e/traffic-server.js.map +1 -0
- package/dist/golden/golden.d.ts.map +1 -1
- package/dist/golden/golden.js +8 -7
- package/dist/golden/golden.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/node-provider.d.ts +42 -0
- package/dist/node-provider.d.ts.map +1 -0
- package/dist/node-provider.js +53 -0
- package/dist/node-provider.js.map +1 -0
- package/dist/provider.d.ts +52 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +14 -0
- package/dist/provider.js.map +1 -0
- package/dist/reference/browser-provider.d.ts.map +1 -1
- package/dist/reference/browser-provider.js +4 -3
- package/dist/reference/browser-provider.js.map +1 -1
- package/dist/reference/node-crypto-provider.d.ts +31 -0
- package/dist/reference/node-crypto-provider.d.ts.map +1 -0
- package/dist/reference/node-crypto-provider.js +199 -0
- package/dist/reference/node-crypto-provider.js.map +1 -0
- package/package.json +17 -13
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
[](https://www.npmjs.com/package/@browsercore/testing)
|
|
5
|
-
[](https://github.com/jverneuer/browsercore-testing/blob/main/COVERAGE.md)
|
|
6
6
|
[](https://github.com/jverneuer/browsercore-testing/actions/workflows/ci.yml)
|
|
7
7
|
|
|
8
8
|
Protocol verification — RFC compliance tests, browser golden packet captures,
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Convert vitest's coverage-summary.json into a markdown coverage table.
|
|
4
|
+
*
|
|
5
|
+
* Run AFTER `vitest run --coverage` (with the json-summary reporter) so
|
|
6
|
+
* coverage-summary.json exists. Writes COVERAGE.md and coverage/badge.json to
|
|
7
|
+
* the current working directory (the consumer package root).
|
|
8
|
+
*
|
|
9
|
+
* Distributed as the `coverage-md` bin of @browsercore/dev, replacing the
|
|
10
|
+
* per-repo scripts/coverage-md.mjs copies.
|
|
11
|
+
*
|
|
12
|
+
* Dependency-free: only node:fs + node:path. Safe in CI with no install step.
|
|
13
|
+
*/
|
|
14
|
+
import { readFileSync, writeFileSync } from "node:fs";
|
|
15
|
+
import { join, relative } from "node:path";
|
|
16
|
+
|
|
17
|
+
const pkgRoot = process.cwd();
|
|
18
|
+
const summaryPath = join(pkgRoot, "coverage", "coverage-summary.json");
|
|
19
|
+
const outPath = join(pkgRoot, "COVERAGE.md");
|
|
20
|
+
const badgePath = join(pkgRoot, "coverage", "badge.json");
|
|
21
|
+
|
|
22
|
+
/** @type {Record<string, { lines:{total:number,covered:number,pct:number}, statements:{total:number,covered:number,pct:number}, functions:{total:number,covered:number,pct:number}, branches:{total:number,covered:number,pct:number} }>} */
|
|
23
|
+
let data;
|
|
24
|
+
try {
|
|
25
|
+
data = JSON.parse(readFileSync(summaryPath, "utf-8"));
|
|
26
|
+
} catch {
|
|
27
|
+
console.error(
|
|
28
|
+
`[coverage-md] Could not read ${summaryPath}. ` +
|
|
29
|
+
`Run vitest with the json-summary reporter first.`,
|
|
30
|
+
);
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const total = data.total;
|
|
35
|
+
/**
|
|
36
|
+
* @typedef {Object} Metric
|
|
37
|
+
* @property {string} label
|
|
38
|
+
* @property {keyof typeof total} key
|
|
39
|
+
*/
|
|
40
|
+
/** @type {Metric[]} */
|
|
41
|
+
const metrics = [
|
|
42
|
+
{ label: "Statements", key: "statements" },
|
|
43
|
+
{ label: "Branches", key: "branches" },
|
|
44
|
+
{ label: "Functions", key: "functions" },
|
|
45
|
+
{ label: "Lines", key: "lines" },
|
|
46
|
+
];
|
|
47
|
+
/** @param {{pct:number,covered:number,total:number}} m */
|
|
48
|
+
const render = (m) => `${m.pct}% (${m.covered}/${m.total})`;
|
|
49
|
+
|
|
50
|
+
const fileEntries = Object.entries(data)
|
|
51
|
+
.filter(([key]) => key !== "total")
|
|
52
|
+
.map(([file, m]) => {
|
|
53
|
+
// coverage-summary.json keys are absolute paths; show repo-relative.
|
|
54
|
+
const rel = relative(pkgRoot, file).split("\\").join("/");
|
|
55
|
+
return { file: rel, m };
|
|
56
|
+
})
|
|
57
|
+
.sort((a, b) => a.file.localeCompare(b.file));
|
|
58
|
+
|
|
59
|
+
const lines = [];
|
|
60
|
+
lines.push(`# Coverage report`);
|
|
61
|
+
lines.push("");
|
|
62
|
+
lines.push(`Generated from \`coverage-summary.json\` by \`coverage-md\` (@browsercore/dev).`);
|
|
63
|
+
lines.push("");
|
|
64
|
+
lines.push(`## Total`);
|
|
65
|
+
lines.push("");
|
|
66
|
+
lines.push(`| Metric | Coverage |`);
|
|
67
|
+
lines.push(`| --- | --- |`);
|
|
68
|
+
for (const { label, key } of metrics) {
|
|
69
|
+
lines.push(`| ${label} | ${render(total[key])} |`);
|
|
70
|
+
}
|
|
71
|
+
lines.push("");
|
|
72
|
+
lines.push(`## Per-file`);
|
|
73
|
+
lines.push("");
|
|
74
|
+
const header = `| File | ${metrics.map((m) => m.label).join(" | ")} |`;
|
|
75
|
+
const sep = `| --- | ${metrics.map(() => "---").join(" | ")} |`;
|
|
76
|
+
lines.push(header);
|
|
77
|
+
lines.push(sep);
|
|
78
|
+
for (const { file, m } of fileEntries) {
|
|
79
|
+
lines.push(`| \`${file}\` | ${metrics.map((met) => render(m[met.key])).join(" | ")} |`);
|
|
80
|
+
}
|
|
81
|
+
lines.push("");
|
|
82
|
+
|
|
83
|
+
writeFileSync(outPath, lines.join("\n"));
|
|
84
|
+
console.log(`[coverage-md] wrote ${relative(process.cwd(), outPath)}`);
|
|
85
|
+
|
|
86
|
+
// shields.io endpoint badge: a single coverage figure (statements %) for the
|
|
87
|
+
// README badge. Color tiers mirror shields.io conventions.
|
|
88
|
+
const pct = total.statements.pct;
|
|
89
|
+
const badgeColor =
|
|
90
|
+
pct >= 90 ? "brightgreen" : pct >= 75 ? "green" : pct >= 50 ? "yellow" : "red";
|
|
91
|
+
const badge = {
|
|
92
|
+
schemaVersion: 1,
|
|
93
|
+
label: "coverage",
|
|
94
|
+
message: `${pct}%`,
|
|
95
|
+
color: badgeColor,
|
|
96
|
+
namedLogo: "vitest",
|
|
97
|
+
};
|
|
98
|
+
writeFileSync(badgePath, JSON.stringify(badge));
|
|
99
|
+
console.log(`[coverage-md] wrote ${relative(process.cwd(), badgePath)}`);
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/bench/bench.d.ts
CHANGED
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
* throughput.
|
|
14
14
|
*/
|
|
15
15
|
import type { BenchStats } from "../types.js";
|
|
16
|
+
/** Read a percentile (0..1) from a sorted array of samples. */
|
|
17
|
+
export declare function percentile(sorted: number[], p: number): number;
|
|
16
18
|
/**
|
|
17
19
|
* Benchmark the TLS ClientHello fingerprint computation (JA3 + JA4) over
|
|
18
20
|
* `iterations` runs against the chrome-140 golden capture. Reports
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bench.d.ts","sourceRoot":"","sources":["../../src/bench/bench.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"bench.d.ts","sourceRoot":"","sources":["../../src/bench/bench.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiD9C,+DAA+D;AAC/D,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAM9D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,UAAU,CAuBZ;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7E,UAAU,CA4BZ"}
|
package/dist/bench/bench.js
CHANGED
|
@@ -12,14 +12,19 @@
|
|
|
12
12
|
* timings in microseconds, and reports p50/p95/p99 latency plus average
|
|
13
13
|
* throughput.
|
|
14
14
|
*/
|
|
15
|
-
import {
|
|
16
|
-
import { join } from "node:path";
|
|
15
|
+
import { gunzipSync, gzipSync } from "node:zlib";
|
|
17
16
|
import { computeJa3, computeJa4 } from "../fingerprint/index.js";
|
|
18
17
|
import { compareBytes } from "../utils.js";
|
|
19
|
-
import {
|
|
18
|
+
import { createFileSystem, createPath } from "../node-provider.js";
|
|
19
|
+
const fileSystem = createFileSystem();
|
|
20
|
+
const path = createPath();
|
|
21
|
+
const compression = {
|
|
22
|
+
gzip: (data) => new Uint8Array(gzipSync(data)),
|
|
23
|
+
gunzip: (data) => new Uint8Array(gunzipSync(data)),
|
|
24
|
+
};
|
|
20
25
|
const here = import.meta.dirname;
|
|
21
26
|
// src/bench -> package root -> captures/
|
|
22
|
-
const capturesDir = join(here, "..", "..", "captures");
|
|
27
|
+
const capturesDir = path.join(here, "..", "..", "captures");
|
|
23
28
|
/** Deterministic payload: byte[i] = i % 256 (reproducible, never random). */
|
|
24
29
|
function detBuffer(length) {
|
|
25
30
|
const bytes = new Uint8Array(length);
|
|
@@ -50,7 +55,7 @@ function measure(iterations, fn) {
|
|
|
50
55
|
return timings;
|
|
51
56
|
}
|
|
52
57
|
/** Read a percentile (0..1) from a sorted array of samples. */
|
|
53
|
-
function percentile(sorted, p) {
|
|
58
|
+
export function percentile(sorted, p) {
|
|
54
59
|
if (sorted.length === 0) {
|
|
55
60
|
return 0;
|
|
56
61
|
}
|
|
@@ -67,7 +72,7 @@ export function benchmarkTlsHandshake(iterations, _options) {
|
|
|
67
72
|
// Load the chrome-140 golden capture once; the benchmark measures the
|
|
68
73
|
// parsing + fingerprinting cost, not the live handshake (which needs a
|
|
69
74
|
// functional TLS stack + loopback server — future work).
|
|
70
|
-
const bytes = readFileSync(join(capturesDir, "chrome-140", "tls", "client_hello.bin"));
|
|
75
|
+
const bytes = fileSystem.readFileSync(path.join(capturesDir, "chrome-140", "tls", "client_hello.bin"));
|
|
71
76
|
const iters = Math.max(1, iterations);
|
|
72
77
|
const timings = measure(iters, () => {
|
|
73
78
|
computeJa3(bytes);
|
|
@@ -91,7 +96,7 @@ export function benchmarkHttp2Request(iterations, _options) {
|
|
|
91
96
|
void _options;
|
|
92
97
|
// The HTTP/2 SETTINGS frame is small and deterministic — ideal for
|
|
93
98
|
// repeated comparison benchmarking without a live server.
|
|
94
|
-
const bytes = readFileSync(join(capturesDir, "chrome-140", "http2", "settings.bin"));
|
|
99
|
+
const bytes = fileSystem.readFileSync(path.join(capturesDir, "chrome-140", "http2", "settings.bin"));
|
|
95
100
|
const iters = Math.max(1, iterations);
|
|
96
101
|
// Pre-compress a payload for the compression round-trip sub-benchmark.
|
|
97
102
|
const payload = detBuffer(8192);
|
package/dist/bench/bench.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bench.js","sourceRoot":"","sources":["../../src/bench/bench.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"bench.js","sourceRoot":"","sources":["../../src/bench/bench.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/captures/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/captures/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU/C,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC9B;AAeD,eAAO,MAAM,QAAQ,EAAE,SAAS,YAAY,EA8C3C,CAAC"}
|
|
@@ -7,20 +7,21 @@
|
|
|
7
7
|
* providers discover captures through this array rather than hard-coding paths
|
|
8
8
|
* (no magic strings — see CODING_STANDARDS.md).
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
11
|
-
|
|
10
|
+
import { createFileSystem, createPath } from "../node-provider.js";
|
|
11
|
+
const fileSystem = createFileSystem();
|
|
12
|
+
const path = createPath();
|
|
12
13
|
const here = import.meta.dirname;
|
|
13
14
|
// src/captures -> package root -> captures/
|
|
14
|
-
const capturesDir = join(here, "..", "..", "captures");
|
|
15
|
+
const capturesDir = path.join(here, "..", "..", "captures");
|
|
15
16
|
function id(s) {
|
|
16
17
|
return s;
|
|
17
18
|
}
|
|
18
19
|
function entry(relativePath, meta) {
|
|
19
|
-
const abs = join(capturesDir, relativePath);
|
|
20
|
+
const abs = path.join(capturesDir, relativePath);
|
|
20
21
|
return {
|
|
21
22
|
path: relativePath,
|
|
22
23
|
meta,
|
|
23
|
-
bytes: readFileSync(abs),
|
|
24
|
+
bytes: fileSystem.readFileSync(abs),
|
|
24
25
|
};
|
|
25
26
|
}
|
|
26
27
|
export const captures = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/captures/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/captures/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;AACtC,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;AAE1B,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC;AACjC,4CAA4C;AAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAS5D,SAAS,EAAE,CAAC,CAAS;IACjB,OAAO,CAAc,CAAC;AAC1B,CAAC;AAED,SAAS,KAAK,CAAC,YAAoB,EAAE,IAAiB;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACjD,OAAO;QACH,IAAI,EAAE,YAAY;QAClB,IAAI;QACJ,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC;KACtC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAA4B;IAC7C,KAAK,CACD,iCAAiC,EACjC;QACI,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC;QACzB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,cAAc;QACtB,WAAW,EACP,yDAAyD;QAC7D,gBAAgB,EAAE;YACd,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;YAChD,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;SAC1D;QACD,SAAS,EAAE,sBAAsB;KACpC,CACJ;IACD,KAAK,CACD,+BAA+B,EAC/B;QACI,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC;QACzB,QAAQ,EAAE,OAAO;QACjB,MAAM,EAAE,UAAU;QAClB,WAAW,EACP,iEAAiE;QACrE,gBAAgB,EAAE,EAAE;QACpB,SAAS,EAAE,sBAAsB;KACpC,CACJ;IACD,KAAK,CACD,kCAAkC,EAClC;QACI,MAAM,EAAE,kBAAkB;QAC1B,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC;QAC1B,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,cAAc;QACtB,WAAW,EACP,0DAA0D;QAC9D,gBAAgB,EAAE;YACd,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;YAChD,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE;SAC1D;QACD,SAAS,EAAE,sBAAsB;KACpC,CACJ;CACJ,CAAC"}
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
* Test Category 9 — Compression.
|
|
3
3
|
*
|
|
4
4
|
* Verify gzip, brotli, deflate decoding behavior matches the Node.js reference
|
|
5
|
-
* oracle (`nodeZlib`). The system under test is
|
|
6
|
-
* `nodeZlib` is the spec reference for
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* oracle (`nodeZlib`). The system under test is a `CompressionProvider`
|
|
6
|
+
* implementation backed by node:zlib; `nodeZlib` is the spec reference for
|
|
7
|
+
* these primitive layers. The runtime implementation lives in browsersmith
|
|
8
|
+
* (Layer 5), so this repo exercises the `CompressionProvider` contract with a
|
|
9
|
+
* local Node-backed double. See docs/TEST-SUITE.md ("Test Category 9 —
|
|
10
|
+
* Compression") for full acceptance criteria.
|
|
9
11
|
*/
|
|
10
12
|
export declare const CATEGORY_ID: "compression";
|
|
11
13
|
//# sourceMappingURL=compression.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/categories/compression.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/categories/compression.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAkBH,eAAO,MAAM,WAAW,eAA2B,CAAC"}
|
|
@@ -2,17 +2,67 @@
|
|
|
2
2
|
* Test Category 9 — Compression.
|
|
3
3
|
*
|
|
4
4
|
* Verify gzip, brotli, deflate decoding behavior matches the Node.js reference
|
|
5
|
-
* oracle (`nodeZlib`). The system under test is
|
|
6
|
-
* `nodeZlib` is the spec reference for
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* oracle (`nodeZlib`). The system under test is a `CompressionProvider`
|
|
6
|
+
* implementation backed by node:zlib; `nodeZlib` is the spec reference for
|
|
7
|
+
* these primitive layers. The runtime implementation lives in browsersmith
|
|
8
|
+
* (Layer 5), so this repo exercises the `CompressionProvider` contract with a
|
|
9
|
+
* local Node-backed double. See docs/TEST-SUITE.md ("Test Category 9 —
|
|
10
|
+
* Compression") for full acceptance criteria.
|
|
9
11
|
*/
|
|
10
|
-
import { deflateRawSync } from "node:zlib";
|
|
12
|
+
import { brotliCompressSync, brotliDecompressSync, deflateRawSync, deflateSync, gunzipSync, gzipSync, inflateRawSync, inflateSync, } from "node:zlib";
|
|
11
13
|
import { describe, expect, it } from "vitest";
|
|
12
|
-
import {
|
|
14
|
+
import { UnsupportedEncodingError } from "@browsercore/compression";
|
|
13
15
|
import { nodeZlib } from "../reference/node-reference.js";
|
|
14
16
|
import { TestCategory } from "../types.js";
|
|
15
17
|
export const CATEGORY_ID = TestCategory.Compression;
|
|
18
|
+
/**
|
|
19
|
+
* Local Node-backed `CompressionProvider` double. The production implementation
|
|
20
|
+
* lives in browsersmith; this repo exercises the contract against the Node
|
|
21
|
+
* reference oracle to validate the primitive behavior.
|
|
22
|
+
*/
|
|
23
|
+
const compression = {
|
|
24
|
+
gzip(data) {
|
|
25
|
+
return new Uint8Array(gzipSync(data));
|
|
26
|
+
},
|
|
27
|
+
gunzip(data) {
|
|
28
|
+
return new Uint8Array(gunzipSync(data));
|
|
29
|
+
},
|
|
30
|
+
deflate(data) {
|
|
31
|
+
return new Uint8Array(deflateSync(data));
|
|
32
|
+
},
|
|
33
|
+
inflate(data) {
|
|
34
|
+
return new Uint8Array(inflateSync(data));
|
|
35
|
+
},
|
|
36
|
+
inflateRaw(data) {
|
|
37
|
+
return new Uint8Array(inflateRawSync(data));
|
|
38
|
+
},
|
|
39
|
+
brotliCompress(data) {
|
|
40
|
+
return new Uint8Array(brotliCompressSync(data));
|
|
41
|
+
},
|
|
42
|
+
brotliDecompress(data) {
|
|
43
|
+
return new Uint8Array(brotliDecompressSync(data));
|
|
44
|
+
},
|
|
45
|
+
decompress(data, encoding) {
|
|
46
|
+
switch (encoding) {
|
|
47
|
+
case "gzip":
|
|
48
|
+
return this.gunzip(data);
|
|
49
|
+
case "deflate": {
|
|
50
|
+
try {
|
|
51
|
+
return this.inflate(data);
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return this.inflateRaw(data);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
case "br":
|
|
58
|
+
return this.brotliDecompress(data);
|
|
59
|
+
case "identity":
|
|
60
|
+
return data;
|
|
61
|
+
default:
|
|
62
|
+
throw new UnsupportedEncodingError(`unsupported encoding: ${String(encoding)}`);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
};
|
|
16
66
|
/** Deterministic payload: byte[i] = i % 256 (reproducible, never random). */
|
|
17
67
|
function detBuffer(length) {
|
|
18
68
|
const bytes = new Uint8Array(length);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compression.js","sourceRoot":"","sources":["../../src/categories/compression.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"compression.js","sourceRoot":"","sources":["../../src/categories/compression.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,9 +74,6 @@ describe(CATEGORY_ID, () => {
|
|
|
74
74
|
// A cookie set for example.com must NOT match evil.com.
|
|
75
75
|
const cookie = parseSetCookieHeader("session=abc; Domain=example.com", url("example.com", "/"));
|
|
76
76
|
expect(cookie).not.toBeNull();
|
|
77
|
-
if (cookie === null) {
|
|
78
|
-
expect.unreachable("cookie parsed as non-null");
|
|
79
|
-
}
|
|
80
77
|
const evilUrl = url("evil.com", "/");
|
|
81
78
|
const result = cookieMatchesUrl(cookie, evilUrl);
|
|
82
79
|
expect(result.matched).toBe(false);
|
|
@@ -85,9 +82,6 @@ describe(CATEGORY_ID, () => {
|
|
|
85
82
|
it("matches a cookie to its own domain and subdomains", () => {
|
|
86
83
|
const cookie = parseSetCookieHeader("session=abc; Domain=example.com", url("example.com", "/"));
|
|
87
84
|
expect(cookie).not.toBeNull();
|
|
88
|
-
if (cookie === null) {
|
|
89
|
-
expect.unreachable("cookie parsed as non-null");
|
|
90
|
-
}
|
|
91
85
|
const c = cookie;
|
|
92
86
|
expect(cookieMatchesUrl(c, url("example.com", "/")).matched).toBe(true);
|
|
93
87
|
expect(cookieMatchesUrl(c, url("www.example.com", "/")).matched).toBe(true);
|
|
@@ -96,9 +90,6 @@ describe(CATEGORY_ID, () => {
|
|
|
96
90
|
it("respects the Secure flag — no match over http", () => {
|
|
97
91
|
const cookie = parseSetCookieHeader("session=abc; Domain=example.com; Secure", url("example.com", "/"));
|
|
98
92
|
expect(cookie).not.toBeNull();
|
|
99
|
-
if (cookie === null) {
|
|
100
|
-
expect.unreachable("cookie parsed as non-null");
|
|
101
|
-
}
|
|
102
93
|
const c = cookie;
|
|
103
94
|
expect(cookieMatchesUrl(c, url("example.com", "/", false)).matched).toBe(false);
|
|
104
95
|
expect(cookieMatchesUrl(c, url("example.com", "/", true)).matched).toBe(true);
|
|
@@ -106,9 +97,6 @@ describe(CATEGORY_ID, () => {
|
|
|
106
97
|
it("respects the Path attribute", () => {
|
|
107
98
|
const cookie = parseSetCookieHeader("session=abc; Domain=example.com; Path=/api", url("example.com", "/api"));
|
|
108
99
|
expect(cookie).not.toBeNull();
|
|
109
|
-
if (cookie === null) {
|
|
110
|
-
expect.unreachable("cookie parsed as non-null");
|
|
111
|
-
}
|
|
112
100
|
const c = cookie;
|
|
113
101
|
expect(cookieMatchesUrl(c, url("example.com", "/api")).matched).toBe(true);
|
|
114
102
|
expect(cookieMatchesUrl(c, url("example.com", "/api/v1")).matched).toBe(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../src/categories/cookies.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cookies.js","sourceRoot":"","sources":["../../src/categories/cookies.ts"],"names":[],"mappings":"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"}
|
package/dist/e2e/cert-gen.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export interface SelfSignedCert {
|
|
|
18
18
|
/** PEM-encoded PKCS#8 private key (for `tls.createSecureContext`). */
|
|
19
19
|
readonly keyPem: string;
|
|
20
20
|
}
|
|
21
|
+
export declare function derOid(oid: string): Uint8Array;
|
|
21
22
|
/**
|
|
22
23
|
* Generate a self-signed ECDSA P-256 certificate valid for the given SANs.
|
|
23
24
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cert-gen.d.ts","sourceRoot":"","sources":["../../src/e2e/cert-gen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"cert-gen.d.ts","sourceRoot":"","sources":["../../src/e2e/cert-gen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC3B,oCAAoC;IACpC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAwDD,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAkB9C;AA+BD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAClC,QAAQ,GAAE,SAAS,MAAM,EAAkB,EAC3C,WAAW,GAAE,SAAS,MAAM,EAAkB,EAC9C,YAAY,SAAI,GACjB,cAAc,CAoEhB"}
|
package/dist/e2e/cert-gen.js
CHANGED
|
@@ -64,7 +64,7 @@ function derUtf8String(bytes) {
|
|
|
64
64
|
function derGeneralizedTime(text) {
|
|
65
65
|
return derTagged(0x18, new TextEncoder().encode(text));
|
|
66
66
|
}
|
|
67
|
-
function derOid(oid) {
|
|
67
|
+
export function derOid(oid) {
|
|
68
68
|
const parts = oid.split(".").map((p) => Number.parseInt(p, 10));
|
|
69
69
|
const first = parts[0] * 40 + parts[1];
|
|
70
70
|
const rest = [];
|
package/dist/e2e/cert-gen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cert-gen.js","sourceRoot":"","sources":["../../src/e2e/cert-gen.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cert-gen.js","sourceRoot":"","sources":["../../src/e2e/cert-gen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* E2E traffic server for Bug 6 (AES-128-GCM record decryption) regression.
|
|
3
|
+
*
|
|
4
|
+
* Extends the sink-server pattern: performs a **real** TLS 1.3 handshake
|
|
5
|
+
* against the @browsercore/tls client stack, then serves an encrypted HTTP
|
|
6
|
+
* response. The client must decrypt the full server flight (handshake +
|
|
7
|
+
* application data) — if AEAD key derivation, nonce construction, or record
|
|
8
|
+
* parsing is wrong, decryption fails and the fetch throws.
|
|
9
|
+
*
|
|
10
|
+
* This is the deterministic, network-free reproduction for Bug 6: the same
|
|
11
|
+
* TLS code path that fails against example.com fails here, but without a
|
|
12
|
+
* network dependency.
|
|
13
|
+
*/
|
|
14
|
+
/** Result of a completed handshake against the traffic server. */
|
|
15
|
+
export interface TrafficResult {
|
|
16
|
+
/** Negotiated protocol version, e.g. "TLSv1.3". */
|
|
17
|
+
readonly protocolVersion: string;
|
|
18
|
+
/** Negotiated cipher suite. */
|
|
19
|
+
readonly cipherSuite: string;
|
|
20
|
+
/** ALPN protocol negotiated, or null. */
|
|
21
|
+
readonly alpnProtocol: string | null;
|
|
22
|
+
/** Wall-clock handshake duration in milliseconds. */
|
|
23
|
+
readonly handshakeDurationMs: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Single-shot TLS 1.3 traffic server. Performs a real handshake, then sends
|
|
27
|
+
* an encrypted HTTP response the client must decrypt.
|
|
28
|
+
*/
|
|
29
|
+
export declare class TrafficServer {
|
|
30
|
+
private readonly server;
|
|
31
|
+
private readonly ctx;
|
|
32
|
+
private state;
|
|
33
|
+
private waiters;
|
|
34
|
+
private failers;
|
|
35
|
+
readonly host: string;
|
|
36
|
+
readonly port: number;
|
|
37
|
+
private constructor();
|
|
38
|
+
/** Start listening on an ephemeral port on 127.0.0.1. */
|
|
39
|
+
static start(): Promise<TrafficServer>;
|
|
40
|
+
private attach;
|
|
41
|
+
private onConnection;
|
|
42
|
+
private done;
|
|
43
|
+
private fail;
|
|
44
|
+
/** Resolve once handshake completes. */
|
|
45
|
+
waitForHandshake(timeoutMs?: number): Promise<TrafficResult>;
|
|
46
|
+
stop(): Promise<void>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=traffic-server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traffic-server.d.ts","sourceRoot":"","sources":["../../src/e2e/traffic-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAgBH,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC1B,mDAAmD;IACnD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,+BAA+B;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,qDAAqD;IACrD,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;CACxC;AAQD;;;GAGG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,OAAO,CAA8C;IAC7D,OAAO,CAAC,OAAO,CAAmC;IAElD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,OAAO,eAKN;IAED,yDAAyD;IACzD,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC,CAsBrC;IAED,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,YAAY;IA0CpB,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,IAAI;IASZ,wCAAwC;IACxC,gBAAgB,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CASzD;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAKpB;CACJ"}
|