Skip to content

Commit d1427be

Browse files
authored
Merge pull request lightspeed-core#661 from tisnik/lcore-814-fixed-issues-found-by-pyright
LCORE-814: fixed issues found by Pyright
2 parents 8cea1a0 + afcb1b9 commit d1427be

1 file changed

Lines changed: 52 additions & 5 deletions

File tree

tests/unit/utils/test_endpoints.py

Lines changed: 52 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import constants
99
from configuration import AppConfig
1010
from models.config import CustomProfile
11+
from models.responses import ReferencedDocument
1112
from models.requests import QueryRequest
1213
from models.config import Action
1314
from utils import endpoints
@@ -111,13 +112,17 @@ def config_with_custom_profile_prompt_and_disable_query_system_prompt_fixture():
111112
@pytest.fixture(name="query_request_without_system_prompt")
112113
def query_request_without_system_prompt_fixture():
113114
"""Fixture for query request without system prompt."""
114-
return QueryRequest(query="query", system_prompt=None)
115+
return QueryRequest(
116+
query="query", system_prompt=None
117+
) # pyright: ignore[reportCallIssue]
115118

116119

117120
@pytest.fixture(name="query_request_with_system_prompt")
118121
def query_request_with_system_prompt_fixture():
119122
"""Fixture for query request with system prompt."""
120-
return QueryRequest(query="query", system_prompt="System prompt defined in query")
123+
return QueryRequest(
124+
query="query", system_prompt="System prompt defined in query"
125+
) # pyright: ignore[reportCallIssue]
121126

122127

123128
@pytest.fixture(name="setup_configuration")
@@ -762,14 +767,18 @@ async def test_get_temp_agent_no_persistence(prepare_agent_mocks, mocker):
762767

763768
def test_validate_model_provider_override_allowed_with_action():
764769
"""Ensure no exception when caller has MODEL_OVERRIDE and request includes model/provider."""
765-
query_request = QueryRequest(query="q", model="m", provider="p")
770+
query_request = QueryRequest(
771+
query="q", model="m", provider="p"
772+
) # pyright: ignore[reportCallIssue]
766773
authorized_actions = {Action.MODEL_OVERRIDE}
767774
endpoints.validate_model_provider_override(query_request, authorized_actions)
768775

769776

770777
def test_validate_model_provider_override_rejected_without_action():
771778
"""Ensure HTTP 403 when request includes model/provider and caller lacks permission."""
772-
query_request = QueryRequest(query="q", model="m", provider="p")
779+
query_request = QueryRequest(
780+
query="q", model="m", provider="p"
781+
) # pyright: ignore[reportCallIssue]
773782
authorized_actions: set[Action] = set()
774783
with pytest.raises(HTTPException) as exc_info:
775784
endpoints.validate_model_provider_override(query_request, authorized_actions)
@@ -778,7 +787,7 @@ def test_validate_model_provider_override_rejected_without_action():
778787

779788
def test_validate_model_provider_override_no_override_without_action():
780789
"""No exception when request does not include model/provider regardless of permission."""
781-
query_request = QueryRequest(query="q")
790+
query_request = QueryRequest(query="q") # pyright:ignore[reportCallIssue]
782791
endpoints.validate_model_provider_override(query_request, set())
783792

784793

@@ -861,7 +870,14 @@ def test_create_referenced_documents_http_urls_referenced_document_format(self):
861870

862871
result = endpoints.create_referenced_documents([mock_chunk1, mock_chunk2])
863872

873+
# two referenced documents are expected
864874
assert len(result) == 2
875+
# results must exist
876+
assert result[0] is not None
877+
assert result[1] is not None
878+
# results must be of the right type
879+
assert isinstance(result[0], ReferencedDocument)
880+
assert isinstance(result[1], ReferencedDocument)
865881
assert result[0].doc_url == AnyUrl("https://example.com/doc1")
866882
assert result[0].doc_title == "doc1"
867883
assert result[1].doc_url == AnyUrl("https://example.com/doc2")
@@ -882,7 +898,14 @@ def test_create_referenced_documents_document_ids_with_metadata(self):
882898
[mock_chunk1, mock_chunk2], metadata_map
883899
)
884900

901+
# two referenced documents are expected
885902
assert len(result) == 2
903+
# results must exist
904+
assert result[0] is not None
905+
assert result[1] is not None
906+
# results must be of the right type
907+
assert isinstance(result[0], ReferencedDocument)
908+
assert isinstance(result[1], ReferencedDocument)
886909
assert result[0].doc_url == AnyUrl("https://example.com/doc1")
887910
assert result[0].doc_title == "Document 1"
888911
assert result[1].doc_url == AnyUrl("https://example.com/doc2")
@@ -896,7 +919,12 @@ def test_create_referenced_documents_skips_tool_names(self):
896919

897920
result = endpoints.create_referenced_documents([mock_chunk1, mock_chunk2])
898921

922+
# one referenced document is expected
899923
assert len(result) == 1
924+
# result must exist
925+
assert result[0] is not None
926+
# result must be of the right type
927+
assert isinstance(result[0], ReferencedDocument)
900928
assert result[0].doc_url == AnyUrl("https://example.com/doc1")
901929
assert result[0].doc_title == "doc1"
902930

@@ -911,7 +939,12 @@ def test_create_referenced_documents_skips_empty_sources(self):
911939
[mock_chunk1, mock_chunk2, mock_chunk3]
912940
)
913941

942+
# one referenced document is expected
914943
assert len(result) == 1
944+
# result must exist
945+
assert result[0] is not None
946+
# result must be of the right type
947+
assert isinstance(result[0], ReferencedDocument)
915948
assert result[0].doc_url == AnyUrl("https://example.com/doc1")
916949
assert result[0].doc_title == "doc1"
917950

@@ -929,7 +962,14 @@ def test_create_referenced_documents_deduplication(self):
929962
[mock_chunk1, mock_chunk2, mock_chunk3, mock_chunk4]
930963
)
931964

965+
# two referenced documents are expected
932966
assert len(result) == 2
967+
# results must exist
968+
assert result[0] is not None
969+
assert result[1] is not None
970+
# results must be of the right type
971+
assert isinstance(result[0], ReferencedDocument)
972+
assert isinstance(result[1], ReferencedDocument)
933973
assert result[0].doc_url == AnyUrl("https://example.com/doc1")
934974
assert result[1].doc_title == "doc_id_1"
935975

@@ -941,7 +981,14 @@ def test_create_referenced_documents_invalid_urls(self):
941981

942982
result = endpoints.create_referenced_documents([mock_chunk1, mock_chunk2])
943983

984+
# two referenced documents are expected
944985
assert len(result) == 2
986+
# results must exist
987+
assert result[0] is not None
988+
assert result[1] is not None
989+
# results must be of the right type
990+
assert isinstance(result[0], ReferencedDocument)
991+
assert isinstance(result[1], ReferencedDocument)
945992
assert result[0].doc_url is None
946993
assert result[0].doc_title == "not-a-valid-url"
947994
assert result[1].doc_url == AnyUrl("https://example.com/doc1")

0 commit comments

Comments
 (0)