Files
ClaudeDo/tests/ClaudeDo.Installer.Tests/Checks/FakeProcessRunner.cs
T
mika kuns 05be07b28c feat(installer): pull in preflight check implementations as prerequisite for SystemCheckPage
Git/GitIdentity/Port/WriteAccess and Claude CLI/Version/Auth/PermissionModeAuto
checks plus the ExecutableResolver they depend on were built in two sibling
task branches that hadn't landed on main yet. Vendored the finished files in
from those branches (same content, verified building + tests green) so the
SystemCheckPage task has something to consume.
2026-08-05 19:56:07 +02:00

23 lines
760 B
C#

using ClaudeDo.Installer.Core.Interfaces;
namespace ClaudeDo.Installer.Tests.Checks;
internal sealed class FakeProcessRunner : IProcessRunner
{
private readonly Queue<(int ExitCode, string Output)> _responses;
public FakeProcessRunner(params (int ExitCode, string Output)[] responses)
{
_responses = new Queue<(int, string)>(responses);
}
public List<(string FileName, string Arguments)> Calls { get; } = new();
public Task<(int ExitCode, string Output)> RunAsync(string fileName, string arguments, string? workingDirectory, CancellationToken ct)
{
Calls.Add((fileName, arguments));
var response = _responses.Count > 0 ? _responses.Dequeue() : (0, "");
return Task.FromResult(response);
}
}