tests fixes
This commit is contained in:
@@ -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();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user