mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-29 21:18:45 +00:00
fix: refresh sqlite media overwrite age
This commit is contained in:
@@ -600,6 +600,35 @@ describe("media store", () => {
|
||||
await expectCleanupBehaviorCase({ setup, run });
|
||||
});
|
||||
|
||||
it("keeps stable-id media when a stale blob is refreshed", async () => {
|
||||
await withTempStore(async (store) => {
|
||||
const now = Date.now();
|
||||
try {
|
||||
vi.useFakeTimers({ now: now - 60_000 });
|
||||
await store.saveMediaBufferWithId({
|
||||
subdir: "stable-refresh",
|
||||
id: "stable.txt",
|
||||
buffer: Buffer.from("old"),
|
||||
contentType: "text/plain",
|
||||
});
|
||||
vi.setSystemTime(now);
|
||||
|
||||
await store.saveMediaBufferWithId({
|
||||
subdir: "stable-refresh",
|
||||
id: "stable.txt",
|
||||
buffer: Buffer.from("fresh"),
|
||||
contentType: "text/plain",
|
||||
});
|
||||
await store.cleanOldMedia(30_000, { recursive: true, pruneEmptyDirs: true });
|
||||
|
||||
const result = await store.readMediaBuffer("stable.txt", "stable-refresh");
|
||||
expect(result.buffer).toEqual(Buffer.from("fresh"));
|
||||
} finally {
|
||||
vi.useRealTimers();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it.each([
|
||||
{
|
||||
name: "sets correct mime for xlsx by extension",
|
||||
|
||||
@@ -253,6 +253,7 @@ function upsertMediaBlob(params: {
|
||||
content_type: (eb) => eb.ref("excluded.content_type"),
|
||||
size_bytes: (eb) => eb.ref("excluded.size_bytes"),
|
||||
blob: (eb) => eb.ref("excluded.blob"),
|
||||
created_at: (eb) => eb.ref("excluded.created_at"),
|
||||
updated_at: (eb) => eb.ref("excluded.updated_at"),
|
||||
}),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user