test(releases): port ReleaseClient + ChecksumVerifier tests to new project

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
mika kuns
2026-04-23 14:18:17 +02:00
parent 27054e6715
commit 5346737e2b
7 changed files with 28 additions and 5 deletions

View File

@@ -0,0 +1,32 @@
using System.Net;
using System.Net.Http;
namespace ClaudeDo.Releases.Tests;
internal sealed class FakeHttpMessageHandler : HttpMessageHandler
{
private readonly Func<HttpRequestMessage, HttpResponseMessage> _handler;
private readonly object _lock = new();
private readonly List<HttpRequestMessage> _requests = new();
public FakeHttpMessageHandler(Func<HttpRequestMessage, HttpResponseMessage> handler)
{
_handler = handler;
}
public FakeHttpMessageHandler(HttpStatusCode status, string body)
: this(_ => new HttpResponseMessage(status) { Content = new StringContent(body) })
{
}
public IReadOnlyList<HttpRequestMessage> Requests
{
get { lock (_lock) return _requests.ToArray(); }
}
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
lock (_lock) _requests.Add(request);
return Task.FromResult(_handler(request));
}
}