Updated Branches: refs/heads/branch-1.2.5 41dc31990 -> 189d284a2
AMBARI-2674. If the LDAP manager password is entered as a blank value on the first try, it will always be a blank. (swagle) Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/189d284a Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/189d284a Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/189d284a Branch: refs/heads/branch-1.2.5 Commit: 189d284a28b64d1d4af050d1d2c6e95dbed19a43 Parents: 41dc319 Author: Siddharth Wagle <[email protected]> Authored: Wed Jul 17 10:25:21 2013 -0700 Committer: Siddharth Wagle <[email protected]> Committed: Wed Jul 17 10:25:21 2013 -0700 ---------------------------------------------------------------------- ambari-server/src/main/python/ambari-server.py | 6 ++-- .../src/test/python/TestAmbaryServer.py | 34 +++++++++++++++++++- 2 files changed, 37 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/189d284a/ambari-server/src/main/python/ambari-server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/python/ambari-server.py b/ambari-server/src/main/python/ambari-server.py index c73c48c..53f8c46 100755 --- a/ambari-server/src/main/python/ambari-server.py +++ b/ambari-server/src/main/python/ambari-server.py @@ -994,14 +994,16 @@ def read_password(passwordDefault=PG_DEFAULT_PASSWORD, if not password: print 'Password cannot be blank.' - read_password(passwordDefault, passwordPattern, passwordPrompt, passwordDescr) + return read_password(passwordDefault, passwordPattern, passwordPrompt, + passwordDescr) if password != passwordDefault: password1 = get_validated_string_input("Re-enter password: ", passwordDefault, passwordPattern, passwordDescr, True) if password != password1: print "Passwords do not match" - password = read_password(passwordDefault, passwordPattern, passwordPrompt, passwordDescr) + return read_password(passwordDefault, passwordPattern, passwordPrompt, + passwordDescr) return password http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/189d284a/ambari-server/src/test/python/TestAmbaryServer.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/TestAmbaryServer.py b/ambari-server/src/test/python/TestAmbaryServer.py index 666fe50..1277280 100644 --- a/ambari-server/src/test/python/TestAmbaryServer.py +++ b/ambari-server/src/test/python/TestAmbaryServer.py @@ -3412,7 +3412,39 @@ MIIFHjCCAwYCCQDpHKOBI+Lt0zANBgkqhkiG9w0BAQUFADBRMQswCQYDVQQGEwJV self.assertTrue(read_password_method.called) sys.stdout = sys.__stdout__ - + + @patch.object(ambari_server, 'get_validated_string_input') + def test_read_password(self, get_validated_string_input_method): + out = StringIO.StringIO() + sys.stdout = out + + passwordDefault = "" + passwordPrompt = 'Enter Manager Password* : ' + passwordPattern = ".*" + passwordDescr = "Invalid characters in password." + + get_validated_string_input_method.side_effect = ['', 'aaa', 'aaa'] + password = ambari_server.read_password(passwordDefault, passwordPattern, + passwordPrompt, passwordDescr) + self.assertTrue(3, get_validated_string_input_method.call_count) + self.assertEquals('aaa', password) + + get_validated_string_input_method.reset_mock() + get_validated_string_input_method.side_effect = ['aaa', 'aaa'] + password = ambari_server.read_password(passwordDefault, passwordPattern, + passwordPrompt, passwordDescr) + self.assertTrue(2, get_validated_string_input_method.call_count) + self.assertEquals('aaa', password) + + get_validated_string_input_method.reset_mock() + get_validated_string_input_method.side_effect = ['aaa'] + password = ambari_server.read_password('aaa', passwordPattern, + passwordPrompt, passwordDescr) + self.assertTrue(1, get_validated_string_input_method.call_count) + self.assertEquals('aaa', password) + + sys.stdout = sys.__stdout__ + def test_generate_random_string(self): random_str_len = 100 str1 = ambari_server.generate_random_string(random_str_len)
