consolidate the tests locations

This commit is contained in:
StellaOps Bot
2025-12-26 01:48:24 +02:00
parent 17613acf57
commit 39359da171
2031 changed files with 2607 additions and 476 deletions

View File

@@ -1,97 +0,0 @@
using System;
using FluentAssertions;
using StellaOps.Replay.Core;
using Xunit;
namespace StellaOps.Replay.Core.Tests;
public class PolicySimulationInputLockValidatorTests
{
private readonly PolicySimulationInputLock _lock = new()
{
PolicyBundleSha256 = new string('a', 64),
GraphSha256 = new string('b', 64),
SbomSha256 = new string('c', 64),
TimeAnchorSha256 = new string('d', 64),
DatasetSha256 = new string('e', 64),
GeneratedAt = DateTimeOffset.Parse("2025-12-02T00:00:00Z"),
ShadowIsolation = true,
RequiredScopes = new[] { "policy:simulate:shadow" }
};
[Fact]
public void Validate_passes_when_digests_match_and_shadow_scope_present()
{
var inputs = new PolicySimulationMaterializedInputs(
new string('a', 64),
new string('b', 64),
new string('c', 64),
new string('d', 64),
new string('e', 64),
"shadow",
new[] { "policy:simulate:shadow", "graph:read" },
DateTimeOffset.Parse("2025-12-02T01:00:00Z"));
var result = PolicySimulationInputLockValidator.Validate(_lock, inputs, TimeSpan.FromDays(2));
result.IsValid.Should().BeTrue();
result.Reason.Should().Be("ok");
}
[Fact]
public void Validate_detects_digest_drift()
{
var inputs = new PolicySimulationMaterializedInputs(
new string('0', 64),
new string('b', 64),
new string('c', 64),
new string('d', 64),
new string('e', 64),
"shadow",
new[] { "policy:simulate:shadow" },
DateTimeOffset.Parse("2025-12-02T00:10:00Z"));
var result = PolicySimulationInputLockValidator.Validate(_lock, inputs, TimeSpan.FromDays(1));
result.IsValid.Should().BeFalse();
result.Reason.Should().Be("policy-bundle-drift");
}
[Fact]
public void Validate_requires_shadow_mode_when_flagged()
{
var inputs = new PolicySimulationMaterializedInputs(
new string('a', 64),
new string('b', 64),
new string('c', 64),
new string('d', 64),
new string('e', 64),
"live",
Array.Empty<string>(),
DateTimeOffset.Parse("2025-12-02T00:10:00Z"));
var result = PolicySimulationInputLockValidator.Validate(_lock, inputs, TimeSpan.FromDays(1));
result.IsValid.Should().BeFalse();
result.Reason.Should().Be("shadow-mode-required");
}
[Fact]
public void Validate_fails_when_lock_stale()
{
var inputs = new PolicySimulationMaterializedInputs(
new string('a', 64),
new string('b', 64),
new string('c', 64),
new string('d', 64),
new string('e', 64),
"shadow",
new[] { "policy:simulate:shadow" },
DateTimeOffset.Parse("2025-12-05T00:00:00Z"));
var result = PolicySimulationInputLockValidator.Validate(_lock, inputs, TimeSpan.FromDays(1));
result.IsValid.Should().BeFalse();
result.Reason.Should().Be("inputs-lock-stale");
}
}

View File

@@ -1,13 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../../../src/__Libraries/StellaOps.Replay.Core/StellaOps.Replay.Core.csproj" />
<PackageReference Include="xunit" Version="2.5.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.0" />
<PackageReference Include="FluentAssertions" Version="6.12.0" />
</ItemGroup>
</Project>