From 00ca5191562ee6056bf94da07660b1d59e0bc070 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Thu, 20 Mar 2025 10:03:53 +0000 Subject: [PATCH] Update code in endpoints/api/load-test.post.py --- endpoints/api/load-test.post.py | 40 +++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 endpoints/api/load-test.post.py diff --git a/endpoints/api/load-test.post.py b/endpoints/api/load-test.post.py new file mode 100644 index 0000000..2a7d5aa --- /dev/null +++ b/endpoints/api/load-test.post.py @@ -0,0 +1,40 @@ +from fastapi import APIRouter, Depends, HTTPException +from core.database import fake_users_db +import time +import random + +router = APIRouter() + +@router.post("/api/load-test") +async def load_test_handler( + delay_ms: int = 0, + error_rate: float = 0.0, + response_size: int = 1 +): + """Load test endpoint for performance testing""" + + # Simulate random errors based on error_rate + if random.random() < error_rate: + raise HTTPException(status_code=500, detail="Random error for load testing") + + # Simulate processing delay + if delay_ms > 0: + time.sleep(delay_ms / 1000) + + # Generate response data of specified size + test_data = [{ + "index": i, + "value": f"test_value_{i}", + "timestamp": time.time() + } for i in range(response_size)] + + return { + "message": "Load test completed successfully", + "data": test_data, + "metadata": { + "delay_ms": delay_ms, + "error_rate": error_rate, + "response_size": response_size, + "timestamp": time.time() + } + } \ No newline at end of file