Example #1
0
 def test_get_pyt_set_correctly(self, command, get_pty_in, get_pty_out):
     task = SSHOperator(task_id="test",
                        ssh_hook=self.hook,
                        command=command,
                        timeout=TIMEOUT,
                        get_pty=get_pty_in,
                        dag=self.dag)
     try:
         task.execute(None)
     except Exception:  # pylint: disable=broad-except
         pass
     self.assertEqual(task.get_pty, get_pty_out)
Example #2
0
    def test_hook_created_correctly(self):
        timeout = 20
        ssh_id = "ssh_default"
        task = SSHOperator(task_id="test",
                           command=COMMAND,
                           dag=self.dag,
                           timeout=timeout,
                           ssh_conn_id="ssh_default")
        self.assertIsNotNone(task)

        task.execute(None)

        self.assertEqual(timeout, task.ssh_hook.timeout)
        self.assertEqual(ssh_id, task.ssh_hook.ssh_conn_id)
Example #3
0
    def test_hook_created_correctly(self):
        timeout = 20
        ssh_id = "ssh_default"
        task = SSHOperator(task_id="test",
                           command=COMMAND,
                           dag=self.dag,
                           timeout=timeout,
                           ssh_conn_id="ssh_default")
        assert task is not None

        task.execute(None)

        assert timeout == task.ssh_hook.timeout
        assert ssh_id == task.ssh_hook.ssh_conn_id
Example #4
0
    def test_arg_checking(self):
        # Exception should be raised if neither ssh_hook nor ssh_conn_id is provided
        with self.assertRaisesRegex(
                AirflowException,
                "Cannot operate without ssh_hook or ssh_conn_id."):
            task_0 = SSHOperator(task_id="test",
                                 command=COMMAND,
                                 timeout=TIMEOUT,
                                 dag=self.dag)
            task_0.execute(None)

        # if ssh_hook is invalid/not provided, use ssh_conn_id to create SSHHook
        task_1 = SSHOperator(
            task_id="test_1",
            ssh_hook="string_rather_than_SSHHook",  # invalid ssh_hook
            ssh_conn_id=TEST_CONN_ID,
            command=COMMAND,
            timeout=TIMEOUT,
            dag=self.dag,
        )
        try:
            task_1.execute(None)
        except Exception:  # pylint: disable=broad-except
            pass
        self.assertEqual(task_1.ssh_hook.ssh_conn_id, TEST_CONN_ID)

        task_2 = SSHOperator(
            task_id="test_2",
            ssh_conn_id=TEST_CONN_ID,  # no ssh_hook provided
            command=COMMAND,
            timeout=TIMEOUT,
            dag=self.dag,
        )
        try:
            task_2.execute(None)
        except Exception:  # pylint: disable=broad-except
            pass
        self.assertEqual(task_2.ssh_hook.ssh_conn_id, TEST_CONN_ID)

        # if both valid ssh_hook and ssh_conn_id are provided, ignore ssh_conn_id
        task_3 = SSHOperator(
            task_id="test_3",
            ssh_hook=self.hook,
            ssh_conn_id=TEST_CONN_ID,
            command=COMMAND,
            timeout=TIMEOUT,
            dag=self.dag,
        )
        try:
            task_3.execute(None)
        except Exception:  # pylint: disable=broad-except
            pass
        self.assertEqual(task_3.ssh_hook.ssh_conn_id, self.hook.ssh_conn_id)