[stem/master] Integ test for general auth's password arg

commit 22e64d083ee9a7f15e3f7333477c9c9dde7609cc Author: Damian Johnson <atagar@torproject.org> Date: Wed Dec 21 09:37:52 2011 -0800 Integ test for general auth's password arg Testing the various use cases for a password argument (missing argument, incorrect password, and correct password). When we're running connection tests with something other than password auth this is a very dull test (since we succeed without raising a password exception), but when we just have a HashedControlPassword this is a decent test. --- test/integ/connection/authentication.py | 42 +++++++++++++++++++++++++++++++ 1 files changed, 42 insertions(+), 0 deletions(-) diff --git a/test/integ/connection/authentication.py b/test/integ/connection/authentication.py index 282a377..a79cbb0 100644 --- a/test/integ/connection/authentication.py +++ b/test/integ/connection/authentication.py @@ -81,6 +81,48 @@ class TestAuthenticate(unittest.TestCase): finally: control_socket.close() + def test_authenticate_general_password(self): + """ + Tests the authenticate function's password argument. + """ + + # this is a much better test if we're just using password auth, since + # authenticate will work reguardless if there's something else to + # authenticate with + + runner = test.runner.get_runner() + is_password_only = test.runner.TorConnection.PASSWORD == runner.get_connection_type() + + # tests without a password + control_socket = runner.get_tor_socket(False) + auth_function = functools.partial(stem.connection.authenticate, control_socket) + + if is_password_only: + self.assertRaises(stem.connection.MissingPassword, auth_function) + else: + auth_function() + self._exercise_socket(control_socket) + + control_socket.close() + + # tests with the incorrect password + control_socket = runner.get_tor_socket(False) + auth_function = functools.partial(stem.connection.authenticate, control_socket, "blarg") + + if is_password_only: + self.assertRaises(stem.connection.IncorrectPassword, auth_function) + else: + auth_function() + self._exercise_socket(control_socket) + + control_socket.close() + + # tests with the right password + control_socket = runner.get_tor_socket(False) + stem.connection.authenticate(control_socket, test.runner.CONTROL_PASSWORD) + self._exercise_socket(control_socket) + control_socket.close() + def test_authenticate_none(self): """ Tests the authenticate_none function.
participants (1)
-
atagar@torproject.org