diff options
author | Jeff Forcier <jeff@bitprophet.org> | 2017-06-09 14:01:42 -0700 |
---|---|---|
committer | Jeff Forcier <jeff@bitprophet.org> | 2017-06-09 14:01:42 -0700 |
commit | abdd42d421ab2758059a819430493fd72ba4aae2 (patch) | |
tree | c402e794484726034e204d3810a1aa229f8ce479 /tests/test_auth.py | |
parent | b395444062e82953d417a4da9157667c2e05d758 (diff) | |
parent | b46591f08007ad3e49a13275c11fab2cd4aab003 (diff) |
Merge branch 'master' into 984-int
Diffstat (limited to 'tests/test_auth.py')
-rw-r--r-- | tests/test_auth.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/test_auth.py b/tests/test_auth.py index 96f7611c..e78397c6 100644 --- a/tests/test_auth.py +++ b/tests/test_auth.py @@ -23,6 +23,7 @@ Some unit tests for authenticating over a Transport. import sys import threading import unittest +from time import sleep from paramiko import ( Transport, ServerInterface, RSAKey, DSSKey, BadAuthenticationType, @@ -74,6 +75,9 @@ class NullServer (ServerInterface): return AUTH_SUCCESSFUL if username == 'bad-server': raise Exception("Ack!") + if username == 'unresponsive-server': + sleep(5) + return AUTH_SUCCESSFUL return AUTH_FAILED def check_auth_publickey(self, username, key): @@ -233,3 +237,18 @@ class AuthTest (unittest.TestCase): except: etype, evalue, etb = sys.exc_info() self.assertTrue(issubclass(etype, AuthenticationException)) + + def test_9_auth_non_responsive(self): + """ + verify that authentication times out if server takes to long to + respond (or never responds). + """ + self.tc.auth_timeout = 1 # 1 second, to speed up test + self.start_server() + self.tc.connect() + try: + remain = self.tc.auth_password('unresponsive-server', 'hello') + except: + etype, evalue, etb = sys.exc_info() + self.assertTrue(issubclass(etype, AuthenticationException)) + self.assertTrue('Authentication timeout' in str(evalue)) |