```json
{
"tests": [
{
"name": "test_signup_endpoint",
"endpoint": "/authservice/signup",
"method": "POST",
"headers": {
"X-API-Key": "your_api_key"
},
"payload": {
"email": "testuser@example.com",
"password": "securepassword123"
},
"expected_status": 201,
"expected_behavior": "Creates a user account",
"metrics": ["latency", "status_code"],
"validation": {
"field": "user_id",
"type": "string",
"min_length": 1
}
},
{
"name": "test_login_endpoint",
"endpoint": "/authservice/login",
"method": "POST",
"headers": {
"X-API-Key": "your_api_key"
},
"payload": {
"email": "testuser@example.com",
"password": "securepassword123"
},
"expected_status": 200,
"expected_behavior": "Authenticates user and returns session token",
"metrics": ["latency", "status_code"],
"validation": {
"field": "token",
"type": "string",
"min_length": 1
}
},
{
"name": "test_verify_session_endpoint",
"endpoint": "/authservice/verify",
"method": "GET",
"headers": {
"X-API-Key": "your_api_key"
},
"payload": {
"token": "valid_session_token"
},
"expected_status": 200,
"expected_behavior": "Verifies session token",
"metrics": ["latency", "status_code"],
"validation": {
"field": "status",
"type": "string",
"possible_values": ["active"]
}
},
{
"name": "test_error_handling_on_signup",
"endpoint": "/authservice/signup",
"method": "POST",
"headers": {
"X-API-Key": "your_api_key"
},
"payload": {
"email": "",
"password": "short"
},
"expected_status": 400,
"expected_behavior": "Returns error for invalid input",
"metrics": ["latency", "status_code"],
"validation": {
"field": "error",
"type": "string",
"min_length": 1
}
},
{
"name": "test_error_handling_on_login",
"endpoint": "/authservice/login",
"method": "POST",
"headers": {
"X-API-Key": "your_api_key"
},
"payload": {
"email": "invaliduser@example.com",
"password": "wrongpassword"
},
"expected_status": 401,
"expected_behavior": "Returns error for invalid credentials",
"metrics": ["latency", "status_code"],
"validation": {
"field": "error",
"type": "string",
"min_length": 1
}
}
],
"pricing_probes": [],
"stress_profile": {
"concurrent_requests": 5,
"duration_seconds": 10,
"ramp_up": true
}
}
```