#!/usr/bin/env python3 """ Simple API test script """ import requests import time import json def test_api_endpoints(): """Test the main API endpoints""" base_url = "http://localhost:8000" endpoints = [ "/health", "/metrics", "/stations", "/measurements/latest?limit=5", "/scraping/status", "/config" ] print("๐Ÿงช Testing API endpoints...") print("Make sure the API server is running: python run.py --web-api") print() for endpoint in endpoints: try: print(f"Testing {endpoint}...") response = requests.get(f"{base_url}{endpoint}", timeout=5) if response.status_code == 200: data = response.json() print(f"โœ… {endpoint} - Status: {response.status_code}") # Show some sample data if endpoint == "/stations": print(f" Found {len(data)} stations") elif endpoint == "/measurements/latest?limit=5": print(f" Found {len(data)} measurements") if data: latest = data[0] print(f" Latest: {latest['station_code']} - {latest['water_level']}m") elif endpoint == "/health": print(f" Overall status: {data.get('overall_status', 'unknown')}") elif endpoint == "/scraping/status": print(f" Is running: {data.get('is_running', False)}") print(f" Total runs: {data.get('total_runs', 0)}") else: print(f"โŒ {endpoint} - Status: {response.status_code}") except requests.exceptions.ConnectionError: print(f"โŒ {endpoint} - Connection failed (is the server running?)") except Exception as e: print(f"โŒ {endpoint} - Error: {e}") print() if __name__ == "__main__": test_api_endpoints()