You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

70 lines
1.9 KiB

{
"description": "Golden contract test fixture - used by both JS and Native fetcher tests",
"version": "1.0.0",
"context": {
"trigger": "scheduled",
"scheduledTime": 1730179200000,
"fetchTime": 1730175600000,
"metadata": {
"testRun": true,
"runId": "test-run-001"
}
},
"expectedOutput": [
{
"id": "offer_123",
"title": "New Offer: Community Garden Project",
"body": "A new volunteer opportunity is available",
"scheduledTime": 1730179200000,
"fetchTime": 1730175600000,
"mediaUrl": "https://example.com/images/garden.jpg",
"ttlSeconds": 86400,
"dedupeKey": "offer_123_2025-10-29T12:00:00Z",
"priority": "default",
"metadata": {
"offerId": "123",
"issuerDid": "did:key:test123",
"source": "offers_to_person"
}
},
{
"id": "project_456",
"title": "Community Center Project Updated",
"body": "New updates for Community Center Project",
"scheduledTime": 1730179200000,
"fetchTime": 1730175600000,
"mediaUrl": null,
"ttlSeconds": 86400,
"dedupeKey": "project_https://endorser.ch/entity/01ABC_789xyz",
"priority": "default",
"metadata": {
"planHandleId": "https://endorser.ch/entity/01ABC",
"jwtId": "789xyz",
"source": "project_updates"
}
}
],
"failureScenarios": [
{
"name": "network_timeout",
"simulate": "timeout_5000ms",
"expectedBehavior": "retry_with_backoff"
},
{
"name": "auth_401",
"simulate": "http_401",
"expectedBehavior": "unretryable_error_logged"
},
{
"name": "rate_limit_429",
"simulate": "http_429_retry_after_60",
"expectedBehavior": "honor_retry_after_header"
},
{
"name": "partial_failure",
"simulate": "malformed_item_in_array",
"expectedBehavior": "skip_bad_item_enqueue_valid"
}
]
}