#!/usr/bin/env python3 """ Test script to verify the local server is actually serving content. This verifies that the Docker container is working and serving our test sites. """ import requests import time from urllib.parse import urljoin def test_server_endpoints(): """Test various server endpoints to verify they're working.""" base_url = "http://localhost:8083" endpoints = [ "/health", "/api/users", "/api/products", "/", "/spa/", "/shop/", "/docs/", "/news/", "/static/" ] print("๐งช Testing Local Server Endpoints") print("=" * 50) print(f"Base URL: {base_url}") print() results = [] for endpoint in endpoints: url = urljoin(base_url, endpoint) try: start_time = time.time() response = requests.get(url, timeout=10) response_time = time.time() - start_time status = "โ " if response.status_code == 200 else "โ" content_length = len(response.content) print(f"{status} {endpoint:15} - Status: {response.status_code}, Size: {content_length:>6} bytes, Time: {response_time:.3f}s") results.append({ 'endpoint': endpoint, 'status_code': response.status_code, 'success': response.status_code == 200, 'content_length': content_length, 'response_time': response_time }) # Check for specific content indicators if endpoint == "/health" and response.status_code == 200: print(f" ๐ฅ Health response: {response.text[:50]}") elif endpoint.startswith("/api/") and response.status_code == 200: if response.headers.get('content-type', '').startswith('application/json'): print(f" ๐ JSON response detected") else: print(f" ๐ Non-JSON response: {response.headers.get('content-type', 'unknown')}") elif endpoint in ["/", "/spa/", "/shop/", "/docs/", "/news/"] and response.status_code == 200: if "html" in response.headers.get('content-type', '').lower(): # Look for title tag if '