local-rag-chatbot / tests /test_models.py
Julien Simon
refactor: Reorganize PDFs and improve error handling
ed005f8
Raw
History Blame Contribute Delete
1.31 kB
"""Tests for models module."""
from unittest.mock import MagicMock, patch
import pytest
from models import create_embeddings, create_llm
@patch("models.ChatOpenAI")
def test_create_llm(mock_chat_openai):
"""Test LLM creation."""
mock_instance = MagicMock()
mock_chat_openai.return_value = mock_instance
result = create_llm(streaming=False)
mock_chat_openai.assert_called_once()
assert result == mock_instance
@patch("models.ChatOpenAI")
def test_create_llm_streaming(mock_chat_openai):
"""Test LLM creation with streaming enabled."""
mock_instance = MagicMock()
mock_chat_openai.return_value = mock_instance
result = create_llm(streaming=True)
call_kwargs = mock_chat_openai.call_args[1]
assert call_kwargs["streaming"] is True
assert result == mock_instance
@patch("models.HuggingFaceEmbeddings")
def test_create_embeddings(mock_embeddings):
"""Test embeddings creation."""
mock_instance = MagicMock()
mock_embeddings.return_value = mock_instance
result = create_embeddings()
mock_embeddings.assert_called_once()
call_kwargs = mock_embeddings.call_args[1]
assert call_kwargs["model_kwargs"]["device"] == "cpu"
assert call_kwargs["encode_kwargs"]["normalize_embeddings"] is True
assert result == mock_instance