From 9fee7ea3811479bbae4880745314ff33ae9d0d55 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 3 Feb 2025 16:53:46 +0100 Subject: [PATCH] =?UTF-8?q?feat(tests):=20Refaktorierung=20und=20Erweiteru?= =?UTF-8?q?ng=20von=20AuthClientTests=20f=C3=BCr=20Verbindungs-=20und=20Na?= =?UTF-8?q?chrichtenbehandlung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Ersetzte das statische Setup für die Client-Erstellung durch eine wiederverwendbare Build-Methode. - Ein neuer Test `StartAsync_ShouldConnectSuccessfully` wurde hinzugefügt, um den Verbindungsaufbau zu überprüfen. - Refactored `ReceiveMessage_ShouldCallOnMessageReceived` für die Einrichtung mehrerer Clients (Sender und Empfänger). - Konsolidierte hartkodierte URL in eine wiederverwendbare Konstante `HubUrl`. --- .../Client/AuthClientTests.cs | 46 ++++++++++++++----- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/DigitalData.Auth.Tests/Client/AuthClientTests.cs b/DigitalData.Auth.Tests/Client/AuthClientTests.cs index ac35dbf..1e4b493 100644 --- a/DigitalData.Auth.Tests/Client/AuthClientTests.cs +++ b/DigitalData.Auth.Tests/Client/AuthClientTests.cs @@ -7,18 +7,35 @@ namespace DigitalData.Auth.Tests.Client; [TestFixture] public class AuthClientTests { - private IAuthClient _client; + private static readonly string HubUrl = "https://localhost:7192/auth-hub"; - private readonly static Func, ServiceProvider> Build = options => new ServiceCollection() + private Func, ServiceProvider> Build; + + [SetUp] + public void Setup() + { + Build = options => new ServiceCollection() .AddAuthHubClient(options) .BuildServiceProvider(); + } - [SetUp] - public async Task Setup() + [Test] + public async Task StartAsync_ShouldConnectSuccessfully() { - using var provider = Build(opt => opt.Url = "https://localhost:7192"); - _client = provider.GetRequiredService(); - await _client.StartAsync(); + // Arrange + using var provider = Build(opt => opt.Url = HubUrl); + var client = provider.GetRequiredService(); + + // Act + await client.TryStartAsync(); + + // Assert + Assert.Multiple(() => + { + Assert.That(client.IsConnected, "Connected"); + Assert.That(!client.IsConnectionFailed, "There is no fail"); + Assert.That(client.ConnectionError, Is.Null); + }); } [Test] @@ -26,18 +43,25 @@ public class AuthClientTests { // Arrange bool wasCalled = false; - using var provider = Build(opt => + + // Sender client + using var provider_sender = Build(opt => opt.Url = HubUrl); + var sender_client = provider_sender.GetRequiredService(); + await sender_client.TryStartAsync(); + + // Receiver client + using var provider_receiver = Build(opt => { - opt.Url = "https://localhost:7192"; + opt.Url = HubUrl; opt.Events.OnMessageReceived = (user, message, logger) => wasCalled = true; }); - var client = provider.GetRequiredService(); + var client_receiver = provider_receiver.GetRequiredService(); string testUser = "TestUser"; string testMessage = "Hello, World!"; // Act - await client.ReceiveMessageAsync(testUser, testMessage); + await client_receiver.ReceiveMessageAsync(testUser, testMessage); // Assert Assert.That(wasCalled, Is.True, "OnMessageReceived was not called.");