def test_send_error(self): with patch("paramiko.SSHClient") as SSHClientMock: client_mock = SSHClientMock.return_value stdin = Mock() stdin.channel.send.return_value = None client_mock.exec_command.return_value = [stdin, None, None] ssh_connection = SSHConnection( known_hosts_file=self.known_hosts_file) ssh_connection.connect() with self.assertRaises(GvmError, msg="Remote closed the connection"): ssh_connection.send("blah") ssh_connection.disconnect()
def test_send(self): with patch("paramiko.SSHClient") as SSHClientMock: client_mock = SSHClientMock.return_value stdin = Mock() stdin.channel.send.return_value = 4 client_mock.exec_command.return_value = [stdin, None, None] ssh_connection = SSHConnection( known_hosts_file=self.known_hosts_file) ssh_connection.connect() req = ssh_connection.send("blah") self.assertEqual(req, 4) ssh_connection.disconnect()
def test_send_and_slice(self): with patch("paramiko.SSHClient") as SSHClientMock: client_mock = SSHClientMock.return_value stdin = Mock() stdin.channel.send.side_effect = [2, 2] client_mock.exec_command.return_value = [stdin, None, None] ssh_connection = SSHConnection( known_hosts_file=self.known_hosts_file) ssh_connection.connect() req = ssh_connection.send("blah") self.assertEqual(req, 4) stdin.channel.send.assert_called() with self.assertRaises(AssertionError): stdin.channel.send.assert_called_once() ssh_connection.disconnect()