test(extensions): move config regression coverage

This commit is contained in:
Peter Steinberger
2026-04-20 21:50:29 +01:00
parent 5927eb73ec
commit 49b2ec1e2e
6 changed files with 152 additions and 158 deletions

View File

@@ -0,0 +1,43 @@
import { describe, expect, it } from "vitest";
import { IMessageConfigSchema } from "../config-api.js";
describe("imessage config schema", () => {
it("accepts safe remoteHost", () => {
const res = IMessageConfigSchema.safeParse({
remoteHost: "bot@gateway-host",
});
expect(res.success).toBe(true);
});
it("rejects unsafe remoteHost", () => {
const res = IMessageConfigSchema.safeParse({
remoteHost: "bot@gateway-host -oProxyCommand=whoami",
});
expect(res.success).toBe(false);
if (!res.success) {
expect(res.error.issues[0]?.path.join(".")).toBe("remoteHost");
}
});
it("accepts attachment root patterns", () => {
const res = IMessageConfigSchema.safeParse({
attachmentRoots: ["/Users/*/Library/Messages/Attachments"],
remoteAttachmentRoots: ["/Volumes/relay/attachments"],
});
expect(res.success).toBe(true);
});
it("rejects relative attachment roots", () => {
const res = IMessageConfigSchema.safeParse({
attachmentRoots: ["./attachments"],
});
expect(res.success).toBe(false);
if (!res.success) {
expect(res.error.issues[0]?.path.join(".")).toBe("attachmentRoots.0");
}
});
});