Files
SaaS-PDF/backend/tests/test_pdf_ai_service.py

25 lines
745 B
Python

"""Service-level tests for PDF AI helpers."""
import pytest
from app.services.pdf_ai_service import PdfAiError, _extract_text_from_pdf
def test_extract_text_from_pdf_rejects_password_protected_documents(monkeypatch):
"""Password-protected PDFs should surface a specific actionable error."""
class FakeReader:
def __init__(self, input_path):
self.is_encrypted = True
self.pages = []
def decrypt(self, password):
return 0
monkeypatch.setattr("PyPDF2.PdfReader", FakeReader)
with pytest.raises(PdfAiError) as exc:
_extract_text_from_pdf("/tmp/protected.pdf")
assert exc.value.error_code == "PDF_ENCRYPTED"
assert "unlock" in exc.value.user_message.lower()