test(installer): address review — drop UseWPF, thread-safe FakeHttpMessageHandler
This commit is contained in:
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
<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>
|
||||||
|
|
||||||
|
|||||||
@@ -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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user