test(installer): address review — drop UseWPF, thread-safe FakeHttpMessageHandler

This commit is contained in:
Mika Kuns
2026-04-15 08:51:12 +02:00
parent 2d34afb2e5
commit c23ed94817
2 changed files with 8 additions and 4 deletions

View File

@@ -2,8 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework> <TargetFramework>net8.0-windows</TargetFramework>
<UseWPF>true</UseWPF> <ImplicitUsings>enable</ImplicitUsings>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<IsPackable>false</IsPackable> <IsPackable>false</IsPackable>

View File

@@ -6,6 +6,8 @@ namespace ClaudeDo.Installer.Tests;
internal sealed class FakeHttpMessageHandler : HttpMessageHandler internal sealed class FakeHttpMessageHandler : HttpMessageHandler
{ {
private readonly Func<HttpRequestMessage, HttpResponseMessage> _handler; private readonly Func<HttpRequestMessage, HttpResponseMessage> _handler;
private readonly object _lock = new();
private readonly List<HttpRequestMessage> _requests = new();
public FakeHttpMessageHandler(Func<HttpRequestMessage, HttpResponseMessage> handler) public FakeHttpMessageHandler(Func<HttpRequestMessage, HttpResponseMessage> handler)
{ {
@@ -17,11 +19,14 @@ internal sealed class FakeHttpMessageHandler : HttpMessageHandler
{ {
} }
public List<HttpRequestMessage> Requests { get; } = new(); public IReadOnlyList<HttpRequestMessage> Requests
{
get { lock (_lock) return _requests.ToArray(); }
}
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{ {
Requests.Add(request); lock (_lock) _requests.Add(request);
return Task.FromResult(_handler(request)); return Task.FromResult(_handler(request));
} }
} }