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

@@ -134,19 +134,19 @@ public abstract class ConnectorLiveSchemaTestBase : IAsyncLifetime
/// </summary>
public IReadOnlyList<FixtureDriftReport> DriftReports => _driftReports.AsReadOnly();
public Task InitializeAsync()
public ValueTask InitializeAsync()
{
foreach (var (key, value) in RequestHeaders)
{
_httpClient.DefaultRequestHeaders.TryAddWithoutValidation(key, value);
}
return Task.CompletedTask;
return ValueTask.CompletedTask;
}
public Task DisposeAsync()
public ValueTask DisposeAsync()
{
_httpClient.Dispose();
return Task.CompletedTask;
return ValueTask.CompletedTask;
}
}
@@ -191,3 +191,7 @@ public sealed class LiveTheoryAttribute : TheoryAttribute
}
}
}

View File

@@ -69,12 +69,12 @@ public sealed class PostgresFixture : IAsyncLifetime
/// </summary>
public ushort Port => _container.GetMappedPublicPort(5432);
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
await _container.StartAsync();
}
public async Task DisposeAsync()
public async ValueTask DisposeAsync()
{
await _container.DisposeAsync();
}
@@ -336,3 +336,5 @@ public class PostgresCollection : ICollectionFixture<PostgresFixture>
// to be the place to apply [CollectionDefinition] and all the
// ICollectionFixture<> interfaces.
}

View File

@@ -78,7 +78,7 @@ public sealed class ValkeyFixture : IAsyncLifetime, IDisposable
/// <summary>
/// Initializes the Valkey container asynchronously.
/// </summary>
public async Task InitializeAsync()
public async ValueTask InitializeAsync()
{
// Use official Redis image (Valkey is Redis-compatible)
// In production deployments, substitute with valkey/valkey image if needed
@@ -191,7 +191,7 @@ public sealed class ValkeyFixture : IAsyncLifetime, IDisposable
/// <summary>
/// Disposes the Valkey container asynchronously.
/// </summary>
public async Task DisposeAsync()
public async ValueTask DisposeAsync()
{
if (_connection != null)
{
@@ -263,3 +263,5 @@ public sealed class ValkeyTestSession : IAsyncDisposable
await _fixture.FlushDatabaseAsync(DatabaseIndex);
}
}

View File

@@ -71,9 +71,8 @@ public class WebServiceFixture<TProgram> : WebApplicationFactory<TProgram>, IAsy
return client;
}
public virtual Task InitializeAsync() => Task.CompletedTask;
public virtual ValueTask InitializeAsync() => ValueTask.CompletedTask;
Task IAsyncLifetime.DisposeAsync() => Task.CompletedTask;
}
/// <summary>
@@ -178,3 +177,7 @@ public static class WebServiceTestExtensions
return await client.GetAsync(url);
}
}

View File

@@ -1,6 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<OutputType>Exe</OutputType>
<UseAppHost>true</UseAppHost>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>preview</LangVersion>
@@ -8,12 +10,11 @@
<Description>Testing infrastructure and utilities for StellaOps</Description>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="xunit" PrivateAssets="all" />
<PackageReference Include="xunit.extensibility.core" PrivateAssets="all" />
<PackageReference Include="xunit.assert" PrivateAssets="all" />
<PackageReference Include="xunit.v3.assert" PrivateAssets="all" />
<PackageReference Include="xunit.v3.core" PrivateAssets="all" />
<PackageReference Include="FluentAssertions" />
<PackageReference Include="FsCheck" />
<PackageReference Include="FsCheck.Xunit" PrivateAssets="all" />
<PackageReference Include="FsCheck.Xunit.v3" PrivateAssets="all" />
<PackageReference Include="Testcontainers" />
<PackageReference Include="Testcontainers.PostgreSql" />
<PackageReference Include="Npgsql" />
@@ -26,3 +27,9 @@
<ProjectReference Include="..\StellaOps.Canonical.Json\StellaOps.Canonical.Json.csproj" />
</ItemGroup>
</Project>