Make journal write failure test deterministic
Build and Deploy Gateway / build-and-push (push) Successful in 16s
Build and Deploy Gateway / deploy (push) Successful in 1s

This commit is contained in:
2026-08-19 18:20:25 +03:00
parent daec12e013
commit b843970ec2
+6 -3
View File
@@ -107,10 +107,13 @@ test('corrupt journal is isolated and recovery becomes a safe event', (t) => {
test('journal exposes a latched write failure until a later append succeeds', (t) => {
const filePath = fixture(t);
const directory = path.dirname(filePath);
const service = createActivityJournalService({ filePath });
service.append(event('before-error'));
fs.chmodSync(directory, 0o555);
const renameSync = fs.renameSync;
fs.renameSync = (source, target) => {
if (target === filePath) throw new Error('simulated journal write failure');
return renameSync(source, target);
};
try {
assert.throws(() => service.append(event('lost')));
const failed = service.page();
@@ -119,7 +122,7 @@ test('journal exposes a latched write failure until a later append succeeds', (t
assert.equal(failed.events.length, 1);
assert.equal(failed.events[0].dedupeKey, null);
} finally {
fs.chmodSync(directory, 0o755);
fs.renameSync = renameSync;
}
service.append(event('recovered'));
assert.equal(service.page().storage.status, 'ready');