示例#1
0
 def setUp(self):
     super(TestGetProxySocket, self).setUp()
     self.proxy_patcher = mock.patch.object(paramiko, "ProxyCommand")
     self.proxy_patcher.start()
     self.proxy = ssh.SSH('proxy.address', username='******')
     self.client = ssh.SSH('123.546.789.0', username='******')
     self.mutable = [True]
示例#2
0
 def test_connect_with_proxy_socket(self):
     self.client = ssh.SSH('123.456.789.0',
                           username='******',
                           proxy=self.proxy)
     self.client.connect()
     paramiko.ProxyCommand.assert_called_with(
         'ssh -o ConnectTimeout=20 '
         ' -A [email protected] nc 123.456.789.0 22')
示例#3
0
 def test_connect_with_proxy_socket_and_options(self):
     options = {
         'BatchMode': 'yes',
         'CheckHostIP': 'yes',
         'ChallengeResponseAuthentication': 'no',
         'Ciphers': 'cast128-cbc,aes256-ctr',
     }
     self.proxy = ssh.SSH('proxy.address',
                          username='******',
                          options=options)
     self.client = ssh.SSH('123.456.789.0',
                           username='******',
                           proxy=self.proxy)
     self.client.connect()
     paramiko.ProxyCommand.assert_called_with(
         'ssh -o ConnectTimeout=20 -o BatchMode=yes '
         '-o ChallengeResponseAuthentication=no '
         '-o CheckHostIP=yes -o Ciphers=cast128-cbc,aes256-ctr  '
         '-A [email protected] nc 123.456.789.0 22')
示例#4
0
    def setUp(self):
        super(TestRemoteExecuteWithProxy, self).setUp()
        self.proxy_patcher = mock.patch.object(paramiko, "ProxyCommand")
        self.proxy_patcher.start()
        proxy = ssh.SSH('proxy-address', username='******')
        self.client = ssh.SSH('123.456.789.0',
                              username='******',
                              proxy=proxy)
        self.client._handle_tty_required = mock.Mock(return_value=False)
        self.client._handle_password_prompt = mock.Mock(return_value=False)

        self.mock_chan = mock.MagicMock()
        mock_transport = mock.MagicMock()
        mock_transport.open_session.return_value = self.mock_chan
        self.client.get_transport = mock.MagicMock(return_value=mock_transport)

        self.mock_chan.exec_command = mock.MagicMock()
        self.mock_chan.makefile.side_effect = self.mkfile
        self.mock_chan.makefile_stderr.side_effect = (
            lambda x: self.mkfile(x, err=True))

        self.example_command = 'echo hello'
        self.example_output = 'hello'
示例#5
0
    def test_connect_with_proxy_socket_private_key(self):
        """Test when proxy inits with private key string.

        Overrides self.client and self.proxy from setUp.
        """
        self.proxy.private_key = self.rsakey
        self.client = ssh.SSH('123.456.789.0',
                              username='******',
                              proxy=self.proxy)
        self.client.connect()
        self.assertTrue(paramiko.ProxyCommand.called)
        ident = ' -i '
        begin = paramiko.ProxyCommand.call_args[0][0].index(ident)
        end = paramiko.ProxyCommand.call_args[0][0].find(
            ' ', begin + len(ident))
        tempfilepath = (paramiko.ProxyCommand.call_args[0][0][begin +
                                                              len(ident):end])
        paramiko.ProxyCommand.assert_called_with(
            'ssh -o ConnectTimeout=20 '
            ' -A [email protected] '
            '-i %s nc 123.456.789.0 22' % tempfilepath)
示例#6
0
 def setUp(self):
     super(TestPasswordPrompt, self).setUp()
     ssh.LOG = mock.MagicMock()
     self.client = ssh.SSH('123.456.789.0', password='******')
     self.stdout = mock.MagicMock()
     self.stdin = mock.MagicMock()
示例#7
0
 def test_test_connection_fail_other(self):
     self.client = ssh.SSH('123.456.789.0',
                           username='******',
                           proxy=self.proxy)
     self.mock_connect.side_effect = Exception
     self.assertFalse(self.client.test_connection())
示例#8
0
 def test_test_connection_valid_key(self):
     self.client = ssh.SSH('123.456.789.0',
                           username='******',
                           proxy=self.proxy)
     self.client.private_key = self.dsakey
     self.assertTrue(self.client.test_connection())
示例#9
0
 def test_test_connection(self):
     self.client = ssh.SSH('123.456.789.0',
                           username='******',
                           proxy=self.proxy)
     self.assertTrue(self.client.test_connection())
示例#10
0
 def setUp(self):
     super(TestProxy, self).setUp()
     self.proxy_patcher = mock.patch.object(paramiko, "ProxyCommand")
     self.proxy_patcher.start()
     self.proxy = ssh.SSH('proxy.address', username='******')
示例#11
0
 def setUp(self):
     super(TestTestConnection, self).setUp()
     self.host = '123.456.789.0'
     self.client = ssh.SSH(self.host, username='******')
示例#12
0
 def test_default_user_is_root(self, mock_LOG):
     self.client = ssh.SSH('123.456.789.0')
     self.client._connect()
     default = self.mock_connect.call_args[1]['username']
     self.assertEqual(default, 'root')
示例#13
0
 def setUp(self):
     super(TestSSHKeyString, self).setUp()
     self.host = '123.456.789.0'
     self.client = ssh.SSH(self.host, username='******')
示例#14
0
    def setUp(self):

        super(TestTTYRequired, self).setUp()
        self.client = ssh.SSH('123.456.789.0', password='******')
        self.stdout = mock.MagicMock()
        self.stdin = mock.MagicMock()
示例#15
0
 def setUp(self):
     super(TestProxy, self).setUp()
     self.gateway = ssh.SSH('gateway.address', username='******')