From 4e941ed35f4acb535f39fd9e5235bf08c300c5a8 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Fri, 7 Mar 2025 09:49:48 +0100 Subject: [PATCH] =?UTF-8?q?feat(AuthClientTests):=20StartAsync=5FShouldUpd?= =?UTF-8?q?ateAllPublicKey=20Testmethode=20hinzuf=C3=BCgen,=20um=20zu=20te?= =?UTF-8?q?sten,=20ob=20der=20=C3=B6ffentliche=20Schl=C3=BCssel=20nach=20S?= =?UTF-8?q?tartAsync=20aktualisiert=20wird?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DigitalData.Auth.Client/ClientParams.cs | 2 +- .../Client/AuthClientTests.cs | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/DigitalData.Auth.Client/ClientParams.cs b/DigitalData.Auth.Client/ClientParams.cs index 6c9db25..d97b73f 100644 --- a/DigitalData.Auth.Client/ClientParams.cs +++ b/DigitalData.Auth.Client/ClientParams.cs @@ -42,5 +42,5 @@ public class ClientParams }); } - public IEnumerable PublicKeys { get; init; } = new List(); + public List PublicKeys { get; init; } = new(); } \ No newline at end of file diff --git a/DigitalData.Auth.Tests/Client/AuthClientTests.cs b/DigitalData.Auth.Tests/Client/AuthClientTests.cs index d949b56..6cd2e8e 100644 --- a/DigitalData.Auth.Tests/Client/AuthClientTests.cs +++ b/DigitalData.Auth.Tests/Client/AuthClientTests.cs @@ -185,4 +185,28 @@ public class AuthClientTests Assert.That(publicKey, Is.EqualTo(expectedPublicKey)); }); } + + [Test] + public async Task StartAsync_ShouldUpdateAllPublicKey() + { + // Arrange + var publicKey = new AsymmetricPublicKey() { Issuer = "Foo", Audience = "Bar" }; + var provider = Build(opt => + { + opt.Url = _hubUrl; + opt.PublicKeys.Add(new AsymmetricPublicKey() { Issuer = "Foo", Audience = "Bar" }); + }); + var client = provider.GetRequiredService(); + await client.StartAsync(); + + // wait for network + await Task.Delay(2000); + + // Act + var expectedPublicKey = _tokenDescriptors.Get("Foo", "Bar").PublicKey; + await client.GetPublicKeyAsync("Foo", "Bar"); + + // Assert + Assert.That(publicKey.Content, Is.EqualTo(expectedPublicKey.Content)); + } } \ No newline at end of file