### Body

Similarly to SFTP (fixed in https://github.com/apache/airflow/pull/29068) the logic from __init__ should be moved to execute.

The #29068 provides a blueprint for that.

### Committer

- [X] I acknowledge that I am a maintainer/committer of the Apache Airflow project.
#
#
#
from __future__ import annotations
from unittest import mock
import pytest
from airflow.models import DAG
from airflow.providers.ftp.operators.ftp import (
    FTPFileTransmitOperator,
    FTPOperation,
    FTPSFileTransmitOperator,
)
from airflow.utils.timezone import datetime
DEFAULT_DATE = datetime(2017, 1, 1)
DEFAULT_CONN_ID = "ftp_default"
class TestFTPFileTransmitOperator:
    def setup_method(self):
        self.test_local_dir = "ftptmp"
        self.test_remote_dir = "/ftphome"
        self.test_remote_dir_int = "/ftphome/interdir"
        self.test_local_filename = "test_local_file"
        self.test_remote_filename = "test_remote_file"
        self.test_local_filepath = f"{self.test_local_dir}/{self.test_local_filename}"
        self.test_remote_filepath = f"{self.test_remote_dir}/{self.test_remote_filename}"
        self.test_local_filepath_int_dir = f"{self.test_local_dir}/{self.test_local_filename}"
        self.test_remote_filepath_int_dir = f"{self.test_remote_dir_int}/{self.test_remote_filename}"
    @mock.patch("airflow.providers.ftp.operators.ftp.FTPHook.store_file")
    @mock.patch("airflow.providers.ftp.operators.ftp.FTPHook.create_directory")
    def test_file_transfer_put(self, mock_create_dir, mock_put):