Spaces:
Runtime error
Runtime error
| import pytest | |
| from fastapi.testclient import TestClient | |
| from everycure.app import app | |
| import os | |
| import tempfile | |
| client = TestClient(app) | |
| def create_test_pdf(): | |
| # Create a temporary PDF file for testing | |
| with tempfile.NamedTemporaryFile(suffix=".pdf", delete=False) as tmp: | |
| tmp.write(b"%PDF-1.5\nTest PDF content") | |
| return tmp.name | |
| def test_pdf(): | |
| pdf_path = create_test_pdf() | |
| yield pdf_path | |
| # Cleanup after test | |
| os.unlink(pdf_path) | |
| def test_extract_entities_invalid_file(): | |
| # Test with non-PDF file | |
| with tempfile.NamedTemporaryFile(suffix=".txt") as tmp: | |
| tmp.write(b"Not a PDF file") | |
| tmp.seek(0) | |
| response = client.post( | |
| "/extract", | |
| files={"file": ("test.txt", tmp, "text/plain")} | |
| ) | |
| assert response.status_code == 400 | |
| assert "Invalid file type" in response.json()["detail"] | |
| def test_extract_entities_empty_file(test_pdf): | |
| with open(test_pdf, "rb") as f: | |
| response = client.post( | |
| "/extract", | |
| files={} # No file provided | |
| ) | |
| assert response.status_code == 422 # FastAPI's validation error | |