Project_Journal-Csharp_back.../tests/test_ai_hybrid_bridge.py
2026-02-23 20:12:10 -06:00

52 lines
1.8 KiB
Python

import sys
import unittest
from pathlib import Path
from unittest.mock import patch
PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
sys.path.insert(0, str(PROJECT_ROOT))
from journal.core.models import JournalEntry
from journal.ai import bridge
class AiHybridBridgeTests(unittest.TestCase):
def test_summarize_entry_uses_local_analysis_in_hybrid_mode(self):
entry = JournalEntry(date="2026-02-22", raw_content="sample content")
with (
patch("journal.ai.bridge.analysis.summarize_entry", return_value="local result") as mock_local,
):
result = bridge.summarize_entry(entry)
self.assertEqual(result, "local result")
mock_local.assert_called_once_with(entry)
def test_summarize_all_uses_local_analysis_in_hybrid_mode(self):
entries = [
JournalEntry(date="2026-02-21", raw_content="entry one"),
JournalEntry(date="2026-02-22", raw_content="entry two"),
]
with (
patch("journal.ai.bridge.analysis.summarize_all_entries", return_value="all local result") as mock_local,
):
result = bridge.summarize_all_entries(entries)
self.assertEqual(result, "all local result")
mock_local.assert_called_once()
def test_summarize_entry_uses_local_analysis_in_python_mode(self):
entry = JournalEntry(date="2026-02-22", raw_content="sample content")
with (
patch("journal.ai.bridge.analysis.summarize_entry", return_value="local result") as mock_local,
):
result = bridge.summarize_entry(entry)
self.assertEqual(result, "local result")
mock_local.assert_called_once_with(entry)
if __name__ == "__main__":
unittest.main()