""" Simple verification script for Phase 5 and Phase 6 implementation. This script verifies that all required files exist and can be imported. """ import sys from pathlib import Path # Add backend to path sys.path.insert(0, str(Path(__file__).parent)) def verify_file_exists(filepath: str) -> bool: """Check if a file exists.""" path = Path(__file__).parent / filepath if path.exists(): print(f"✓ {filepath}") return True else: print(f"✗ {filepath} (MISSING)") return False def verify_import(module_path: str) -> bool: """Try to import a module.""" try: __import__(module_path) print(f"✓ {module_path} (importable)") return True except Exception as e: print(f"✗ {module_path} (import failed: {e})") return False def main(): """Run verification checks.""" print("=" * 60) print("Phase 5: API Routes - File Verification") print("=" * 60) phase5_files = [ "app/api/__init__.py", "app/api/deps.py", "app/api/ssh_keys.py", "app/api/servers.py", "app/api/status.py", ] phase5_ok = all(verify_file_exists(f) for f in phase5_files) print("\n" + "=" * 60) print("Phase 6: FastAPI Main Application - File Verification") print("=" * 60) phase6_files = [ "app/main.py", ] phase6_ok = all(verify_file_exists(f) for f in phase6_files) print("\n" + "=" * 60) print("Test Files - File Verification") print("=" * 60) test_files = [ "tests/test_api/__init__.py", "tests/test_api/test_ssh_keys_api.py", "tests/test_api/test_servers_api.py", "tests/test_api/test_status_api.py", ] tests_ok = all(verify_file_exists(f) for f in test_files) print("\n" + "=" * 60) print("Import Verification") print("=" * 60) imports_ok = True imports = [ "app.api.deps", "app.api.ssh_keys", "app.api.servers", "app.api.status", ] for module in imports: if not verify_import(module): imports_ok = False print("\n" + "=" * 60) print("Summary") print("=" * 60) if phase5_ok and phase6_ok and tests_ok: print("✓ All required files have been created") else: print("✗ Some files are missing") if imports_ok: print("✓ All modules can be imported") else: print("✗ Some modules failed to import") print("\nImplementation Status:") print(f" Phase 5 (API Routes): {'✓ COMPLETE' if phase5_ok else '✗ INCOMPLETE'}") print(f" Phase 6 (Main App): {'✓ COMPLETE' if phase6_ok else '✗ INCOMPLETE'}") print(f" Test Files: {'✓ COMPLETE' if tests_ok else '✗ INCOMPLETE'}") if __name__ == "__main__": main()