fix: use __wrapped__ without self for Celery bind=True tasks in error tests

Celery's __wrapped__ attribute strips the self parameter for bind=True tasks.
Updated error-case tests to call __wrapped__(file_path, ...) instead of
__wrapped__(mock_self, file_path, ...) to avoid 'multiple values' TypeError.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-02-12 17:42:05 +00:00
parent dff32e08e1
commit 0f5e676fd9
4 changed files with 7 additions and 28 deletions
+1 -4
View File
@@ -199,11 +199,8 @@ class TestUploadToDropbox:
"""Test that missing file raises FileNotFoundError."""
from app.tasks.upload_to_dropbox import upload_to_dropbox
mock_self = MagicMock()
mock_self.request.id = "test-task"
with pytest.raises(FileNotFoundError):
upload_to_dropbox.__wrapped__(mock_self, "/nonexistent/file.pdf", file_id=1)
upload_to_dropbox.__wrapped__("/nonexistent/file.pdf", file_id=1)
@patch("app.tasks.upload_to_dropbox.log_task_progress")
@patch("app.tasks.upload_to_dropbox.settings")
+1 -4
View File
@@ -20,11 +20,8 @@ class TestUploadToNextcloud:
"""Test that missing file raises FileNotFoundError."""
from app.tasks.upload_to_nextcloud import upload_to_nextcloud
mock_self = MagicMock()
mock_self.request.id = "test-task"
with pytest.raises(FileNotFoundError):
upload_to_nextcloud.__wrapped__(mock_self, "/nonexistent/file.pdf", file_id=1)
upload_to_nextcloud.__wrapped__("/nonexistent/file.pdf", file_id=1)
@patch("app.tasks.upload_to_nextcloud.log_task_progress")
@patch("app.tasks.upload_to_nextcloud.settings")
+2 -8
View File
@@ -333,11 +333,8 @@ class TestUploadToOnedrive:
"""Test that missing file raises FileNotFoundError."""
from app.tasks.upload_to_onedrive import upload_to_onedrive
mock_self = MagicMock()
mock_self.request.id = "test-task"
with pytest.raises(FileNotFoundError):
upload_to_onedrive.__wrapped__(mock_self, "/nonexistent/file.pdf", file_id=1)
upload_to_onedrive.__wrapped__("/nonexistent/file.pdf", file_id=1)
@patch("app.tasks.upload_to_onedrive.log_task_progress")
@patch("app.tasks.upload_to_onedrive.settings")
@@ -350,11 +347,8 @@ class TestUploadToOnedrive:
test_file = tmp_path / "test.pdf"
test_file.write_bytes(b"test content")
mock_self = MagicMock()
mock_self.request.id = "test-task"
with pytest.raises(ValueError, match="client ID is not configured"):
upload_to_onedrive.__wrapped__(mock_self, str(test_file), file_id=1)
upload_to_onedrive.__wrapped__(str(test_file), file_id=1)
@patch("app.tasks.upload_to_onedrive.upload_large_file")
@patch("app.tasks.upload_to_onedrive.create_upload_session")
+3 -12
View File
@@ -394,11 +394,8 @@ class TestUploadToPaperless:
@patch("app.tasks.upload_to_paperless.log_task_progress")
def test_file_not_found(self, mock_log):
"""Test that missing file raises FileNotFoundError."""
mock_self = MagicMock()
mock_self.request.id = "test-task"
with pytest.raises(FileNotFoundError):
upload_to_paperless.__wrapped__(mock_self, "/nonexistent/file.pdf", file_id=1)
upload_to_paperless.__wrapped__("/nonexistent/file.pdf", file_id=1)
@patch("app.tasks.upload_to_paperless.set_document_custom_fields")
@patch("app.tasks.upload_to_paperless.poll_task_for_document_id")
@@ -466,11 +463,8 @@ class TestUploadToPaperless:
test_file = tmp_path / "test.pdf"
test_file.write_bytes(b"%PDF-1.4 test content")
mock_self = MagicMock()
mock_self.request.id = "test-task"
with pytest.raises(ValueError, match="not fully configured"):
upload_to_paperless.__wrapped__(mock_self, str(test_file), file_id=1)
upload_to_paperless.__wrapped__(str(test_file), file_id=1)
@patch("app.tasks.upload_to_paperless.requests.post")
@patch("app.tasks.upload_to_paperless.settings")
@@ -488,11 +482,8 @@ class TestUploadToPaperless:
mock_exc.response = None
mock_post.side_effect = mock_exc
mock_self = MagicMock()
mock_self.request.id = "test-task"
with pytest.raises(requests.exceptions.ConnectionError):
upload_to_paperless.__wrapped__(mock_self, str(test_file), file_id=1)
upload_to_paperless.__wrapped__(str(test_file), file_id=1)
@patch("app.tasks.upload_to_paperless.set_document_custom_fields")
@patch("app.tasks.upload_to_paperless.poll_task_for_document_id")