diff --git a/test/unit/Elsa.ExternalAuthentication.UnitTests/Foundational/DefaultIdentityProviderConnectionRegistryTests.cs b/test/unit/Elsa.ExternalAuthentication.UnitTests/Foundational/DefaultIdentityProviderConnectionRegistryTests.cs index d838398d1..19977b2b9 100644 --- a/test/unit/Elsa.ExternalAuthentication.UnitTests/Foundational/DefaultIdentityProviderConnectionRegistryTests.cs +++ b/test/unit/Elsa.ExternalAuthentication.UnitTests/Foundational/DefaultIdentityProviderConnectionRegistryTests.cs @@ -46,6 +46,25 @@ public class DefaultIdentityProviderConnectionRegistryTests Assert.Equal(ConnectionSourceOwnership.Database, shadowedBy.Ownership); } + [Fact] + public async Task ArchivedDatabaseOverrideDoesNotAppearInTheEffectiveConnectionShadows() + { + var configuration = ExternalAuthenticationTestData.CreateConnection("configuration-oidc", ConnectionScope.HostTenantId, "oidc"); + var archivedOverride = ExternalAuthenticationTestData.CreateConnection("database-oidc", ConnectionScope.HostTenantId, "OIDC"); + archivedOverride.OverridesConfigurationConnection = true; + archivedOverride.ArchivedAt = DateTimeOffset.UtcNow; + var registry = CreateRegistry( + new TestConnectionSource("database", ConnectionSourceOwnership.Database, [(ConnectionScope.Host, [archivedOverride])]), + new TestConnectionSource("configuration", ConnectionSourceOwnership.Configuration, [(ConnectionScope.Host, [configuration])])); + + var result = await registry.GetAsync("tenant-a"); + + var effective = Assert.Single(result.Connections, x => !x.IsShadowed); + Assert.Equal("configuration-oidc", effective.Connection.Id); + Assert.Empty(effective.Shadows); + Assert.Contains(result.Connections, x => x.Connection.Id == "database-oidc" && x.Connection.ArchivedAt.HasValue); + } + [Fact] public async Task ConfigurationPreferredConnectionWinsOverDatabasePreferredConnection() {