File size: 1,045 Bytes
e787a71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
"""Tests for core/backend_factory.py."""
import pytest
from core.backend_factory import BackendFactory
from core.types import LLMBackend


class TestBackendFactory:
    def test_create_mock(self):
        backend = BackendFactory.create("mock")
        # MockBackend inherits from old LLMBackend, not new ABC yet
        # Just check it has generate method
        assert hasattr(backend, "generate")

    def test_create_unknown_raises(self):
        with pytest.raises(ValueError, match="Unknown backend"):
            BackendFactory.create("nonexistent")

    def test_registry_has_mock(self):
        assert "mock" in BackendFactory._registry

    def test_mock_can_generate(self):
        backend = BackendFactory.create("mock")
        result = backend.generate([{"role": "user", "content": "a 50mm cube"}])
        assert isinstance(result, str)
        assert "result" in result

    def test_create_safe_fallback(self):
        backend = BackendFactory.create_safe("nonexistent_backend_xyz")
        assert hasattr(backend, "generate")