server alive
This commit is contained in:
parent
1c17b57d8a
commit
fab0e979d5
11 changed files with 353 additions and 28 deletions
87
test_api.py
Executable file
87
test_api.py
Executable file
|
@ -0,0 +1,87 @@
|
|||
#!/usr/bin/env python3
|
||||
"""
|
||||
Test script to verify API endpoints are accessible.
|
||||
"""
|
||||
|
||||
import requests
|
||||
import sys
|
||||
import json
|
||||
import time
|
||||
|
||||
BASE_URL = "http://127.0.0.1:8080"
|
||||
|
||||
def test_endpoint(endpoint, method="GET", data=None):
|
||||
"""Test an API endpoint and print the result."""
|
||||
url = f"{BASE_URL}{endpoint}"
|
||||
print(f"Testing {method} {url}...")
|
||||
|
||||
try:
|
||||
if method == "GET":
|
||||
response = requests.get(url)
|
||||
elif method == "POST":
|
||||
headers = {"Content-Type": "application/json"}
|
||||
response = requests.post(url, data=json.dumps(data), headers=headers)
|
||||
|
||||
print(f"Status code: {response.status_code}")
|
||||
if response.status_code < 400:
|
||||
print("Success!")
|
||||
else:
|
||||
print(f"Error: {response.text}")
|
||||
print("-" * 50)
|
||||
return response.status_code < 400
|
||||
except Exception as e:
|
||||
print(f"Exception: {e}")
|
||||
print("-" * 50)
|
||||
return False
|
||||
|
||||
def main():
|
||||
"""Run tests for all endpoints."""
|
||||
# Wait for server to start
|
||||
print("Waiting for server to start...")
|
||||
max_retries = 5
|
||||
retries = 0
|
||||
|
||||
while retries < max_retries:
|
||||
try:
|
||||
requests.get(f"{BASE_URL}/")
|
||||
print("Server is running!")
|
||||
break
|
||||
except requests.exceptions.ConnectionError:
|
||||
print(f"Server not ready yet, retrying in 2 seconds... ({retries+1}/{max_retries})")
|
||||
retries += 1
|
||||
time.sleep(2)
|
||||
|
||||
if retries == max_retries:
|
||||
print("Could not connect to server after multiple attempts.")
|
||||
print("Please make sure the server is running on http://127.0.0.1:8080")
|
||||
return 1
|
||||
|
||||
success = True
|
||||
|
||||
# Test root endpoint
|
||||
success = test_endpoint("/") and success
|
||||
|
||||
# Test event endpoint
|
||||
success = test_endpoint("/event") and success
|
||||
|
||||
# Test event/search endpoint with POST
|
||||
search_data = {
|
||||
"geometry": {
|
||||
"type": "Point",
|
||||
"coordinates": [2.3522, 48.8566] # Paris coordinates
|
||||
}
|
||||
}
|
||||
success = test_endpoint("/event/search", method="POST", data=search_data) and success
|
||||
|
||||
# Test stats endpoint
|
||||
success = test_endpoint("/stats") and success
|
||||
|
||||
if success:
|
||||
print("All tests passed!")
|
||||
return 0
|
||||
else:
|
||||
print("Some tests failed!")
|
||||
return 1
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
Loading…
Add table
Add a link
Reference in a new issue