|
2 | 2 | # |
3 | 3 | # SPDX-License-Identifier: Apache-2.0 |
4 | 4 | import json |
| 5 | +import os |
5 | 6 | from unittest.mock import patch |
6 | 7 |
|
7 | 8 | import pytest |
@@ -311,3 +312,27 @@ def test_run_with_v3(self): |
311 | 312 | assert len(doc.embedding) == 3 |
312 | 313 | assert all(isinstance(x, float) for x in doc.embedding) |
313 | 314 | assert metadata == {"model": model, "usage": {"prompt_tokens": 2 * 4, "total_tokens": 2 * 4}} |
| 315 | + |
| 316 | + @pytest.mark.skipif(not os.environ.get("JINA_API_KEY", None), reason="JINA_API_KEY env var not set") |
| 317 | + @pytest.mark.integration |
| 318 | + def test_run_integration(self): |
| 319 | + embedder = JinaDocumentEmbedder(model="jina-embeddings-v3", task="retrieval.passage") |
| 320 | + docs = [ |
| 321 | + Document(content="Paris is the capital of France."), |
| 322 | + Document(content="Berlin is the capital of Germany."), |
| 323 | + ] |
| 324 | + |
| 325 | + result = embedder.run(documents=docs) |
| 326 | + |
| 327 | + assert "documents" in result |
| 328 | + assert len(result["documents"]) == 2 |
| 329 | + for doc in result["documents"]: |
| 330 | + assert isinstance(doc, Document) |
| 331 | + assert isinstance(doc.embedding, list) |
| 332 | + assert len(doc.embedding) > 0 |
| 333 | + assert all(isinstance(x, (int, float)) for x in doc.embedding) |
| 334 | + |
| 335 | + assert "meta" in result |
| 336 | + assert isinstance(result["meta"], dict) |
| 337 | + assert "model" in result["meta"] |
| 338 | + assert "usage" in result["meta"] |
0 commit comments