feat: add controlled local PXP-OA parity workflow

This commit is contained in:
codex
2026-08-06 11:17:33 +03:00
parent 0879d716dd
commit 75a1097653
8 changed files with 212 additions and 3 deletions
@@ -69,6 +69,14 @@ public sealed class PackageLifecycleTests
finally { if (Directory.Exists(root)) Directory.Delete(root, true); }
}
[Fact]
public async Task RepeatedExactMaterializationRevalidatesCommittedManifestAndPayload()
{
var root=Path.Combine(Path.GetTempPath(),Guid.NewGuid().ToString("N"));var source=Path.Combine(root,"catalog");Directory.CreateDirectory(source);var bytes=new byte[]{6,7};await File.WriteAllBytesAsync(Path.Combine(source,"entry.dll"),bytes);await File.WriteAllBytesAsync(Path.Combine(source,"payload.dat"),bytes);var store=new LocalPackageStore(root,new Sha256FileHasher());
try { var first=await store.MaterializeAsync(Manifest("1.0.0",bytes,bytes),source,CancellationToken.None);var second=await store.MaterializeAsync(Manifest("1.0.0",bytes,bytes),source,CancellationToken.None);Assert.Equal(first.LocalPackageRoot,second.LocalPackageRoot);Assert.False(File.Exists(Path.Combine(root,"Applications","Lifecycle.Package","current.json"))); }
finally { if(Directory.Exists(root))Directory.Delete(root,true); }
}
[Fact]
public async Task ActivationIsIdempotentAndRollbackRestoresPrevious()
{