import sys # Absolute path to src src_path = "/home/ubuntu/timmy-time/Timmy-time-dashboard/src" if src_path not in sys.path: sys.path.insert(0, src_path) from fastapi.testclient import TestClient # noqa: E402 try: from dashboard.app import app # noqa: E402 print("✓ Successfully imported dashboard.app") except ImportError as e: print(f"✗ Failed to import dashboard.app: {e}") sys.exit(1) client = TestClient(app) def test_v1_status(): response = client.get("/api/v1/status") assert response.status_code == 200 data = response.json() assert "timmy" in data assert "model" in data assert "uptime" in data def test_v1_chat_history(): response = client.get("/api/v1/chat/history") assert response.status_code == 200 data = response.json() assert "messages" in data def test_v1_upload_fail(): # Test without file response = client.post("/api/v1/upload") assert response.status_code == 422 # Unprocessable Entity (missing file) if __name__ == "__main__": print("Running API v1 tests...") try: test_v1_status() print("✓ Status test passed") test_v1_chat_history() print("✓ History test passed") test_v1_upload_fail() print("✓ Upload failure test passed") print("All tests passed!") except Exception as e: print(f"Test failed: {e}") sys.exit(1)