"""Integration tests for DSPy adapters using DSPy mock LM.""" from __future__ import annotations import dspy import pytest from prometheus.domain.entities import Prompt from prometheus.infrastructure.llm_adapter import DSPyLLMAdapter @pytest.fixture def mock_lm() -> dspy.LM: """Create a DSPy mock LM that returns predictable responses.""" lm = dspy.utils.DummyLM( [ {"output": "Mock output response"}, ] ) dspy.configure(lm=lm) return lm class TestDSPyLLMAdapter: def test_execute_returns_response(self, mock_lm: dspy.LM) -> None: adapter = DSPyLLMAdapter(model="openai/gpt-4o-mini") prompt = Prompt(text="Answer the question.") result = adapter.execute(prompt, "What is 2+2?") assert isinstance(result, str) assert len(result) > 0