Skip to content

Commit 5c98f7e

Browse files
committed
test: cover non-retryable flagged reads
(cherry picked from commit c9a61f4)
1 parent 57f62c9 commit 5c98f7e

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

test/storage-flagged.test.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,22 @@ describe("flagged storage extracted helpers", () => {
560560
expect(normalizeFlaggedStorage).toHaveBeenCalledWith({ version: 1, accounts: [] });
561561
});
562562

563+
it("does not retry non-retryable permission errors", async () => {
564+
const sleep = vi.fn(async () => {});
565+
const readFile = vi
566+
.fn()
567+
.mockRejectedValue(Object.assign(new Error("permission denied"), { code: "EPERM" }));
568+
await expect(
569+
loadFlaggedAccountsFromFile("flagged.json", {
570+
readFile,
571+
normalizeFlaggedStorage: vi.fn(),
572+
sleep,
573+
}),
574+
).rejects.toThrow("permission denied");
575+
expect(readFile).toHaveBeenCalledTimes(1);
576+
expect(sleep).not.toHaveBeenCalled();
577+
});
578+
563579
it("rethrows after retry budget is exhausted for windows lock errors", async () => {
564580
const sleep = vi.fn(async () => {});
565581
const readFile = vi

0 commit comments

Comments
 (0)