import { describe, expect, it } from "vitest"; import { DAV_AREAS } from "@/worker/dav/areas"; import { expensiveDavRequestArea, findDavArea, isExpensiveDavRequest } from "@/worker/dav/runtime"; describe("DAV runtime registry", () => { it("matches registered areas and preserves expensive request area keys", () => { expect(findDavArea("/files/", DAV_AREAS)?.name).toBe("files"); expect(findDavArea("/calendars/default/", DAV_AREAS)?.name).toBe("caldav"); expect(findDavArea("/addressbooks/default/", DAV_AREAS)?.name).toBe("carddav"); expect(findDavArea("/principals/me/", DAV_AREAS)?.name).toBe("discovery"); expect(findDavArea("/not-dav/", DAV_AREAS)).toBeNull(); expect(expensiveDavRequestArea("/files/a.txt")).toBe("files"); expect(expensiveDavRequestArea("/calendars/default/")).toBe("calendars"); expect(expensiveDavRequestArea("/addressbooks/default/")).toBe("addressbooks"); expect(expensiveDavRequestArea("/principals/me/")).toBe("principals"); expect(expensiveDavRequestArea("/")).toBe(""); }); it("classifies REPORT and Depth infinity PROPFIND as expensive DAV requests", () => { expect(isExpensiveDavRequest(new Request("https://dav.example.com/calendars/", { method: "REPORT" }))).toBe(true); expect( isExpensiveDavRequest( new Request("https://dav.example.com/files/", { method: "PROPFIND", headers: { depth: "infinity" } }), ), ).toBe(true); expect( isExpensiveDavRequest( new Request("https://dav.example.com/files/", { method: "PROPFIND", headers: { depth: "1" } }), ), ).toBe(false); }); });