Add test for handling archived database overrides in connection shadows

This commit is contained in:
Sipke Schoorstra 2026-07-31 21:34:35 +02:00
parent 6e3ed5c4e0
commit 14f373528d
No known key found for this signature in database
GPG key ID: 5C10502B28A4268F

View file

@ -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()
{