```json
{
"tests": [
{
"name": "verify_api_connectivity_and_auth",
"endpoint": "/v1/markets",
"method": "GET",
"headers": {"Authorization": "Bearer YOUR_API_KEY"},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns list of trading pairs",
"metrics": ["latency", "status_code"],
"validation": {"field": "data.markets", "type": "array", "min_length": 1}
},
{
"name": "test_get_ticker_price_data",
"endpoint": "/v1/ticker",
"method": "GET",
"headers": {"Authorization": "Bearer YOUR_API_KEY"},
"payload": {"symbol": "BTCUSD"},
"expected_status": 200,
"expected_behavior": "Returns price data for BTCUSD",
"metrics": ["latency", "status_code", "accuracy"],
"validation": {"field": "data.price", "type": "number"}
},
{
"name": "test_invalid_trading_pair_error_handling",
"endpoint": "/v1/ticker",
"method": "GET",
"headers": {"Authorization": "Bearer YOUR_API_KEY"},
"payload": {"symbol": "INVALIDPAIR"},
"expected_status": 400,
"expected_behavior": "Returns error for invalid trading pair",
"metrics": ["status_code"],
"validation": {"field": "error.message", "type": "string", "contain": "Invalid trading pair"}
},
{
"name": "verify_security_headers",
"endpoint": "/v1/markets",
"method": "GET",
"headers": {"Authorization": "Bearer YOUR_API_KEY"},
"payload": {},
"expected_status": 200,
"expected_behavior": "Check presence of security headers",
"metrics": ["latency"],
"validation": {
"headers": {
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"Content-Security-Policy": "default-src 'self'",
"X-Frame-Options": "DENY"
}
}
},
{
"name": "verify_rate_limit_headers",
"endpoint": "/v1/markets",
"method": "GET",
"headers": {"Authorization": "Bearer YOUR_API_KEY"},
"payload": {},
"expected_status": 200,
"expected_behavior": "Check rate limit headers presence",
"metrics": ["latency"],
"validation": {
"headers": {
"RateLimit-Limit": "120",
"RateLimit-Remaining": "number",
"RateLimit-Reset": "number"
}
}
}
],
"pricing_probes": [],
"stress_profile": {
"concurrent_requests": 5,
"duration_seconds": 10,
"ramp_up": true
}
}
```