```json
{
"tests": [
{
"name": "test_basic_word_lookup",
"endpoint": "/words/example",
"method": "GET",
"headers": {
"X-RapidAPI-Key": "{api_key}"
},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns word data including definitions, pronunciation, etc.",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {"field": "word", "type": "string", "expected_value": "example"}
},
{
"name": "test_word_definitions",
"endpoint": "/words/beautiful/definitions",
"method": "GET",
"headers": {
"X-RapidAPI-Key": "{api_key}"
},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns array of definitions for the word",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {"field": "definitions", "type": "array", "min_length": 1}
},
{
"name": "test_word_synonyms",
"endpoint": "/words/happy/synonyms",
"method": "GET",
"headers": {
"X-RapidAPI-Key": "{api_key}"
},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns array of synonyms",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {"field": "synonyms", "type": "array", "min_length": 1}
},
{
"name": "test_word_antonyms",
"endpoint": "/words/good/antonyms",
"method": "GET",
"headers": {
"X-RapidAPI-Key": "{api_key}"
},
"payload": {},
"expected_status": 200,
"expected_behavior": "Returns array of antonyms",
"metrics": ["latency", "accuracy", "status_code"],
"validation": {"field": "antonyms", "type": "array", "min_length": 1}
},
{
"name": "test_invalid_word",
"endpoint": "/words/invalidwordxyz123/definitions",
"method": "GET",
"headers": {
"X-RapidAPI-Key": "{api_key}"
},
"payload": {},
"expected_status": 404,
"expected_behavior": "Returns 404 for non-existent word",
"metrics": ["latency", "error_handling", "status_code"],
"validation": {"field": "message", "type": "string"}
},
{
"name": "test_missing_auth",
"endpoint": "/words/test",
"method": "GET",
"headers": {},
"payload": {},
"expected_status": 401,
"expected_behavior": "Returns 401 when API key is missing",
"metrics": ["error_handling", "status_code"],
"validation": {"status_code": 401}
}
],
"pricing_probes": [
{
"name": "verify_request_counting",
"description": "Make multiple requests to verify per-request billing",
"endpoint": "/words/test/definitions",
"method": "GET",
"payload": {},
"check": "Each request should count toward 500/month quota, check response headers for usage indicators"
}
],
"stress_profile": {
"concurrent_requests": 3,
"duration_seconds": 10,
"ramp_up": true
}
}
```