feat(heartbeat): add process memory and backup health checks

This commit is contained in:
William Valentin
2026-02-16 13:50:39 -08:00
parent 8684c3a07d
commit 07340ff0af
11 changed files with 282 additions and 8 deletions
+42
View File
@@ -0,0 +1,42 @@
import { describe, expect, it } from 'vitest';
import {
getBackupHealthSnapshot,
initBackupHealth,
markBackupFailure,
markBackupSuccess,
} from './status.js';
describe('backup status tracker', () => {
it('tracks failures and resets on success', () => {
initBackupHealth(true);
expect(getBackupHealthSnapshot()).toMatchObject({
enabled: true,
hasRun: false,
consecutiveFailures: 0,
});
markBackupFailure('upload failed', 123);
expect(getBackupHealthSnapshot()).toMatchObject({
enabled: true,
hasRun: true,
consecutiveFailures: 1,
lastFailureAt: 123,
lastError: 'upload failed',
});
markBackupFailure('upload failed again', 456);
expect(getBackupHealthSnapshot()).toMatchObject({
consecutiveFailures: 2,
lastFailureAt: 456,
lastError: 'upload failed again',
});
markBackupSuccess(789);
expect(getBackupHealthSnapshot()).toMatchObject({
hasRun: true,
consecutiveFailures: 0,
lastSuccessAt: 789,
lastError: undefined,
});
});
});