Resolve all high-severity architecture review findings

This commit is contained in:
Joseph Doherty
2026-09-09 16:13:58 -04:00
parent 8bfe65512e
commit 146a13238f
192 changed files with 3160 additions and 753 deletions
@@ -27,6 +27,25 @@ public class SiteCallAuditRepositoryTests : IClassFixture<MsSqlMigrationFixture>
_fixture = fixture;
}
[SkippableFact]
public async Task CM9_ExistingOperationCannotBeAdvancedByAnotherSite()
{
Skip.IfNot(_fixture.Available, _fixture.SkipReason);
var id = TrackedOperationId.New();
await using var context = CreateContext();
var repository = new SiteCallAuditRepository(context);
await repository.UpsertAsync(NewRow(id, status: "Submitted", sourceSite: "owner-b"));
var failure = await Assert.ThrowsAsync<Microsoft.Data.SqlClient.SqlException>(() =>
repository.UpsertAsync(NewRow(id, status: "Delivered", sourceSite: "attacker-a", retryCount: 99)));
Assert.Equal(51001, failure.Number);
var stored = await repository.GetAsync(id);
Assert.NotNull(stored);
Assert.Equal("owner-b", stored.SourceSite);
Assert.Equal("Submitted", stored.Status);
Assert.Equal(0, stored.RetryCount);
}
[SkippableFact]
public async Task UpsertAsync_FreshId_InsertsOneRow()
{
@@ -897,7 +916,8 @@ public class SiteCallAuditRepositoryTests : IClassFixture<MsSqlMigrationFixture>
TrackedOperationId = id,
Channel = "ApiOutbound",
Target = "ERP.GetOrder",
SourceSite = sourceSite ?? NewSiteId(),
// Every lifecycle packet for one operation has the same owning site.
SourceSite = sourceSite ?? $"test-site-{id.Value:N}",
SourceNode = sourceNode,
Status = status,
RetryCount = retryCount,