Ensure live provider checks reach the provider
Some checks failed
verify / verify (push) Has been cancelled
Some checks failed
verify / verify (push) Has been cancelled
Accept Docker Compose's exact string representation of the fixed 1024-dimensional embedding contract while rejecting every widened or ambiguous value. Entry-level smoke tests now exercise the same environment shape used by the container. Constraint: The current local Bailian credential still returns 401 for all three capabilities and is not stored in Git. Rejected: Change the field to an unconstrained integer | would allow a runtime dimension that disagrees with vector(1024). Confidence: high Scope-risk: narrow Directive: Keep the database vector dimension and provider dimension locked together through an ADR-backed migration. Tested: make verify; 75 backend tests; 14 frontend tests; rebuilt provider-smoke image; normal Compose smoke reached all three provider endpoints. Not-tested: Successful live provider response remains blocked by external authentication.
This commit is contained in:
@@ -46,6 +46,32 @@ def test_base_urls_drop_trailing_slashes() -> None:
|
||||
assert settings.bailian_rerank_base_url.endswith("/v1")
|
||||
|
||||
|
||||
def test_embedding_dimension_accepts_compose_string(monkeypatch: pytest.MonkeyPatch) -> None:
|
||||
monkeypatch.setenv("EMBEDDING_DIMENSION", "1024")
|
||||
|
||||
settings = Settings(_env_file=None)
|
||||
|
||||
assert settings.embedding_dimension == 1024
|
||||
assert isinstance(settings.embedding_dimension, int)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("configured", ["1536", "1024.0", "01024", " 1024 "])
|
||||
def test_embedding_dimension_rejects_any_other_environment_value(
|
||||
monkeypatch: pytest.MonkeyPatch,
|
||||
configured: str,
|
||||
) -> None:
|
||||
monkeypatch.setenv("EMBEDDING_DIMENSION", configured)
|
||||
|
||||
with pytest.raises(ValueError, match="EMBEDDING_DIMENSION must be exactly 1024"):
|
||||
Settings(_env_file=None)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("configured", [1024.0, True, None])
|
||||
def test_embedding_dimension_rejects_non_integer_programmatic_values(configured: object) -> None:
|
||||
with pytest.raises(ValueError, match="EMBEDDING_DIMENSION must be exactly 1024"):
|
||||
Settings.model_validate({"embedding_dimension": configured})
|
||||
|
||||
|
||||
def test_live_endpoints_must_share_one_beijing_workspace(tmp_path: Path) -> None:
|
||||
key_path = tmp_path / "key"
|
||||
key_path.write_text("test-key-value", encoding="utf-8")
|
||||
|
||||
Reference in New Issue
Block a user