diff options
-rw-r--r-- | tests/test_client.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/test_client.py b/tests/test_client.py index dae5b13a..7b77ef49 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -564,6 +564,25 @@ class SSHClientTest(ClientTest): auth_timeout=0.5, ) + def _mock_set_remote_channel(self, chainid, init_window, max_packet_size): + time.sleep(100) + + @patch.object(paramiko.Channel, "_set_remote_channel", _mock_set_remote_channel) + def test_channel_timeout(self): + """ + verify that the SSHClient has a configurable channel timeout + """ + threading.Thread(target=self._run).start() + # Client setup + self.tc = SSHClient() + self.tc.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + + # Actual connection + self.tc.connect(**dict(self.connect_kwargs, password="pygmalion", channel_timeout=0.5)) + self.event.wait(1.0) + + self.assertRaises(paramiko.SSHException, self.tc.open_sftp) + @requires_gss_auth def test_auth_trickledown_gsskex(self): """ |