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

@@ -6,7 +6,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="FsCheck.Xunit" />
<PackageReference Include="FsCheck.Xunit.v3" />
<PackageReference Include="FluentAssertions" />
</ItemGroup>
@@ -14,4 +14,6 @@
<ProjectReference Include="..\..\StellaOps.Canonicalization\StellaOps.Canonicalization.csproj" />
<ProjectReference Include="../../StellaOps.TestKit/StellaOps.TestKit.csproj" />
</ItemGroup>
</Project>
</Project>

View File

@@ -5,9 +5,7 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<Using Include="Xunit.Abstractions" />
</ItemGroup>
<ItemGroup> </ItemGroup>
<ItemGroup>
<PackageReference Include="FluentAssertions" />

View File

@@ -39,13 +39,13 @@ public sealed class CrossModuleEvidenceLinkingTests : IAsyncLifetime
_output = output;
}
public Task InitializeAsync()
public ValueTask InitializeAsync()
{
_store = _fixture.CreateStore(_tenantId);
return Task.CompletedTask;
return ValueTask.CompletedTask;
}
public async Task DisposeAsync()
public async ValueTask DisposeAsync()
{
await _fixture.TruncateAllTablesAsync();
}
@@ -546,3 +546,6 @@ public sealed class CrossModuleEvidenceLinkingTests : IAsyncLifetime
#endregion
}

View File

@@ -34,13 +34,13 @@ public sealed class PostgresEvidenceStoreIntegrationTests : IAsyncLifetime
_output = output;
}
public Task InitializeAsync()
public ValueTask InitializeAsync()
{
_store = _fixture.CreateStore(_tenantId);
return Task.CompletedTask;
return ValueTask.CompletedTask;
}
public async Task DisposeAsync()
public async ValueTask DisposeAsync()
{
await _fixture.TruncateAllTablesAsync();
}
@@ -551,3 +551,6 @@ public sealed class PostgresEvidenceStoreIntegrationTests : IAsyncLifetime
#endregion
}

View File

@@ -20,7 +20,7 @@ public sealed class StartupMigrationHostTests : IAsyncLifetime
private string ConnectionString => _container?.GetConnectionString()
?? throw new InvalidOperationException("Container not initialized");
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
_container = new PostgreSqlBuilder()
.WithImage("postgres:16-alpine")
@@ -29,7 +29,7 @@ public sealed class StartupMigrationHostTests : IAsyncLifetime
await _container.StartAsync();
}
public async Task DisposeAsync()
public async ValueTask DisposeAsync()
{
if (_container != null)
{
@@ -546,3 +546,6 @@ internal sealed class TestMigrationHost : StartupMigrationHost
{
}
}

View File

@@ -15,7 +15,7 @@ public sealed class PostgresFixtureTests : IAsyncLifetime
{
private PostgreSqlContainer? _container;
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
_container = new PostgreSqlBuilder()
.WithImage("postgres:16-alpine")
@@ -24,7 +24,7 @@ public sealed class PostgresFixtureTests : IAsyncLifetime
await _container.StartAsync();
}
public async Task DisposeAsync()
public async ValueTask DisposeAsync()
{
if (_container != null)
{
@@ -104,3 +104,6 @@ public sealed class PostgresFixtureTests : IAsyncLifetime
exists.Should().Be(false);
}
}

View File

@@ -32,7 +32,7 @@ public sealed class MinimalApiBindingIntegrationTests : IAsyncLifetime
};
}
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
// Build a real WebApplication with Minimal APIs
var builder = WebApplication.CreateBuilder(new WebApplicationOptions
@@ -68,7 +68,7 @@ public sealed class MinimalApiBindingIntegrationTests : IAsyncLifetime
NullLogger<AspNetRouterRequestDispatcher>.Instance);
}
public async Task DisposeAsync()
public async ValueTask DisposeAsync()
{
if (_app is not null)
{
@@ -1002,3 +1002,6 @@ public sealed class MinimalApiBindingIntegrationTests : IAsyncLifetime
#endregion
}

View File

@@ -30,7 +30,7 @@ public sealed class StellaRouterBridgeIntegrationTests : IAsyncLifetime
PropertyNameCaseInsensitive = true
};
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
// Build a real WebApplication with the Router bridge
var builder = WebApplication.CreateBuilder(new WebApplicationOptions
@@ -74,7 +74,7 @@ public sealed class StellaRouterBridgeIntegrationTests : IAsyncLifetime
NullLogger<AspNetRouterRequestDispatcher>.Instance);
}
public async Task DisposeAsync()
public async ValueTask DisposeAsync()
{
if (_app is not null)
{
@@ -612,3 +612,6 @@ public sealed class StellaRouterBridgeOptionsValidationTests
Assert.NotNull(provider.GetService<StellaRouterBridgeOptions>());
}
}

View File

@@ -23,7 +23,7 @@ public sealed class EvidenceApiTests : IAsyncLifetime
private Mock<IEvidenceChunkRepository>? _mockChunkRepository;
private Mock<IEvidenceChunker>? _mockChunker;
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
_mockChunkRepository = new Mock<IEvidenceChunkRepository>();
_mockChunker = new Mock<IEvidenceChunker>();
@@ -58,7 +58,7 @@ public sealed class EvidenceApiTests : IAsyncLifetime
_client = _host.GetTestClient();
}
public async Task DisposeAsync()
public async ValueTask DisposeAsync()
{
_client?.Dispose();
if (_host != null)
@@ -385,3 +385,6 @@ public sealed class EvidenceApiTests : IAsyncLifetime
};
}
}

View File

@@ -35,9 +35,9 @@ public sealed class SignalsTestFactory : WebApplicationFactory<Program>, IAsyncL
});
}
public Task InitializeAsync() => Task.CompletedTask;
public ValueTask InitializeAsync() => ValueTask.CompletedTask;
public new async Task DisposeAsync()
public new async ValueTask DisposeAsync()
{
try
{
@@ -52,3 +52,6 @@ public sealed class SignalsTestFactory : WebApplicationFactory<Program>, IAsyncL
}
}
}

View File

@@ -11,11 +11,13 @@
<ItemGroup>
<PackageReference Include="FluentAssertions" />
<PackageReference Include="FsCheck" />
<PackageReference Include="FsCheck.Xunit" />
<PackageReference Include="FsCheck.Xunit.v3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\StellaOps.VersionComparison\StellaOps.VersionComparison.csproj" />
<ProjectReference Include="../../StellaOps.TestKit/StellaOps.TestKit.csproj" />
</ItemGroup>
</Project>
</Project>