Skip to content

Commit 582d735

Browse files
committed
chore: Update tests according skills
1 parent bcdaacd commit 582d735

37 files changed

Lines changed: 168 additions & 174 deletions

tests/embeddings/test_factory.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ def reset_factory(monkeypatch):
3434
monkeypatch.setattr(factory_module, "_provider", None)
3535

3636

37-
def test_register_adds_to_registry():
37+
def test_register_adds_to_registry() -> None:
3838
register("stub", _StubProvider)
3939
assert "stub" in factory_module._registry
4040
assert factory_module._registry["stub"] is _StubProvider
4141

4242

43-
def test_get_embedding_provider_instantiates_registered_class(monkeypatch):
43+
def test_get_embedding_provider_instantiates_registered_class(monkeypatch) -> None:
4444
register("stub", _StubProvider)
4545
monkeypatch.setattr(
4646
"server.embeddings.factory.settings.embeddings_provider", "stub"
@@ -51,7 +51,7 @@ def test_get_embedding_provider_instantiates_registered_class(monkeypatch):
5151
assert isinstance(provider, _StubProvider)
5252

5353

54-
def test_get_embedding_provider_returns_singleton(monkeypatch):
54+
def test_get_embedding_provider_returns_singleton(monkeypatch) -> None:
5555
register("stub", _StubProvider)
5656
monkeypatch.setattr(
5757
"server.embeddings.factory.settings.embeddings_provider", "stub"
@@ -60,7 +60,7 @@ def test_get_embedding_provider_returns_singleton(monkeypatch):
6060
assert get_embedding_provider() is get_embedding_provider()
6161

6262

63-
def test_get_embedding_provider_raises_for_unknown_name(monkeypatch):
63+
def test_get_embedding_provider_raises_for_unknown_name(monkeypatch) -> None:
6464
register("stub", _StubProvider)
6565
monkeypatch.setattr(
6666
"server.embeddings.factory.settings.embeddings_provider", "unknown"
@@ -70,7 +70,7 @@ def test_get_embedding_provider_raises_for_unknown_name(monkeypatch):
7070
get_embedding_provider()
7171

7272

73-
def test_error_message_lists_registered_providers(monkeypatch):
73+
def test_error_message_lists_registered_providers(monkeypatch) -> None:
7474
register("alpha", _StubProvider)
7575
register("beta", _StubProvider)
7676
monkeypatch.setattr(
@@ -81,7 +81,7 @@ def test_error_message_lists_registered_providers(monkeypatch):
8181
get_embedding_provider()
8282

8383

84-
async def test_close_embedding_provider_calls_close_on_provider(monkeypatch):
84+
async def test_close_embedding_provider_calls_close_on_provider(monkeypatch) -> None:
8585
provider = _StubProviderWithClose()
8686
monkeypatch.setattr(factory_module, "_provider", provider)
8787

@@ -91,11 +91,11 @@ async def test_close_embedding_provider_calls_close_on_provider(monkeypatch):
9191
assert factory_module._provider is None
9292

9393

94-
async def test_close_embedding_provider_is_noop_when_none():
94+
async def test_close_embedding_provider_is_noop_when_none() -> None:
9595
await close_embedding_provider()
9696

9797

98-
async def test_close_embedding_provider_skips_close_if_not_defined(monkeypatch):
98+
async def test_close_embedding_provider_skips_close_if_not_defined(monkeypatch) -> None:
9999
monkeypatch.setattr(factory_module, "_provider", _StubProvider())
100100

101101
await close_embedding_provider()

tests/embeddings/test_jina.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ async def provider(jina_settings):
2222

2323

2424
@respx.mock
25-
async def test_embed_batch_posts_to_embed_endpoint(provider):
25+
async def test_embed_batch_posts_to_embed_endpoint(provider) -> None:
2626
route = respx.post("http://tei-test:80/embed").mock(
2727
return_value=httpx.Response(200, json=[[0.1] * 768, [0.2] * 768])
2828
)
@@ -38,7 +38,7 @@ async def test_embed_batch_posts_to_embed_endpoint(provider):
3838

3939

4040
@respx.mock
41-
async def test_embed_batch_chunks_at_32(provider):
41+
async def test_embed_batch_chunks_at_32(provider) -> None:
4242
route = respx.post("http://tei-test:80/embed").mock(
4343
side_effect=lambda req: httpx.Response(
4444
200,
@@ -53,7 +53,7 @@ async def test_embed_batch_chunks_at_32(provider):
5353

5454

5555
@respx.mock
56-
async def test_embed_batch_supports_openai_style_response(provider):
56+
async def test_embed_batch_supports_openai_style_response(provider) -> None:
5757
respx.post("http://tei-test:80/embed").mock(
5858
return_value=httpx.Response(200, json={"data": [{"embedding": [0.5] * 768}]})
5959
)
@@ -62,7 +62,7 @@ async def test_embed_batch_supports_openai_style_response(provider):
6262

6363

6464
@respx.mock
65-
async def test_embed_query_returns_single_vector(provider):
65+
async def test_embed_query_returns_single_vector(provider) -> None:
6666
respx.post("http://tei-test:80/embed").mock(
6767
return_value=httpx.Response(200, json=[[0.3] * 768])
6868
)
@@ -71,11 +71,11 @@ async def test_embed_query_returns_single_vector(provider):
7171
assert vec[0] == 0.3
7272

7373

74-
async def test_embed_batch_empty_returns_empty(provider):
74+
async def test_embed_batch_empty_returns_empty(provider) -> None:
7575
assert await provider.embed_batch([]) == []
7676

7777

78-
def test_dimensions_reads_from_settings(jina_settings, monkeypatch):
78+
def test_dimensions_reads_from_settings(jina_settings, monkeypatch) -> None:
7979
monkeypatch.setattr(settings, "jina_dimensions", 1024)
8080
p = JinaEmbeddingProvider()
8181
assert p.dimensions == 1024

tests/embeddings/test_jina_api.py

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,26 +29,26 @@ def _vectors_response(inputs: list[str], dim: int = 768) -> dict:
2929
return {"data": [{"embedding": [0.1] * dim} for _ in inputs]}
3030

3131

32-
def test_missing_api_key_raises(monkeypatch):
32+
def test_missing_api_key_raises(monkeypatch) -> None:
3333
monkeypatch.setattr(settings, "jina_api_key", "")
3434
with pytest.raises(RuntimeError, match="JINA_API_KEY"):
3535
JinaApiEmbeddingProvider()
3636

3737

38-
def test_unknown_model_without_dimensions_raises(monkeypatch):
38+
def test_unknown_model_without_dimensions_raises(monkeypatch) -> None:
3939
monkeypatch.setattr(settings, "jina_api_key", "k")
4040
monkeypatch.setattr(settings, "jina_api_model", "jina-future-99")
4141
monkeypatch.setattr(settings, "jina_api_dimensions", None)
4242
with pytest.raises(RuntimeError, match="JINA_API_DIMENSIONS"):
4343
JinaApiEmbeddingProvider()
4444

4545

46-
def test_dimensions_native(jina_api_settings):
46+
def test_dimensions_native(jina_api_settings) -> None:
4747
p = JinaApiEmbeddingProvider()
4848
assert p.dimensions == 768 # jina-embeddings-v2-base-code native
4949

5050

51-
def test_dimensions_override(monkeypatch):
51+
def test_dimensions_override(monkeypatch) -> None:
5252
monkeypatch.setattr(settings, "jina_api_key", "k")
5353
monkeypatch.setattr(settings, "jina_api_model", "jina-code-embeddings-1.5b")
5454
monkeypatch.setattr(settings, "jina_api_dimensions", 512)
@@ -57,7 +57,7 @@ def test_dimensions_override(monkeypatch):
5757

5858

5959
@respx.mock
60-
async def test_embed_batch_omits_task_for_v2_model(provider):
60+
async def test_embed_batch_omits_task_for_v2_model(provider) -> None:
6161
route = respx.post("https://api.jina.ai/v1/embeddings").mock(
6262
return_value=httpx.Response(200, json=_vectors_response(["a", "b"]))
6363
)
@@ -71,7 +71,7 @@ async def test_embed_batch_omits_task_for_v2_model(provider):
7171

7272

7373
@respx.mock
74-
async def test_embed_query_omits_task_for_v2_model(provider):
74+
async def test_embed_query_omits_task_for_v2_model(provider) -> None:
7575
route = respx.post("https://api.jina.ai/v1/embeddings").mock(
7676
return_value=httpx.Response(200, json=_vectors_response(["q"]))
7777
)
@@ -82,7 +82,7 @@ async def test_embed_query_omits_task_for_v2_model(provider):
8282

8383

8484
@respx.mock
85-
async def test_embed_batch_sends_task_for_code_embeddings_model(monkeypatch):
85+
async def test_embed_batch_sends_task_for_code_embeddings_model(monkeypatch) -> None:
8686
monkeypatch.setattr(settings, "jina_api_key", "test-key")
8787
monkeypatch.setattr(settings, "jina_api_model", "jina-code-embeddings-1.5b")
8888
monkeypatch.setattr(settings, "jina_api_dimensions", None)
@@ -99,7 +99,7 @@ async def test_embed_batch_sends_task_for_code_embeddings_model(monkeypatch):
9999

100100

101101
@respx.mock
102-
async def test_embed_query_sends_task_for_code_embeddings_model(monkeypatch):
102+
async def test_embed_query_sends_task_for_code_embeddings_model(monkeypatch) -> None:
103103
monkeypatch.setattr(settings, "jina_api_key", "test-key")
104104
monkeypatch.setattr(settings, "jina_api_model", "jina-code-embeddings-1.5b")
105105
monkeypatch.setattr(settings, "jina_api_dimensions", None)
@@ -116,7 +116,7 @@ async def test_embed_query_sends_task_for_code_embeddings_model(monkeypatch):
116116

117117

118118
@respx.mock
119-
async def test_embed_batch_chunks_at_128(provider):
119+
async def test_embed_batch_chunks_at_128(provider) -> None:
120120
route = respx.post("https://api.jina.ai/v1/embeddings").mock(
121121
side_effect=lambda req: httpx.Response(
122122
200,
@@ -131,7 +131,7 @@ async def test_embed_batch_chunks_at_128(provider):
131131

132132

133133
@respx.mock
134-
async def test_authorization_header_set(provider):
134+
async def test_authorization_header_set(provider) -> None:
135135
route = respx.post("https://api.jina.ai/v1/embeddings").mock(
136136
return_value=httpx.Response(200, json=_vectors_response(["a"]))
137137
)
@@ -141,7 +141,7 @@ async def test_authorization_header_set(provider):
141141

142142

143143
@respx.mock
144-
async def test_embed_batch_passes_dimensions_when_overridden(monkeypatch):
144+
async def test_embed_batch_passes_dimensions_when_overridden(monkeypatch) -> None:
145145
monkeypatch.setattr(settings, "jina_api_key", "test-key")
146146
monkeypatch.setattr(settings, "jina_api_model", "jina-code-embeddings-1.5b")
147147
monkeypatch.setattr(settings, "jina_api_dimensions", 256)
@@ -158,22 +158,22 @@ async def test_embed_batch_passes_dimensions_when_overridden(monkeypatch):
158158
assert body["dimensions"] == 256
159159

160160

161-
async def test_embed_batch_empty(provider):
161+
async def test_embed_batch_empty(provider) -> None:
162162
assert await provider.embed_batch([]) == []
163163

164164

165-
async def test_embed_batch_raises_on_empty_string(provider):
165+
async def test_embed_batch_raises_on_empty_string(provider) -> None:
166166
with pytest.raises(ValueError, match="empty/whitespace"):
167167
await provider.embed_batch([""])
168168

169169

170-
async def test_embed_batch_raises_on_whitespace_only(provider):
170+
async def test_embed_batch_raises_on_whitespace_only(provider) -> None:
171171
with pytest.raises(ValueError, match="empty/whitespace"):
172172
await provider.embed_batch([" \n\t "])
173173

174174

175175
@respx.mock
176-
async def test_rate_limit_backoff_delays(provider, monkeypatch):
176+
async def test_rate_limit_backoff_delays(provider, monkeypatch) -> None:
177177
sleep_calls: list[float] = []
178178

179179
async def fake_sleep(seconds: float) -> None:
@@ -193,7 +193,7 @@ async def fake_sleep(seconds: float) -> None:
193193

194194

195195
@respx.mock
196-
async def test_rate_limit_honors_retry_after_header(provider, monkeypatch):
196+
async def test_rate_limit_honors_retry_after_header(provider, monkeypatch) -> None:
197197
sleep_calls: list[float] = []
198198

199199
async def fake_sleep(seconds: float) -> None:
@@ -211,7 +211,7 @@ async def fake_sleep(seconds: float) -> None:
211211

212212

213213
@respx.mock
214-
async def test_rate_limit_all_retries_exhausted_raises(provider, monkeypatch):
214+
async def test_rate_limit_all_retries_exhausted_raises(provider, monkeypatch) -> None:
215215
sleep_calls: list[float] = []
216216

217217
async def fake_sleep(seconds: float) -> None:
@@ -227,7 +227,7 @@ async def fake_sleep(seconds: float) -> None:
227227

228228

229229
@respx.mock
230-
async def test_response_length_mismatch_raises(provider):
230+
async def test_response_length_mismatch_raises(provider) -> None:
231231
# Server returns fewer vectors than inputs — should raise ValueError
232232
respx.post("https://api.jina.ai/v1/embeddings").mock(
233233
return_value=httpx.Response(200, json=_vectors_response(["only-one"]))

tests/embeddings/test_ollama.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,20 @@ def _vectors_response(inputs: list[str], dim: int = 768) -> dict:
2828
return {"embeddings": [[0.0] * dim for _ in inputs]}
2929

3030

31-
def test_unknown_model_without_dimensions_raises(monkeypatch):
31+
def test_unknown_model_without_dimensions_raises(monkeypatch) -> None:
3232
monkeypatch.setattr(settings, "ollama_url", "http://ollama-test:11434")
3333
monkeypatch.setattr(settings, "ollama_model", "totally-custom-embed")
3434
monkeypatch.setattr(settings, "ollama_dimensions", None)
3535
with pytest.raises(RuntimeError, match="OLLAMA_DIMENSIONS"):
3636
OllamaEmbeddingProvider()
3737

3838

39-
def test_dimensions_native(ollama_settings):
39+
def test_dimensions_native(ollama_settings) -> None:
4040
p = OllamaEmbeddingProvider()
4141
assert p.dimensions == 768
4242

4343

44-
def test_dimensions_override(monkeypatch):
44+
def test_dimensions_override(monkeypatch) -> None:
4545
monkeypatch.setattr(settings, "ollama_url", "http://ollama-test:11434")
4646
monkeypatch.setattr(settings, "ollama_model", "custom-embed")
4747
monkeypatch.setattr(settings, "ollama_dimensions", 512)
@@ -50,7 +50,7 @@ def test_dimensions_override(monkeypatch):
5050

5151

5252
@respx.mock
53-
async def test_embed_batch_request_shape(provider):
53+
async def test_embed_batch_request_shape(provider) -> None:
5454
route = respx.post("http://ollama-test:11434/api/embed").mock(
5555
return_value=httpx.Response(200, json=_vectors_response(["a", "b"]))
5656
)
@@ -60,7 +60,7 @@ async def test_embed_batch_request_shape(provider):
6060

6161

6262
@respx.mock
63-
async def test_embed_batch_chunks_at_32(provider):
63+
async def test_embed_batch_chunks_at_32(provider) -> None:
6464
route = respx.post("http://ollama-test:11434/api/embed").mock(
6565
side_effect=lambda req: httpx.Response(
6666
200,
@@ -75,13 +75,13 @@ async def test_embed_batch_chunks_at_32(provider):
7575

7676

7777
@respx.mock
78-
async def test_embed_query_returns_single_vector(provider):
78+
async def test_embed_query_returns_single_vector(provider) -> None:
7979
respx.post("http://ollama-test:11434/api/embed").mock(
8080
return_value=httpx.Response(200, json=_vectors_response(["q"]))
8181
)
8282
vec = await provider.embed_query("q")
8383
assert len(vec) == 768
8484

8585

86-
async def test_embed_batch_empty(provider):
86+
async def test_embed_batch_empty(provider) -> None:
8787
assert await provider.embed_batch([]) == []

0 commit comments

Comments
 (0)