Files
2026-07-13 13:12:33 +08:00

49 lines
1.3 KiB
Python

"""Tests for onboarding memory embedding provider catalog."""
from __future__ import annotations
import pytest
from opensquilla.onboarding.memory_embedding_specs import (
get_memory_embedding_provider_setup_spec,
memory_embedding_provider_catalog_payload,
)
def test_memory_embedding_catalog_covers_all_setup_providers():
payload = memory_embedding_provider_catalog_payload()
provider_ids = {row["providerId"] for row in payload}
assert {
"auto",
"local",
"openai",
"openai-compatible",
"ollama",
"none",
} <= provider_ids
def test_memory_embedding_payload_exposes_readiness_metadata():
payload = memory_embedding_provider_catalog_payload()
for row in payload:
assert row["blocking"] is False
assert row["canProbe"] is False
assert row["deployment"] in {"auto", "local", "cloud", "custom", "disabled"}
assert row["whatYouNeed"]
assert row["readmeScenarios"]
def test_memory_embedding_remote_requires_key():
spec = get_memory_embedding_provider_setup_spec("openai")
assert spec.requires_api_key is True
assert spec.deployment == "cloud"
assert spec.env_key == "OPENAI_API_KEY"
def test_unknown_memory_embedding_provider_raises():
with pytest.raises(KeyError):
get_memory_embedding_provider_setup_spec("does-not-exist")