This commit is contained in:
2026-09-03 11:28:30 +07:00 Unverified
parent 26c2d0f015
commit 82d0fe3e0d
93 changed files with 19237 additions and 1285 deletions
+32
View File
@@ -0,0 +1,32 @@
import { describe, expect, test } from "bun:test";
import {
assertSha256Digest,
BUILD_PROTOCOL_VERSION,
isSha256Digest,
type BuildRequest,
} from "../../shared/build-protocol";
describe("build protocol", () => {
test("exposes a serializable typed request", () => {
const request: BuildRequest = {
version: BUILD_PROTOCOL_VERSION,
id: "build-1",
project: "demo",
service: "web",
spec: {
architecture: "arm64",
image: "registry.example/demo/web:latest",
context: ".",
buildArgs: ["NODE_ENV=production"],
workspace: `sha256:${"a".repeat(64)}`,
},
};
expect(JSON.parse(JSON.stringify(request))).toEqual(request);
});
test("strictly validates lowercase sha256 digests", () => {
expect(isSha256Digest(`sha256:${"f".repeat(64)}`)).toBe(true);
expect(isSha256Digest(`sha256:${"F".repeat(64)}`)).toBe(false);
expect(() => assertSha256Digest("sha256:short")).toThrow("Invalid SHA-256");
});
});