- добавлена сборка Caddy с Souin, Otter и NutsDB - добавлена конфигурация dev, prod и test Docker Compose - настроено кеширование через Otter L1 и NutsDB L2 - добавлены e2e-тесты Bun для кеша, restart и purge - добавлена документация по запуску, API кеша и тестам
30 lines
704 B
JavaScript
30 lines
704 B
JavaScript
import { describe, expect, test } from "bun:test";
|
|
import {
|
|
expectHit,
|
|
expectStored,
|
|
listKeys,
|
|
purgeAll,
|
|
requestImage,
|
|
waitForReady,
|
|
} from "./helpers.js";
|
|
|
|
describe("cache prime", () => {
|
|
test("stores responses in NutsDB and serves hot hits from Otter", async () => {
|
|
await waitForReady();
|
|
await purgeAll();
|
|
|
|
const miss = await requestImage(103);
|
|
expect(miss.status).toBe(200);
|
|
expectStored(miss.cacheStatus);
|
|
|
|
const hit = await requestImage(103);
|
|
expect(hit.status).toBe(200);
|
|
expectHit(hit.cacheStatus, "OTTER");
|
|
|
|
const keys = await listKeys();
|
|
expect(keys.some((key) => key.includes("/unsafe/resize:fit:103"))).toBe(
|
|
true,
|
|
);
|
|
});
|
|
});
|