DocUA's picture
Implement Or_4.txt feedback: Provider Summary as final exchange, simplified interface improvements
e8c7fad
#!/usr/bin/env python3
"""
Test script for enhanced prompt optimization integration.
"""
import os
import sys
sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'src'))
def test_integration():
"""Test the integration of enhanced prompt editor with the main app."""
print("πŸ§ͺ Testing Enhanced Prompt Optimization Integration")
print("=" * 60)
try:
# Test 1: Import all components
print("1. Testing imports...")
from interface.enhanced_prompt_editor import EnhancedPromptEditor
from config.prompt_management.prompt_controller import PromptController
from interface.gradio_app import main
print(" βœ“ All components import successfully")
# Test 2: Initialize components
print("\n2. Testing component initialization...")
editor = EnhancedPromptEditor()
controller = PromptController()
print(" βœ“ Components initialize successfully")
# Test 3: Test prompt loading
print("\n3. Testing prompt loading...")
prompts = editor.get_available_prompts()
print(f" βœ“ Found {len(prompts)} available prompts:")
for prompt in prompts:
print(f" - {prompt}")
# Test 4: Test session override functionality
print("\n4. Testing session override functionality...")
session_id = "integration_test_session"
test_content = "Test session override content for integration testing"
# Load original prompt
original_content, _, _ = editor.load_prompt_for_editing(
"πŸ” Spiritual Monitor (Classifier)",
session_id
)
print(f" βœ“ Original prompt loaded: {len(original_content)} chars")
# Apply session override
status_html, success = editor.apply_prompt_changes(
"πŸ” Spiritual Monitor (Classifier)",
test_content,
session_id
)
print(f" βœ“ Session override applied: {success}")
# Verify override is active
override_content, _, _ = editor.load_prompt_for_editing(
"πŸ” Spiritual Monitor (Classifier)",
session_id
)
override_active = test_content in override_content
print(f" βœ“ Session override active: {override_active}")
# Test reset functionality
reset_content, _, _ = editor.reset_prompt_to_default(
"πŸ” Spiritual Monitor (Classifier)",
session_id
)
reset_successful = test_content not in reset_content
print(f" βœ“ Reset to default works: {reset_successful}")
# Test 5: Test validation
print("\n5. Testing prompt validation...")
validation_html, is_valid = editor.validate_prompt_syntax(original_content)
print(f" βœ“ Validation works: {is_valid}")
# Test 6: Test session status
print("\n6. Testing session status...")
# Set override again for status test
editor.apply_prompt_changes(
"πŸ” Spiritual Monitor (Classifier)",
test_content,
session_id
)
status_html = editor.get_session_prompt_status(session_id)
has_overrides = "Active Session Overrides" in status_html
print(f" βœ“ Session status tracking: {has_overrides}")
print("\n" + "=" * 60)
print("πŸŽ‰ ALL INTEGRATION TESTS PASSED!")
print("\nπŸ“‹ Summary:")
print(" βœ… Enhanced prompt editor fully integrated")
print(" βœ… Session-level prompt overrides working")
print(" βœ… Validation and status tracking functional")
print(" βœ… Reset and promotion workflows ready")
print("\nπŸš€ Ready to launch the enhanced medical assistant!")
return True
except Exception as e:
print(f"\n❌ Integration test failed: {e}")
import traceback
traceback.print_exc()
return False
if __name__ == "__main__":
success = test_integration()
sys.exit(0 if success else 1)