code: def test_poke_ignore_transient_error(self, mock_hook):
      op = FTPSensor(
          path="foobar.json",
          ftp_conn_id="bob_ftp",
          task_id="test_task",
          fail_on_transient_errors=False,
      )
  
      mock_hook.return_value.__enter__.return_value.get_mod_time.side_effect = [
          error_perm("434: Host unavailable"),
          None,
      ]
  
      assert not op.poke(None)
      assert op.poke(None)
  
file_path: airflow/tests/providers/ftp/sensors/test_ftp.py
imports: from __future__ import annotations
  from ftplib import error_perm
  from unittest import mock
  import pytest
  from airflow.exceptions import AirflowSkipException
  from airflow.providers.ftp.hooks.ftp import FTPHook
  from airflow.providers.ftp.sensors.ftp import FTPSensor
label_desc: Use image node_id 5 for calling the TestFTPSensor obj's underlying member method code with example usage: obj.test_poke_ignore_transient_error(mock_hook) without return types