#!/usr/bin/env python3 import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).parent.parent)) import logging logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def test_imports(): logger.info("\n=== Testing Imports ===") try: from core.execution.target_resolver import TargetResolver, ResolvedTarget logger.info("✓ TargetResolver imported") from core.execution.action_executor import ActionExecutor, ExecutionStatus logger.info("✓ ActionExecutor imported") from core.models.workflow_graph import Action, ActionType, TargetSpec logger.info("✓ Workflow models imported") return True except Exception as e: logger.error(f"✗ Import failed: {e}") return False def test_creation(): logger.info("\n=== Testing Creation ===") try: from core.execution.target_resolver import TargetResolver from core.execution.action_executor import ActionExecutor resolver = TargetResolver(similarity_threshold=0.8) logger.info(f"✓ TargetResolver created") executor = ActionExecutor(default_timeout_ms=3000) logger.info(f"✓ ActionExecutor created") return True except Exception as e: logger.error(f"✗ Creation failed: {e}") return False def main(): logger.info("=" * 60) logger.info("Phase 6 - Action Execution Tests") logger.info("=" * 60) results = [test_imports(), test_creation()] passed = sum(results) logger.info(f"\n{'='*60}\nResults: {passed}/{len(results)} tests passed\n{'='*60}") return 0 if passed == len(results) else 1 if __name__ == '__main__': sys.exit(main())