Exemplo n.º 1
0
    def test_identity_auth(self):
        class _SSHClient(SSHClient):
            IDENTITIES = (self.user_key, )

        client = SSHClient(self.host,
                           port=self.port,
                           pkey=self.user_key,
                           num_retries=1,
                           timeout=1,
                           allow_agent=False)
        client.disconnect()
        client.pkey = None
        del client.session
        del client.sock
        client._connect(self.host, self.port)
        client._init_session()
        client.IDENTITIES = (self.user_key, )
        # Default identities auth only should succeed
        client._identity_auth()
        client.disconnect()
        del client.session
        del client.sock
        client._connect(self.host, self.port)
        client._init_session()
        # Auth should succeed
        self.assertIsNone(client.auth())
        # Standard init with custom identities
        client = _SSHClient(self.host,
                            port=self.port,
                            num_retries=1,
                            allow_agent=False)
        self.assertIsInstance(client, SSHClient)
Exemplo n.º 2
0
 def test_client_bad_sock(self):
     client = SSHClient(self.host,
                        port=self.port,
                        pkey=self.user_key,
                        num_retries=1)
     client.disconnect()
     client.sock = None
     self.assertIsNone(client.poll())
Exemplo n.º 3
0
    def test_disconnect_exc(self):
        class DiscError(Exception):
            pass

        def _disc():
            raise DiscError

        client = SSHClient(
            self.host,
            port=self.port,
            pkey=self.user_key,
            num_retries=1,
            retry_delay=.1,
        )
        client._disconnect_eagain = _disc
        client._connect_init_session_retry(0)
        client.disconnect()