code: def test_hook_created_correctly(
      self, cmd_timeout, cmd_timeout_expected
  ):
      conn_timeout = 20
      if cmd_timeout == "Not Set":
          task = SSHOperator(
              task_id="test",
              command=COMMAND,
              conn_timeout=conn_timeout,
              ssh_conn_id="ssh_default",
          )
      else:
          task = SSHOperator(
              task_id="test",
              command=COMMAND,
              conn_timeout=conn_timeout,
              cmd_timeout=cmd_timeout,
              ssh_conn_id="ssh_default",
          )
      assert conn_timeout == task.hook.conn_timeout
      assert cmd_timeout_expected == task.hook.cmd_timeout
      assert "ssh_default" == task.hook.ssh_conn_id
  
imports: from __future__ import annotations
  import random
  from unittest import mock
  import pytest
  from paramiko.client import SSHClient
  from airflow.exceptions import AirflowException, AirflowSkipException
  from airflow.models import TaskInstance
  from airflow.providers.ssh.hooks.ssh import SSHHook
  from airflow.providers.ssh.operators.ssh import SSHOperator
  from airflow.utils.timezone import datetime
  from airflow.utils.types import NOTSET
  from tests.test_utils.config import conf_vars
label_desc: Use image node_id 3 for calling the TestSSHOperator obj's underlying member method code with example usage: obj.test_hook_created_correctly(cmd_timeout, cmd_timeout_expected) without return types