Initial curated RAGcore source from c16667f0c9397e2bfc8dd0255b114fba23c8d05e

This commit is contained in:
Public Source Publisher committed 2026-10-01 01:34:21 +02:00
commit 7ca726caf2
659 files changed
+98171

No files matched your search

+62
View File
@@ -0,0 +1,62 @@
from __future__ import annotations
from collections.abc import Iterator
from contextlib import contextmanager
from uuid import uuid4
import pytest
from ragcore_sdk import RAGCoreAPIError, RAGCoreClient
from conftest import build_search_app, run_app
@contextmanager
def _client(app: object, *, token: str = "sdk-test-token") -> Iterator[RAGCoreClient]: # noqa: S107
with run_app(app) as base_url, RAGCoreClient(base_url=base_url, token=token) as client: # type: ignore[arg-type]
yield client
def test_search_returns_typed_results() -> None:
fixture = build_search_app()
with _client(fixture.app) as client:
response = client.search(query="refund", requested_space_ids=[fixture.space_id])
assert response.effective_space_ids == [fixture.space_id]
assert response.results[0].citation.excerpt_sha256
assert response.results[0].rank == 1
assert response.degraded is False
def test_search_out_of_scope_space_narrows_silently_to_empty() -> None:
fixture = build_search_app()
forbidden_space = uuid4()
with _client(fixture.app) as client:
response = client.search(query="refund", requested_space_ids=[forbidden_space])
assert response.effective_space_ids == []
assert response.results == []
def test_search_validation_error_raises_typed_problem() -> None:
fixture = build_search_app()
with _client(fixture.app) as client, pytest.raises(RAGCoreAPIError) as excinfo:
client.search(query=" ")
problem = excinfo.value.problem
assert problem.status == 422
assert problem.code == "VALIDATION_ERROR"
assert problem.trace_id
assert problem.errors
def test_bearer_token_never_appears_in_client_repr_or_error_message() -> None:
fixture = build_search_app()
secret_token = "super-secret-bearer-value-should-never-leak"
with _client(fixture.app, token=secret_token) as client:
assert secret_token not in repr(client)
with pytest.raises(RAGCoreAPIError) as excinfo:
client.search(query=" ")
assert secret_token not in str(excinfo.value)
problem = excinfo.value.problem
for field in problem.__slots__:
assert secret_token not in repr(getattr(problem, field))