Type EveUnity capture contract

This commit is contained in:
Meta Vens 2026-07-09 09:57:17 +01:00
commit ceb6e005c4
7 changed files with 140 additions and 1 deletions

View file

@ -158,6 +158,28 @@ foreach ($expectedText in @($testContract.packageName, $testContract.testAssembl
}
}
$captureContract = $manifest.lifecycle.capture.captureContract
if ($null -eq $captureContract) {
throw "EveUnity capture lifecycle missing captureContract"
}
if ($captureContract.ownerRepo -ne "EveUnity") {
throw "EveUnity capture contract has unexpected owner: $($captureContract.ownerRepo)"
}
if ($captureContract.runtimeId -ne "unity-uitoolkit") {
throw "EveUnity capture contract has unexpected runtime: $($captureContract.runtimeId)"
}
if ($captureContract.captureKind -ne "unity-editor-or-batchmode-png") {
throw "EveUnity capture contract has unexpected capture kind: $($captureContract.captureKind)"
}
if ($captureContract.artifactKind -ne "png") {
throw "EveUnity capture contract has unexpected artifact kind: $($captureContract.artifactKind)"
}
foreach ($field in @("artifactPattern", "conformanceAttachment", "requiredProvider", "requiredSurface", "authority", "publishProof")) {
if (-not $captureContract.$field) {
throw "EveUnity capture contract missing $field"
}
}
& (Join-Path $projectRoot "scripts\run-aetheria-unity-package-smoke.ps1")
if ($LASTEXITCODE -ne 0) {
throw "Aetheria Unity package smoke failed with exit code $LASTEXITCODE"

View file

@ -95,7 +95,12 @@ node $consumerScript $consumerExport `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.runnerScript:scripts/run-aetheria-unity-editmode-tests.ps1" `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.packageName:org.gamecult.eve.unity-uitoolkit" `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.testAssembly:GameCult.Eve.UnityUIToolkit.Tests" `
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.testPlatform:EditMode"
--expect-runtime-lifecycle-field "unity-uitoolkit:test:testContract.testPlatform:EditMode" `
--expect-runtime-lifecycle-field "unity-uitoolkit:capture:captureContract.captureKind:unity-editor-or-batchmode-png" `
--expect-runtime-lifecycle-field "unity-uitoolkit:capture:captureContract.artifactKind:png" `
--expect-runtime-lifecycle-field "unity-uitoolkit:capture:captureContract.conformanceAttachment:runtime.captureArtifacts[]" `
--expect-runtime-lifecycle-field "unity-uitoolkit:capture:captureContract.requiredProvider:aetheria" `
--expect-runtime-lifecycle-field "unity-uitoolkit:capture:captureContract.requiredSurface:aetheria.daemon.game"
if ($LASTEXITCODE -ne 0) {
throw "Runtime owner conformance consumer smoke failed with exit code $LASTEXITCODE"