fix(test): remove mock_task from embed_metadata_into_pdf.__wrapped__() calls
__wrapped__ is a bound method where self is already the task instance, so passing mock_task shifted all positional args causing TypeError. Replace with direct assignment to embed_metadata_into_pdf.request.id. Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
@@ -125,9 +125,7 @@ class TestEmbedMetadataIntoPdf:
|
|||||||
with patch("app.tasks.embed_metadata_into_pdf.settings") as mock_settings:
|
with patch("app.tasks.embed_metadata_into_pdf.settings") as mock_settings:
|
||||||
mock_settings.workdir = "/workdir"
|
mock_settings.workdir = "/workdir"
|
||||||
|
|
||||||
# Mock task context
|
embed_metadata_into_pdf.request.id = "test-task-id"
|
||||||
mock_task = MagicMock()
|
|
||||||
mock_task.request.id = "test-task-id"
|
|
||||||
|
|
||||||
metadata = {
|
metadata = {
|
||||||
"filename": "2024-01-15_Invoice.pdf",
|
"filename": "2024-01-15_Invoice.pdf",
|
||||||
@@ -137,7 +135,7 @@ class TestEmbedMetadataIntoPdf:
|
|||||||
}
|
}
|
||||||
|
|
||||||
result = embed_metadata_into_pdf.__wrapped__(
|
result = embed_metadata_into_pdf.__wrapped__(
|
||||||
mock_task, "/workdir/tmp/test.pdf", "Sample text", metadata, file_id=123
|
"/workdir/tmp/test.pdf", "Sample text", metadata, file_id=123
|
||||||
)
|
)
|
||||||
|
|
||||||
# Verify PDF metadata was set
|
# Verify PDF metadata was set
|
||||||
@@ -167,11 +165,10 @@ class TestEmbedMetadataIntoPdf:
|
|||||||
with patch("app.tasks.embed_metadata_into_pdf.settings") as mock_settings:
|
with patch("app.tasks.embed_metadata_into_pdf.settings") as mock_settings:
|
||||||
mock_settings.workdir = "/workdir"
|
mock_settings.workdir = "/workdir"
|
||||||
|
|
||||||
mock_task = MagicMock()
|
embed_metadata_into_pdf.request.id = "test-task-id"
|
||||||
mock_task.request.id = "test-task-id"
|
|
||||||
|
|
||||||
result = embed_metadata_into_pdf.__wrapped__(
|
result = embed_metadata_into_pdf.__wrapped__(
|
||||||
mock_task, "/nonexistent/file.pdf", "text", {"filename": "test.pdf"}, file_id=123
|
"/nonexistent/file.pdf", "text", {"filename": "test.pdf"}, file_id=123
|
||||||
)
|
)
|
||||||
|
|
||||||
assert result == {"error": "File not found"}
|
assert result == {"error": "File not found"}
|
||||||
@@ -220,11 +217,10 @@ class TestEmbedMetadataIntoPdf:
|
|||||||
with patch("app.tasks.embed_metadata_into_pdf.tempfile.NamedTemporaryFile"):
|
with patch("app.tasks.embed_metadata_into_pdf.tempfile.NamedTemporaryFile"):
|
||||||
mock_settings.workdir = "/workdir"
|
mock_settings.workdir = "/workdir"
|
||||||
|
|
||||||
mock_task = MagicMock()
|
embed_metadata_into_pdf.request.id = "test-task-id"
|
||||||
mock_task.request.id = "test-task-id"
|
|
||||||
|
|
||||||
result = embed_metadata_into_pdf.__wrapped__(
|
result = embed_metadata_into_pdf.__wrapped__(
|
||||||
mock_task, "/workdir/tmp/test.pdf", "text", {"filename": "test.pdf"}
|
"/workdir/tmp/test.pdf", "text", {"filename": "test.pdf"}
|
||||||
)
|
)
|
||||||
|
|
||||||
# Verify database was queried
|
# Verify database was queried
|
||||||
@@ -253,11 +249,10 @@ class TestEmbedMetadataIntoPdf:
|
|||||||
with patch("app.tasks.embed_metadata_into_pdf.settings") as mock_settings:
|
with patch("app.tasks.embed_metadata_into_pdf.settings") as mock_settings:
|
||||||
mock_settings.workdir = "/workdir"
|
mock_settings.workdir = "/workdir"
|
||||||
|
|
||||||
mock_task = MagicMock()
|
embed_metadata_into_pdf.request.id = "test-task-id"
|
||||||
mock_task.request.id = "test-task-id"
|
|
||||||
|
|
||||||
result = embed_metadata_into_pdf.__wrapped__(
|
result = embed_metadata_into_pdf.__wrapped__(
|
||||||
mock_task, "/workdir/tmp/test.pdf", "text", {"filename": "test.pdf"}, file_id=789
|
"/workdir/tmp/test.pdf", "text", {"filename": "test.pdf"}, file_id=789
|
||||||
)
|
)
|
||||||
|
|
||||||
assert "error" in result
|
assert "error" in result
|
||||||
@@ -318,14 +313,13 @@ class TestEmbedMetadataIntoPdf:
|
|||||||
with patch("app.tasks.embed_metadata_into_pdf.settings") as mock_settings:
|
with patch("app.tasks.embed_metadata_into_pdf.settings") as mock_settings:
|
||||||
mock_settings.workdir = "/workdir"
|
mock_settings.workdir = "/workdir"
|
||||||
|
|
||||||
mock_task = MagicMock()
|
embed_metadata_into_pdf.request.id = "test-task-id"
|
||||||
mock_task.request.id = "test-task-id"
|
|
||||||
|
|
||||||
# Try to embed metadata with malicious filename
|
# Try to embed metadata with malicious filename
|
||||||
metadata = {"filename": "../../../etc/passwd"}
|
metadata = {"filename": "../../../etc/passwd"}
|
||||||
|
|
||||||
result = embed_metadata_into_pdf.__wrapped__(
|
result = embed_metadata_into_pdf.__wrapped__(
|
||||||
mock_task, "/workdir/tmp/test.pdf", "text", metadata, file_id=111
|
"/workdir/tmp/test.pdf", "text", metadata, file_id=111
|
||||||
)
|
)
|
||||||
|
|
||||||
# Verify sanitize_filename was called
|
# Verify sanitize_filename was called
|
||||||
@@ -383,14 +377,13 @@ class TestEmbedMetadataIntoPdf:
|
|||||||
with patch("app.tasks.embed_metadata_into_pdf.settings") as mock_settings:
|
with patch("app.tasks.embed_metadata_into_pdf.settings") as mock_settings:
|
||||||
mock_settings.workdir = "/workdir"
|
mock_settings.workdir = "/workdir"
|
||||||
|
|
||||||
mock_task = MagicMock()
|
embed_metadata_into_pdf.request.id = "test-task-id"
|
||||||
mock_task.request.id = "test-task-id"
|
|
||||||
|
|
||||||
# Metadata with missing fields
|
# Metadata with missing fields
|
||||||
metadata = {}
|
metadata = {}
|
||||||
|
|
||||||
result = embed_metadata_into_pdf.__wrapped__(
|
result = embed_metadata_into_pdf.__wrapped__(
|
||||||
mock_task, "/workdir/tmp/test.pdf", "text", metadata, file_id=222
|
"/workdir/tmp/test.pdf", "text", metadata, file_id=222
|
||||||
)
|
)
|
||||||
|
|
||||||
# Verify PDF metadata was set with defaults
|
# Verify PDF metadata was set with defaults
|
||||||
@@ -459,11 +452,10 @@ class TestEmbedMetadataIntoPdf:
|
|||||||
with patch("app.tasks.embed_metadata_into_pdf.settings") as mock_settings:
|
with patch("app.tasks.embed_metadata_into_pdf.settings") as mock_settings:
|
||||||
mock_settings.workdir = "/workdir"
|
mock_settings.workdir = "/workdir"
|
||||||
|
|
||||||
mock_task = MagicMock()
|
embed_metadata_into_pdf.request.id = "test-task-id"
|
||||||
mock_task.request.id = "test-task-id"
|
|
||||||
|
|
||||||
result = embed_metadata_into_pdf.__wrapped__(
|
result = embed_metadata_into_pdf.__wrapped__(
|
||||||
mock_task, "/workdir/tmp/test.pdf", "text", {"filename": "test.pdf"}, file_id=333
|
"/workdir/tmp/test.pdf", "text", {"filename": "test.pdf"}, file_id=333
|
||||||
)
|
)
|
||||||
|
|
||||||
# Verify unlink (delete) was called
|
# Verify unlink (delete) was called
|
||||||
|
|||||||
Reference in New Issue
Block a user