Declare schema validation rules and testPayload fixtures so unit tests, integration tests, and E2E certification have deterministic inputs.
Prerequisites
- Configure data flow with operations enabled
- Configure metadata and identity with
primaryKeyset - Test tenant credentials for live E2E (not production)
Where it lives
| Layer | Location |
|---|---|
| Validation rules | <datasourceKey>.json → validation (when used) |
| Test fixtures | testPayload — primaryKey, payloadTemplate, scenarios |
| UI | Business Entity Quality / test panels vary by release — manifest is SSOT |
Manifest sections: datasource.validation, datasource.testPayload.
Builder MCP
| Manifest sections | datasource.validation, datasource.testPayload |
| Help topics | section, evidencePatterns, repairRules |
| Repair hooks | test |
Read evidencePattern when aligning certification evidence with fixture shape. Deep E2E guidance: CIP execution.
How to set
- Add
testPayloadbefore first E2E:
{
"testPayload": {
"mode": "live",
"primaryKey": { "externalId": "e2e-fixture-001" },
"useCopyForMutations": true,
"payloadTemplate": {
"externalId": "e2e-fixture-001",
"name": "E2E Record"
},
"scenarios": [
{ "operation": "list", "enabled": true },
{ "operation": "get", "enabled": true },
{ "operation": "create", "enabled": true }
]
}
}
- Order scenarios in array order — disable destructive steps in shared tenants with
enabled: false. - Repair test band when wizard output drifted:
aifabrix repair <systemKey> --test
aifabrix validate <systemKey>
Validate
Full ladder: Test ladder and protection and CLI workflow.
Common mistakes
| Mistake | Fix |
|---|---|
E2E without testPayload |
Add primaryKey + template |
| Scenarios out of sync with capabilities | Match operation keys to CIP operations |
| Production IDs in fixtures | Use isolated test tenant values |