fix(pulse-openclaw): update gateway-health test mock for systemctl MainPID

PR #80 changed pgrep to systemctl show --property=MainPID + ps,
but tests still mocked only one execSync call (the ps call).
Now mock systemctl call first, then ps call.

Ref #80

Co-authored-by: 小橘 <xiaoju@shazhou.work>
This commit is contained in:
小橘 🍊
2026-04-15 18:48:21 +08:00
committed by GitHub
parent 38a94a3daf
commit 4cfb45dc8b
@@ -37,6 +37,7 @@ describe('gatewayHealthWatcher', () => {
}); });
mockExecSync mockExecSync
.mockReturnValueOnce('12345\n') // systemctl → PID
.mockReturnValueOnce('1048576\n') // ps → 1048576 KB = 1024 MB .mockReturnValueOnce('1048576\n') // ps → 1048576 KB = 1024 MB
.mockReturnValueOnce('50\n'); // du .mockReturnValueOnce('50\n'); // du
mockFs.readdirSync.mockReturnValue([]); mockFs.readdirSync.mockReturnValue([]);
@@ -52,7 +53,7 @@ describe('gatewayHealthWatcher', () => {
fsFn: mockFs as any, fsFn: mockFs as any,
}); });
mockExecSync.mockReturnValueOnce(''); // no process mockExecSync.mockReturnValueOnce('0\n'); // systemctl → MainPID=0 (not running)
mockFs.readdirSync.mockReturnValue([]); mockFs.readdirSync.mockReturnValue([]);
const result = await watcher.collect(); const result = await watcher.collect();
@@ -158,6 +159,7 @@ describe('gatewayHealthWatcher', () => {
}); });
mockExecSync mockExecSync
.mockReturnValueOnce('12345\n') // systemctl → PID
.mockReturnValueOnce('512\n') // ps .mockReturnValueOnce('512\n') // ps
.mockReturnValueOnce('125\t/path\n'); // du → 125 MB .mockReturnValueOnce('125\t/path\n'); // du → 125 MB