```json
{
"tests": [
{
"name": "basic_connectivity",
"endpoint": "/",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns API status or documentation",
"metrics": ["latency", "status_code"],
"validation": {"status_code": "2xx"}
},
{
"name": "test_pools_endpoint",
"endpoint": "/pools",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns pool data if DeFi service, or 404 if not implemented",
"metrics": ["latency", "status_code", "response_structure"],
"validation": {"field": "data", "type": "any", "optional": true}
},
{
"name": "test_yields_endpoint",
"endpoint": "/yields",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns yield opportunities if DeFi service",
"metrics": ["latency", "status_code", "response_structure"],
"validation": {"field": "data", "type": "any", "optional": true}
},
{
"name": "test_tvl_endpoint",
"endpoint": "/tvl",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns TVL data if DeFi protocol",
"metrics": ["latency", "status_code", "response_structure"],
"validation": {"field": "tvl", "type": "number", "optional": true}
},
{
"name": "test_api_documentation",
"endpoint": "/docs",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns API documentation if available",
"metrics": ["latency", "status_code"],
"validation": {"status_code": "any"}
},
{
"name": "test_health_endpoint",
"endpoint": "/health",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns service health status",
"metrics": ["latency", "status_code"],
"validation": {"status_code": "any"}
}
],
"pricing_probes": [
{
"name": "check_rate_limits",
"description": "Send multiple requests to discover rate limiting behavior",
"endpoint": "/pools",
"method": "GET",
"payload": {},
"check": "Monitor for 429 status codes or rate limit headers"
},
{
"name": "verify_auth_requirements",
"description": "Test endpoints without auth to see if API key required",
"endpoint": "/pools",
"method": "GET",
"payload": {},
"check": "Check for 401/403 responses indicating auth required"
}
],
"stress_profile": {
"concurrent_requests": 2,
"duration_seconds": 5,
"ramp_up": false
}
}
```