226 lines
5.4 KiB
JSON
226 lines
5.4 KiB
JSON
{
|
|
"schemaVersion": 1,
|
|
"cases": [
|
|
{
|
|
"id": "ordering-only",
|
|
"expected": "none",
|
|
"before": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": {
|
|
"A": { "path": "/a", "tags": ["one", "two"] },
|
|
"B": { "path": "/b", "tags": ["three"] }
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"after": {
|
|
"registries": [
|
|
{
|
|
"rows": {
|
|
"B": { "tags": ["three"], "path": "/b" },
|
|
"A": { "tags": ["two", "one"], "path": "/a" }
|
|
},
|
|
"contract": { "breakingFields": ["path"] },
|
|
"registryId": "FE-REG-TEST"
|
|
}
|
|
],
|
|
"schemaVersion": 2
|
|
}
|
|
},
|
|
{
|
|
"id": "row-addition",
|
|
"expected": "additive",
|
|
"before": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": { "A": { "path": "/a" } }
|
|
}
|
|
]
|
|
},
|
|
"after": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": {
|
|
"A": { "path": "/a" },
|
|
"B": { "path": "/b" }
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "behavior-change",
|
|
"expected": "behavior-change",
|
|
"before": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": { "A": { "path": "/a", "owner": "one" } }
|
|
}
|
|
]
|
|
},
|
|
"after": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": { "A": { "path": "/a", "owner": "two" } }
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "row-removal",
|
|
"expected": "breaking",
|
|
"before": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": {
|
|
"A": { "path": "/a" },
|
|
"B": { "path": "/b" }
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"after": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": { "A": { "path": "/a" } }
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "field-type-narrowing",
|
|
"expected": "breaking",
|
|
"before": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": { "A": { "limit": 10 } }
|
|
}
|
|
]
|
|
},
|
|
"after": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": { "A": { "limit": "10" } }
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "route-path-change",
|
|
"expected": "breaking",
|
|
"before": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": { "A": { "path": "/before" } }
|
|
}
|
|
]
|
|
},
|
|
"after": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": { "A": { "path": "/after" } }
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": "registry-contract-narrowing",
|
|
"expected": "breaking",
|
|
"before": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": {
|
|
"breakingFields": ["path"],
|
|
"allowedValues": { "kind": ["one", "two"] }
|
|
},
|
|
"rows": { "A": { "path": "/a", "kind": "one" } }
|
|
}
|
|
]
|
|
},
|
|
"after": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": {
|
|
"breakingFields": ["path"],
|
|
"allowedValues": { "kind": ["one"] }
|
|
},
|
|
"rows": { "A": { "path": "/a", "kind": "one" } }
|
|
}
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"breakingEvidence": {
|
|
"before": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": { "A": { "path": "/before" } }
|
|
}
|
|
]
|
|
},
|
|
"after": {
|
|
"schemaVersion": 2,
|
|
"registries": [
|
|
{
|
|
"registryId": "FE-REG-TEST",
|
|
"contract": { "breakingFields": ["path"] },
|
|
"rows": { "A": { "path": "/after" } }
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"tamperedApproval": {
|
|
"snapshot": {
|
|
"schemaVersion": 2,
|
|
"registries": []
|
|
},
|
|
"approval": {
|
|
"schemaVersion": 1,
|
|
"snapshotDigest": "tampered",
|
|
"owner": "fixture-owner",
|
|
"approvedAt": "2026-07-26T00:00:00.000Z"
|
|
}
|
|
}
|
|
}
|