Add integration tests for Proof Chain and Reachability workflows

- Implement ProofChainTestFixture for PostgreSQL-backed integration tests.
- Create StellaOps.Integration.ProofChain project with necessary dependencies.
- Add ReachabilityIntegrationTests to validate call graph extraction and reachability analysis.
- Introduce ReachabilityTestFixture for managing corpus and fixture paths.
- Establish StellaOps.Integration.Reachability project with required references.
- Develop UnknownsWorkflowTests to cover the unknowns lifecycle: detection, ranking, escalation, and resolution.
- Create StellaOps.Integration.Unknowns project with dependencies for unknowns workflow.
This commit is contained in:
StellaOps Bot
2025-12-20 22:19:26 +02:00
parent 3c6e14fca5
commit efe9bd8cfe
86 changed files with 9616 additions and 323 deletions

View File

@@ -6,6 +6,10 @@ using Microsoft.Extensions.Options;
namespace StellaOps.Scanner.WebService.Security;
/// <summary>
/// Authentication handler for anonymous/development mode that creates
/// a synthetic user identity for testing and local development.
/// </summary>
internal sealed class AnonymousAuthenticationHandler : AuthenticationHandler<AuthenticationSchemeOptions>
{
public AnonymousAuthenticationHandler(
@@ -18,9 +22,18 @@ internal sealed class AnonymousAuthenticationHandler : AuthenticationHandler<Aut
protected override Task<AuthenticateResult> HandleAuthenticateAsync()
{
var identity = new ClaimsIdentity(authenticationType: Scheme.Name);
// Create identity with standard claims that endpoints may require
var claims = new[]
{
new Claim(ClaimTypes.NameIdentifier, "anonymous-user"),
new Claim(ClaimTypes.Name, "Anonymous User"),
new Claim(ClaimTypes.Email, "anonymous@localhost"),
new Claim("sub", "anonymous-user"),
};
var identity = new ClaimsIdentity(claims, authenticationType: Scheme.Name);
var principal = new ClaimsPrincipal(identity);
var ticket = new AuthenticationTicket(principal, Scheme.Name);
return Task.FromResult(AuthenticateResult.Success(ticket));
}
}
}