tests fixes

This commit is contained in:
master
2026-01-27 08:23:42 +02:00
parent c305d05d32
commit 82caceba56
58 changed files with 651 additions and 312 deletions

View File

@@ -320,10 +320,10 @@ public sealed class ConcelierAuthorizationFactory : ConcelierApplicationFactory
builder.ConfigureServices(services =>
{
// Replace the ConcelierOptions singleton to include Authority settings
// so the Testing path in Program.Main resolves them before AddAuthorization runs.
services.RemoveAll<ConcelierOptions>();
services.AddSingleton(new ConcelierOptions
// Replace the ConcelierOptions singleton and IOptions<ConcelierOptions>
// to include Authority settings. The application uses Options.Create(concelierOptions)
// directly, so we need to replace both registrations.
var authOptions = new ConcelierOptions
{
PostgresStorage = new ConcelierOptions.PostgresStorageOptions
{
@@ -344,23 +344,29 @@ public sealed class ConcelierAuthorizationFactory : ConcelierApplicationFactory
RequiredScopes = new List<string> { StellaOpsScopes.ConcelierJobsTrigger },
ClientScopes = new List<string> { StellaOpsScopes.ConcelierJobsTrigger }
}
});
};
services.PostConfigure<ConcelierOptions>(options =>
{
options.Authority ??= new ConcelierOptions.AuthorityOptions();
options.Authority.Enabled = true;
options.Authority.AllowAnonymousFallback = false;
options.Authority.Issuer = TestIssuer;
options.Authority.RequireHttpsMetadata = false;
options.Authority.TestSigningSecret = TestSigningSecret;
services.RemoveAll<ConcelierOptions>();
services.RemoveAll<Microsoft.Extensions.Options.IOptions<ConcelierOptions>>();
services.AddSingleton(authOptions);
services.AddSingleton<Microsoft.Extensions.Options.IOptions<ConcelierOptions>>(
_ => Microsoft.Extensions.Options.Options.Create(authOptions));
options.Authority.RequiredScopes.Clear();
options.Authority.RequiredScopes.Add(StellaOpsScopes.ConcelierJobsTrigger);
options.Authority.ClientScopes.Clear();
options.Authority.ClientScopes.Add(StellaOpsScopes.ConcelierJobsTrigger);
});
// Add authentication services for testing
services.AddAuthentication()
.AddJwtBearer(options =>
{
options.Authority = TestIssuer;
options.RequireHttpsMetadata = false;
options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters
{
ValidateIssuer = false,
ValidateAudience = false,
ValidateLifetime = false,
ValidateIssuerSigningKey = false
};
});
services.AddAuthorization();
});
}