Spaces:
Configuration error
Configuration error
| import { beforeEach, describe, expect, it, vi } from "vitest"; | |
| const execFileMock = vi.hoisted(() => vi.fn()); | |
| vi.mock("node:child_process", () => ({ | |
| execFile: execFileMock, | |
| })); | |
| import { isSystemdUserServiceAvailable } from "./systemd.js"; | |
| describe("systemd availability", () => { | |
| beforeEach(() => { | |
| execFileMock.mockReset(); | |
| }); | |
| it("returns true when systemctl --user succeeds", async () => { | |
| execFileMock.mockImplementation((_cmd, _args, _opts, cb) => { | |
| cb(null, "", ""); | |
| }); | |
| await expect(isSystemdUserServiceAvailable()).resolves.toBe(true); | |
| }); | |
| it("returns false when systemd user bus is unavailable", async () => { | |
| execFileMock.mockImplementation((_cmd, _args, _opts, cb) => { | |
| const err = new Error("Failed to connect to bus") as Error & { | |
| stderr?: string; | |
| code?: number; | |
| }; | |
| err.stderr = "Failed to connect to bus"; | |
| err.code = 1; | |
| cb(err, "", ""); | |
| }); | |
| await expect(isSystemdUserServiceAvailable()).resolves.toBe(false); | |
| }); | |
| }); | |