feat: record WP7-01 release candidate environment
Dada P0-A isolated Windows CI / validate-and-package (push) Failing after 1m5s
Dada P0-A isolated Windows CI / validate-and-package (push) Failing after 1m5s
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import assert from "node:assert/strict";
|
||||
import { test } from "node:test";
|
||||
|
||||
import { validateReleaseCandidateRecord } from "../../scripts/lib/release-candidate.mjs";
|
||||
|
||||
function fixture() {
|
||||
return {
|
||||
app_version: "0.0.0",
|
||||
browsers: [
|
||||
{
|
||||
brand: "Google Chrome",
|
||||
executable_sha256: "A".repeat(64),
|
||||
file_name: "chrome.exe",
|
||||
full_version: "150.0.7871.187",
|
||||
major: 150,
|
||||
source: "installed_executable",
|
||||
},
|
||||
{
|
||||
brand: "Microsoft Edge",
|
||||
executable_sha256: "B".repeat(64),
|
||||
file_name: "msedge.exe",
|
||||
full_version: "151.0.4129.59",
|
||||
major: 151,
|
||||
source: "installed_executable",
|
||||
},
|
||||
],
|
||||
build_commit: "c".repeat(40),
|
||||
candidate_package: {
|
||||
file_name: "Dada-P0A-0.0.0-win-x64.zip",
|
||||
fixed_port: 43121,
|
||||
release_status: "candidate_unvalidated",
|
||||
sha256: "D".repeat(64),
|
||||
size_bytes: 123,
|
||||
},
|
||||
final_release: false,
|
||||
fixed_port: 43121,
|
||||
recorded_at: "2026-08-04T05:00:00.000Z",
|
||||
schema_version: "1.0",
|
||||
status: "candidate_unvalidated",
|
||||
windows: { arch: "x64", build: "26200.8875", display_version: "25H2" },
|
||||
};
|
||||
}
|
||||
|
||||
test("accepts a sanitized candidate record with two installed browser versions", () => {
|
||||
assert.equal(validateReleaseCandidateRecord(fixture()).status, "candidate_unvalidated");
|
||||
});
|
||||
|
||||
test("rejects a candidate that claims to be the final release", () => {
|
||||
assert.throws(
|
||||
() => validateReleaseCandidateRecord({ ...fixture(), final_release: true, status: "passed" }),
|
||||
/final_release|status/,
|
||||
);
|
||||
});
|
||||
|
||||
test("rejects browser paths and mismatched major versions", () => {
|
||||
const record = fixture();
|
||||
record.browsers[0] = { ...record.browsers[0], executable_path: "C:\\Users\\person\\chrome.exe", major: 149 };
|
||||
assert.throws(() => validateReleaseCandidateRecord(record), /major|path/);
|
||||
});
|
||||
Reference in New Issue
Block a user