| import { describe, expect, it } from "vitest"; |
|
|
| import { DEPLOYMENT_MANIFEST_PATH, deploymentManifestSchema } from "../src/deployment.js"; |
|
|
| describe("deployment manifest", () => { |
| it("accepts one exact Git source revision", () => { |
| expect(DEPLOYMENT_MANIFEST_PATH).toBe(".xtap-deployment.json"); |
| expect(deploymentManifestSchema.parse({ source_revision: "a".repeat(40) })).toEqual({ |
| source_revision: "a".repeat(40), |
| }); |
| }); |
|
|
| it("rejects missing, malformed, and extended manifests", () => { |
| expect(deploymentManifestSchema.safeParse({}).success).toBe(false); |
| expect(deploymentManifestSchema.safeParse({ source_revision: "main" }).success).toBe(false); |
| expect( |
| deploymentManifestSchema.safeParse({ |
| source_revision: "a".repeat(40), |
| secret: "must-not-pass", |
| }).success, |
| ).toBe(false); |
| }); |
| }); |
|
|