Frontend gaps fill work. Testing fixes work. Auditing in progress.

This commit is contained in:
StellaOps Bot
2025-12-30 01:22:58 +02:00
parent 1dc4bcbf10
commit 7a5210e2aa
928 changed files with 183942 additions and 3941 deletions

View File

@@ -40,7 +40,7 @@ public sealed class ApiKeyConcurrencyTests : IAsyncLifetime
_fixture = fixture;
}
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
await _fixture.TruncateAllTablesAsync();
@@ -54,7 +54,7 @@ public sealed class ApiKeyConcurrencyTests : IAsyncLifetime
await SeedUserAsync();
}
public async Task DisposeAsync()
public async ValueTask DisposeAsync()
{
await _npgsqlDataSource.DisposeAsync();
}
@@ -279,3 +279,6 @@ public sealed class ApiKeyConcurrencyTests : IAsyncLifetime
$"VALUES ('{_userId}', '{_tenantId}', 'user-{_userId:N}', 'active') " +
"ON CONFLICT (id) DO NOTHING;");
}

View File

@@ -40,7 +40,7 @@ public sealed class ApiKeyIdempotencyTests : IAsyncLifetime
_fixture = fixture;
}
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
await _fixture.TruncateAllTablesAsync();
@@ -54,7 +54,7 @@ public sealed class ApiKeyIdempotencyTests : IAsyncLifetime
await SeedUserAsync();
}
public async Task DisposeAsync()
public async ValueTask DisposeAsync()
{
await _npgsqlDataSource.DisposeAsync();
}
@@ -243,3 +243,6 @@ public sealed class ApiKeyIdempotencyTests : IAsyncLifetime
$"VALUES ('{_userId}', '{_tenantId}', 'user-{_userId:N}', 'active') " +
"ON CONFLICT (id) DO NOTHING;");
}

View File

@@ -25,13 +25,13 @@ public sealed class ApiKeyRepositoryTests : IAsyncLifetime
_repository = new ApiKeyRepository(dataSource, NullLogger<ApiKeyRepository>.Instance);
}
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
await _fixture.TruncateAllTablesAsync();
await SeedTenantAsync();
}
public Task DisposeAsync() => Task.CompletedTask;
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
[Trait("Category", TestCategories.Unit)]
[Fact]
@@ -163,3 +163,6 @@ public sealed class ApiKeyRepositoryTests : IAsyncLifetime
return _fixture.ExecuteSqlAsync(statements);
}
}

View File

@@ -25,8 +25,8 @@ public sealed class AuditRepositoryTests : IAsyncLifetime
_repository = new AuditRepository(dataSource, NullLogger<AuditRepository>.Instance);
}
public Task InitializeAsync() => _fixture.TruncateAllTablesAsync();
public Task DisposeAsync() => Task.CompletedTask;
public ValueTask InitializeAsync() => new(_fixture.TruncateAllTablesAsync());
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
[Trait("Category", TestCategories.Unit)]
[Fact]
@@ -198,3 +198,6 @@ public sealed class AuditRepositoryTests : IAsyncLifetime
ResourceId = Guid.NewGuid().ToString()
};
}

View File

@@ -68,7 +68,7 @@ public sealed class AuthorityTestKitPostgresFixture : IAsyncLifetime
set => _fixture.IsolationMode = value;
}
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
_fixture = new TestKitPostgresFixture
{
@@ -81,7 +81,7 @@ public sealed class AuthorityTestKitPostgresFixture : IAsyncLifetime
await _fixture.ApplyMigrationsFromAssemblyAsync(migrationAssembly, "authority", "Migrations");
}
public async Task DisposeAsync()
public async ValueTask DisposeAsync()
{
await _fixture.DisposeAsync();
}
@@ -106,3 +106,6 @@ public sealed class AuthorityTestKitPostgresCollection : ICollectionFixture<Auth
{
public const string Name = "AuthorityTestKitPostgres";
}

View File

