#!/usr/bin/env python3 """ Simple test script for PromptController functionality. """ import sys import os sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'src')) from config.prompt_management import PromptController from config.prompt_management.data_models import Indicator, IndicatorCategory def test_prompt_controller(): """Test basic PromptController functionality.""" print("Testing PromptController...") # Initialize controller controller = PromptController() print("✓ PromptController initialized") # Test getting a prompt configuration config = controller.get_prompt('spiritual_monitor') print(f"✓ Got prompt config for spiritual_monitor: {len(config.base_prompt)} chars") print(f"✓ Shared indicators: {len(config.shared_indicators)}") print(f"✓ Shared rules: {len(config.shared_rules)}") print(f"✓ Templates: {len(config.templates)}") # Test session override session_id = "test_session_123" test_prompt = "This is a test session override prompt." success = controller.set_session_override('spiritual_monitor', test_prompt, session_id) print(f"✓ Session override set: {success}") # Get prompt with session override session_config = controller.get_prompt('spiritual_monitor', session_id=session_id) print(f"✓ Session override active: {session_config.session_override is not None}") # Test validation validation_result = controller.validate_consistency() print(f"✓ Validation result: {validation_result.is_valid}") if validation_result.errors: print(f" Errors: {validation_result.errors}") if validation_result.warnings: print(f" Warnings: {validation_result.warnings}") # Test performance metrics controller.log_performance_metric('spiritual_monitor', 0.5, 0.85) metrics = controller.get_performance_metrics('spiritual_monitor') print(f"✓ Performance metrics: {metrics['total_executions']} executions") # Test available agents agents = controller.list_available_agents() print(f"✓ Available agents: {agents}") # Clean up session controller.clear_session_overrides(session_id) print("✓ Session overrides cleared") print("\nAll tests passed! ✓") if __name__ == "__main__": test_prompt_controller()