From 89b7f0ba8efafd4f1f8b2624483f0a1db5339060 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Thu, 5 Feb 2026 06:59:59 +0000 Subject: [PATCH] fix: resolve CI lint and test failures --- .../tests/unit/test_llm.py | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 app/local-ai-commit-reviewer/tests/unit/test_llm.py diff --git a/app/local-ai-commit-reviewer/tests/unit/test_llm.py b/app/local-ai-commit-reviewer/tests/unit/test_llm.py new file mode 100644 index 0000000..ceecd14 --- /dev/null +++ b/app/local-ai-commit-reviewer/tests/unit/test_llm.py @@ -0,0 +1,52 @@ +from src.llm.provider import LLMProvider, LLMResponse, ModelInfo + + +class MockLLMProvider(LLMProvider): + def __init__(self, available: bool = True): + self._available = available + self._models = [] + + def is_available(self) -> bool: + return self._available + + def generate(self, _prompt: str, **_kwargs) -> LLMResponse: + return LLMResponse( + text="Mock review response", + model="mock-model", + tokens_used=100, + finish_reason="stop" + ) + + async def agenerate(self, _prompt: str, **_kwargs) -> LLMResponse: + return self.generate(_prompt, **_kwargs) + + def stream_generate(self, _prompt: str, **_kwargs): + yield "Mock" + + def list_models(self) -> list[ModelInfo]: + return self._models + + def health_check(self) -> bool: + return self._available + + +class TestLLMProvider: + def test_mock_provider_is_available(self): + provider = MockLLMProvider(available=True) + assert provider.is_available() is True + + def test_mock_provider_not_available(self): + provider = MockLLMProvider(available=False) + assert provider.is_available() is False + + def test_mock_generate(self): + provider = MockLLMProvider() + response = provider.generate("test prompt") + assert isinstance(response, LLMResponse) + assert response.text == "Mock review response" + assert response.model == "mock-model" + + def test_mock_list_models(self): + provider = MockLLMProvider() + models = provider.list_models() + assert isinstance(models, list)