@@ -24,8 +24,8 @@ public sealed class OfflineKitAuditRepositoryTests : IAsyncLifetime
_repository = new OfflineKitAuditRepository(dataSource, NullLogger<OfflineKitAuditRepository>.Instance);
}
public Task InitializeAsync() => _fixture.TruncateAllTablesAsync();
public Task DisposeAsync() => Task.CompletedTask;
public ValueTask InitializeAsync() => new(_fixture.TruncateAllTablesAsync());
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
[Trait("Category", TestCategories.Unit)]
[Fact]
@@ -129,3 +129,6 @@ public sealed class OfflineKitAuditRepositoryTests : IAsyncLifetime
tenantBResults[0].TenantId.Should().Be(tenantB);
}
}

View File

@@ -25,13 +25,13 @@ public sealed class PermissionRepositoryTests : IAsyncLifetime
_repository = new PermissionRepository(dataSource, NullLogger<PermissionRepository>.Instance);
}
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
await _fixture.TruncateAllTablesAsync();
await SeedTenantAsync();
}
public Task DisposeAsync() => Task.CompletedTask;
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
[Trait("Category", TestCategories.Unit)]
[Fact]
@@ -126,3 +126,6 @@ public sealed class PermissionRepositoryTests : IAsyncLifetime
$"VALUES ('{_tenantId}', 'Tenant {_tenantId}', 'active', '{{}}', '{{}}') " +
"ON CONFLICT (tenant_id) DO NOTHING;");
}

View File

@@ -26,13 +26,13 @@ public sealed class RefreshTokenRepositoryTests : IAsyncLifetime
_repository = new RefreshTokenRepository(dataSource, NullLogger<RefreshTokenRepository>.Instance);
}
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
await _fixture.TruncateAllTablesAsync();
await SeedTenantAsync();
}
public Task DisposeAsync() => Task.CompletedTask;
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
[Trait("Category", TestCategories.Unit)]
[Fact]
@@ -217,3 +217,6 @@ public sealed class RefreshTokenRepositoryTests : IAsyncLifetime
return _fixture.ExecuteSqlAsync(statements);
}
}

View File

@@ -38,7 +38,7 @@ public sealed class RoleBasedAccessTests : IAsyncLifetime
_fixture = fixture;
}
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
await _fixture.TruncateAllTablesAsync();
@@ -53,7 +53,7 @@ public sealed class RoleBasedAccessTests : IAsyncLifetime
await SeedTenantAsync();
}
public Task DisposeAsync() => Task.CompletedTask;
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
#region User-Role Assignment Tests
@@ -457,3 +457,6 @@ public sealed class RoleBasedAccessTests : IAsyncLifetime
#endregion
}

View File

@@ -25,13 +25,13 @@ public sealed class RoleRepositoryTests : IAsyncLifetime
_repository = new RoleRepository(dataSource, NullLogger<RoleRepository>.Instance);
}
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
await _fixture.TruncateAllTablesAsync();
await SeedTenantAsync();
}
public Task DisposeAsync() => Task.CompletedTask;
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
[Trait("Category", TestCategories.Unit)]
[Fact]
@@ -126,3 +126,6 @@ public sealed class RoleRepositoryTests : IAsyncLifetime
$"VALUES ('{_tenantId}', 'Tenant {_tenantId}', 'active', '{{}}', '{{}}') " +
"ON CONFLICT (tenant_id) DO NOTHING;");
}

View File

@@ -25,13 +25,13 @@ public sealed class SessionRepositoryTests : IAsyncLifetime
_repository = new SessionRepository(dataSource, NullLogger<SessionRepository>.Instance);
}
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
await _fixture.TruncateAllTablesAsync();
await SeedTenantAsync();
}
public Task DisposeAsync() => Task.CompletedTask;
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
[Trait("Category", TestCategories.Unit)]
[Fact]
@@ -106,3 +106,6 @@ public sealed class SessionRepositoryTests : IAsyncLifetime
return _fixture.ExecuteSqlAsync(statements);
}
}

View File

@@ -26,12 +26,12 @@ public sealed class TokenRepositoryTests : IAsyncLifetime
_repository = new TokenRepository(dataSource, NullLogger<TokenRepository>.Instance);
}
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
await _fixture.TruncateAllTablesAsync();
await SeedTenantAsync();
}
public Task DisposeAsync() => Task.CompletedTask;
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
[Trait("Category", TestCategories.Unit)]
[Fact]
@@ -231,3 +231,6 @@ public sealed class TokenRepositoryTests : IAsyncLifetime
return _fixture.ExecuteSqlAsync(statements);
}
}