Merge "Fix huawei driver username/password encoding bug"
This commit is contained in:
commit
1cd59f2461
manila
@ -191,11 +191,12 @@ class RestHelper(object):
|
||||
for key in ['UserName', 'UserPassword']:
|
||||
node = root.find('Storage/%s' % key)
|
||||
if node.text.find(prefix_name) > -1:
|
||||
logininfo[key] = base64.b64decode(six.b(node.text[4:]))
|
||||
logininfo[key] = base64.b64decode(
|
||||
six.b(node.text[4:])).decode()
|
||||
else:
|
||||
logininfo[key] = node.text
|
||||
node.text = prefix_name + six.text_type(
|
||||
base64.b64encode(six.b(node.text)))
|
||||
node.text = prefix_name + base64.b64encode(
|
||||
six.b(node.text)).decode()
|
||||
need_encode = True
|
||||
if need_encode:
|
||||
self._change_file_mode(filename)
|
||||
|
@ -4482,3 +4482,13 @@ class HuaweiShareDriverTestCase(test.TestCase):
|
||||
activate_deactivate_qos_mock.assert_called_once_with('11', False)
|
||||
|
||||
delete_qos_mock.assert_called_once_with('11')
|
||||
|
||||
def test_username_password_encode_decode(self):
|
||||
for i in (1, 2):
|
||||
# First loop will encode the username/password and
|
||||
# write back to configuration.
|
||||
# Second loop will get the encoded username/password and
|
||||
# decode them.
|
||||
logininfo = self.driver.plugin.helper._get_login_info()
|
||||
self.assertEqual('admin', logininfo['UserName'])
|
||||
self.assertEqual('Admin@storage', logininfo['UserPassword'])
|
||||
|
Loading…
x
Reference in New Issue
Block a user