diff --git a/SeaHavenIndustries.Tests/PasswordResetTestHost.cs b/SeaHavenIndustries.Tests/PasswordResetTestHost.cs index e44f2df..323453f 100644 --- a/SeaHavenIndustries.Tests/PasswordResetTestHost.cs +++ b/SeaHavenIndustries.Tests/PasswordResetTestHost.cs @@ -43,9 +43,9 @@ internal sealed class PasswordResetTestHost : IAsyncDisposable } public HttpClient Client { get; } - public CapturingEmailSender Sent { get; private init; } = null!; - public ManualTimeProvider Time { get; private init; } = null!; - public CapturingLoggerProvider Logged { get; private init; } = null!; + public ResetEmailOutbox Sent { get; private init; } = null!; + public ResetTestClock Time { get; private init; } = null!; + public ResetLogCapture Logged { get; private init; } = null!; public IServiceProvider Services => _app.Services; public static async Task StartAsync(IEmailSender? emailSender = null, Action? configureServices = null) @@ -53,9 +53,9 @@ internal sealed class PasswordResetTestHost : IAsyncDisposable var databasePath = Path.Combine(Path.GetTempPath(), $"password-reset-{Guid.NewGuid():N}.db"); var connectionString = new SqliteConnectionStringBuilder { DataSource = databasePath, DefaultTimeout = 30 }.ToString(); - var sent = new CapturingEmailSender(); - var time = new ManualTimeProvider(); - var logged = new CapturingLoggerProvider(); + var sent = new ResetEmailOutbox(); + var time = new ResetTestClock(); + var logged = new ResetLogCapture(); var builder = WebApplication.CreateBuilder(new WebApplicationOptions { EnvironmentName = "Testing" }); builder.WebHost.UseUrls("http://127.0.0.1:0"); @@ -234,7 +234,7 @@ internal sealed class PasswordResetTestHost : IAsyncDisposable } } -internal sealed class ManualTimeProvider : TimeProvider +internal sealed class ResetTestClock : TimeProvider { private DateTimeOffset _now = new(2026, 9, 25, 12, 0, 0, TimeSpan.Zero); @@ -243,7 +243,7 @@ internal sealed class ManualTimeProvider : TimeProvider public void Advance(TimeSpan by) => _now = _now.Add(by); } -internal sealed class CapturingEmailSender : IEmailSender +internal sealed class ResetEmailOutbox : IEmailSender { private static readonly Regex CodePattern = new(@"Your Password Reset Code is: (\d{6})", RegexOptions.CultureInvariant); @@ -262,7 +262,7 @@ internal sealed class CapturingEmailSender : IEmailSender } } -internal sealed class CapturingLoggerProvider : ILoggerProvider +internal sealed class ResetLogCapture : ILoggerProvider { public ConcurrentQueue Lines { get; } = new(); @@ -274,10 +274,10 @@ internal sealed class CapturingLoggerProvider : ILoggerProvider private sealed class CapturingLogger : ILogger { - private readonly CapturingLoggerProvider _owner; + private readonly ResetLogCapture _owner; private readonly string _category; - public CapturingLogger(CapturingLoggerProvider owner, string category) + public CapturingLogger(ResetLogCapture owner, string category) { _owner = owner; _category = category;