diff --git a/app/tasks/upload_to_ftp.py b/app/tasks/upload_to_ftp.py index e6207e34..b7d8c9c8 100644 --- a/app/tasks/upload_to_ftp.py +++ b/app/tasks/upload_to_ftp.py @@ -53,6 +53,7 @@ def upload_to_ftp(self, file_path: str, file_id: int = None): # First attempt FTPS (FTP with TLS) use_tls = getattr(settings, "ftp_use_tls", True) # Default to try TLS allow_plaintext = getattr(settings, "ftp_allow_plaintext", True) # Default to allow plaintext fallback + used_tls = False # Track whether we successfully used TLS if use_tls: try: @@ -66,6 +67,7 @@ def upload_to_ftp(self, file_path: str, file_id: int = None): # Enable data protection - encrypt the data channel ftp.prot_p() logger.info("Successfully established FTPS connection with TLS") + used_tls = True except Exception as e: if not allow_plaintext: error_msg = f"FTPS connection failed and plaintext FTP is forbidden: {str(e)}" @@ -137,7 +139,7 @@ def upload_to_ftp(self, file_path: str, file_id: int = None): "file": file_path, "ftp_host": settings.ftp_host, "ftp_path": f"{settings.ftp_folder}/{filename}" if settings.ftp_folder else filename, - "used_tls": isinstance(ftp, ftplib.FTP_TLS), + "used_tls": used_tls, } except Exception as e: diff --git a/tests/test_upload_google_drive.py b/tests/test_upload_google_drive.py index 7d76faa4..75cc2fb2 100644 --- a/tests/test_upload_google_drive.py +++ b/tests/test_upload_google_drive.py @@ -328,7 +328,7 @@ class TestUploadToGoogleDriveTask: mock_self = Mock() mock_self.request.id = "test-task-id" - result = upload_to_google_drive(mock_self, "/tmp/test.pdf", include_metadata=True) + result = upload_to_google_drive(mock_self, "/tmp/test.pdf", True) assert result["metadata_included"] is True @@ -368,7 +368,7 @@ class TestUploadToGoogleDriveTask: mock_self = Mock() mock_self.request.id = "test-task-id" - result = upload_to_google_drive(mock_self, "/tmp/test.pdf", include_metadata=True) + result = upload_to_google_drive(mock_self, "/tmp/test.pdf", True) # Verify the create call was made mock_files.create.assert_called_once()