Spaces:
Configuration error
Configuration error
| import json | |
| import random | |
| import time | |
| import httpx | |
| import pytest | |
| import pytest_asyncio | |
| async def async_client(): | |
| async with httpx.AsyncClient(timeout=60.0) as client: | |
| yield client | |
| async def test_convert_url(async_client): | |
| """Test convert URL to all outputs""" | |
| example_docs = [ | |
| "https://arxiv.org/pdf/2411.19710", | |
| "https://arxiv.org/pdf/2501.17887", | |
| "https://www.nature.com/articles/s41467-024-50779-y.pdf", | |
| "https://arxiv.org/pdf/2306.12802", | |
| "https://arxiv.org/pdf/2311.18481", | |
| ] | |
| base_url = "http://localhost:5001/v1alpha" | |
| payload = { | |
| "options": { | |
| "to_formats": ["md", "json"], | |
| "image_export_mode": "placeholder", | |
| "ocr": True, | |
| "abort_on_error": False, | |
| "return_as_file": False, | |
| }, | |
| "http_sources": [{"url": random.choice(example_docs)}], | |
| } | |
| print(json.dumps(payload, indent=2)) | |
| for n in range(5): | |
| response = await async_client.post( | |
| f"{base_url}/convert/source/async", json=payload | |
| ) | |
| assert response.status_code == 200, "Response should be 200 OK" | |
| task = response.json() | |
| print(json.dumps(task, indent=2)) | |
| while task["task_status"] not in ("success", "failure"): | |
| response = await async_client.get(f"{base_url}/status/poll/{task['task_id']}") | |
| assert response.status_code == 200, "Response should be 200 OK" | |
| task = response.json() | |
| print(f"{task['task_status']=}") | |
| print(f"{task['task_position']=}") | |
| time.sleep(2) | |
| assert task["task_status"] == "success" | |