using System.Net; using System.Net.Http; namespace ClaudeDo.Installer.Tests; internal sealed class FakeHttpMessageHandler : HttpMessageHandler { private readonly Func _handler; public FakeHttpMessageHandler(Func handler) { _handler = handler; } public FakeHttpMessageHandler(HttpStatusCode status, string body) : this(_ => new HttpResponseMessage(status) { Content = new StringContent(body) }) { } public List Requests { get; } = new(); protected override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { Requests.Add(request); return Task.FromResult(_handler(request)); } }