fix: tighten internal semantic compose contracts
This commit is contained in:
@@ -8,15 +8,37 @@ def test_local_compose_uses_the_generic_external_endpoint_contract():
|
||||
compose = yaml.safe_load((root / "compose.yaml").read_text())
|
||||
local = yaml.safe_load((root / "deploy/compose.local.yaml").read_text())
|
||||
|
||||
assert set(compose["services"]) == {"core", "frontend"}
|
||||
assert set(compose["services"]) == {"core", "frontend", "qdrant", "embedding", "embedding-model-init"}
|
||||
assert local["services"]["core"]["environment"]["AUTH_MODE"] == "none"
|
||||
assert local["services"]["core"]["ports"] == ["127.0.0.1:${THOTH_CORE_HTTP_PORT:-8787}:8787"]
|
||||
assert local["services"]["frontend"]["ports"] == ["127.0.0.1:${THOTH_HTTP_PORT:-8080}:8080"]
|
||||
|
||||
environment = compose["services"]["core"]["environment"]
|
||||
for name in ("THT_DWH_REST_URL", "THT_VEC_REST_URL", "THT_OLLAMA_URL", "THT_LLM_URL"):
|
||||
for name in ("THT_DWH_REST_URL", "THT_LLM_URL"):
|
||||
assert name in environment
|
||||
assert {"settings", "pi-state", "workspace-registry", "sessions"} <= set(compose["volumes"])
|
||||
assert environment["THT_INTERNAL_QDRANT_URL"] == "http://qdrant:6333"
|
||||
assert environment["THT_INTERNAL_EMBEDDING_URL"] == "http://embedding:11434"
|
||||
assert environment["THT_INTERNAL_EMBEDDING_MODEL"] == "qwen3-embedding:0.6b"
|
||||
assert environment["THT_INTERNAL_EMBEDDING_DIMENSIONS"] == "1024"
|
||||
for name in ("THT_VEC_REST_URL", "THT_VEC_WRITE_REST_URL", "THT_OLLAMA_URL"):
|
||||
assert name not in environment
|
||||
|
||||
assert {"settings", "pi-state", "workspace-registry", "sessions", "qdrant-data", "embedding-models"} <= set(compose["volumes"])
|
||||
|
||||
qdrant = compose["services"]["qdrant"]
|
||||
assert qdrant["expose"] == ["6333"]
|
||||
assert "ports" not in qdrant
|
||||
assert "healthcheck" in qdrant
|
||||
|
||||
embedding = compose["services"]["embedding"]
|
||||
assert embedding["expose"] == ["11434"]
|
||||
assert "ports" not in embedding
|
||||
assert "healthcheck" in embedding
|
||||
|
||||
model_init = compose["services"]["embedding-model-init"]
|
||||
assert "ports" not in model_init
|
||||
assert model_init["depends_on"]["embedding"]["condition"] == "service_healthy"
|
||||
assert compose["services"]["core"]["depends_on"]["embedding-model-init"]["condition"] == "service_completed_successfully"
|
||||
|
||||
|
||||
def test_core_image_prepares_the_writable_pi_profile_before_mounting_config_files():
|
||||
|
||||
Reference in New Issue
Block a user