generated from coulomb/repo-seed
configuration support for optional LLM extraction
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
from repo_registry.web_api.app import Settings, app, get_settings
|
||||
from repo_registry.web_api import app as app_module
|
||||
from repo_registry.web_api.app import Settings, app, get_service, get_settings
|
||||
|
||||
|
||||
def test_api_manual_registry_loop(tmp_path):
|
||||
@@ -164,6 +165,34 @@ def test_api_registers_repository_from_url_metadata(tmp_path):
|
||||
app.dependency_overrides.clear()
|
||||
|
||||
|
||||
def test_api_service_settings_can_enable_llm_extractor(monkeypatch, tmp_path):
|
||||
class Response:
|
||||
content = '{"abilities": [{"name": "Configured LLM Ability"}]}'
|
||||
|
||||
class Adapter:
|
||||
def execute_prompt(self, prompt, config):
|
||||
return Response()
|
||||
|
||||
calls = []
|
||||
|
||||
def fake_create_adapter(provider, model=None):
|
||||
calls.append((provider, model))
|
||||
return Adapter()
|
||||
|
||||
monkeypatch.setattr(app_module, "create_llm_connect_adapter", fake_create_adapter)
|
||||
service = get_service(
|
||||
Settings(
|
||||
database_path=str(tmp_path / "llm-settings.sqlite3"),
|
||||
checkout_root=str(tmp_path / "checkouts"),
|
||||
llm_provider="mock",
|
||||
llm_model="demo-model",
|
||||
)
|
||||
)
|
||||
|
||||
assert calls == [("mock", "demo-model")]
|
||||
assert service.llm_extractor is not None
|
||||
|
||||
|
||||
def test_api_analysis_run_loop(tmp_path):
|
||||
source = tmp_path / "repo"
|
||||
source.mkdir()
|
||||
|
||||
Reference in New Issue
Block a user