#!/usr/bin/env python3 """ Script to fix import statements in test files """ import os import re from pathlib import Path def fix_imports_in_file(file_path): """Fix import statements in a test file""" with open(file_path, 'r', encoding='utf-8') as f: content = f.read() # Fix relative imports to absolute imports from api package content = re.sub(r'from \.(\w+) import', r'from \1 import', content) content = re.sub(r'import \.(\w+)', r'import \1', content) # Add path setup if not present if 'sys.path.insert' not in content and 'api_dir' not in content: path_setup = '''import sys from pathlib import Path # Add api directory to path api_dir = Path(__file__).parent.parent / 'api' sys.path.insert(0, str(api_dir)) ''' # Insert after the first import line lines = content.split('\n') for i, line in enumerate(lines): if line.startswith('import ') or line.startswith('from '): lines.insert(i, path_setup.rstrip()) break content = '\n'.join(lines) with open(file_path, 'w', encoding='utf-8') as f: f.write(content) print(f"Fixed imports in {file_path}") def main(): """Fix all test files""" tests_dir = Path('tests') for test_file in tests_dir.glob('test_*.py'): if test_file.name not in ['test_cli_tool.py', 'test_peer_registry.py']: # Already fixed fix_imports_in_file(test_file) if __name__ == '__main__': main()