diff --git a/cinderclient/tests/unit/test_utils.py b/cinderclient/tests/unit/test_utils.py index f780adeac..b44888c59 100644 --- a/cinderclient/tests/unit/test_utils.py +++ b/cinderclient/tests/unit/test_utils.py @@ -228,6 +228,10 @@ class PrintListTestCase(test_utils.TestCase): +---+-----+ """, cso.read()) + def test_unicode_key_value_to_string(self): + expected = {u'key': u'\u043f\u043f\u043f\u043f\u043f'} + self.assertEqual(expected, utils.unicode_key_value_to_string(expected)) + class PrintDictTestCase(test_utils.TestCase): diff --git a/cinderclient/utils.py b/cinderclient/utils.py index 950b4bcdb..86c276e3b 100644 --- a/cinderclient/utils.py +++ b/cinderclient/utils.py @@ -182,8 +182,9 @@ def unicode_key_value_to_string(dictionary): """Recursively converts dictionary keys to strings.""" if not isinstance(dictionary, dict): return dictionary - return dict((str(k), str(unicode_key_value_to_string(v))) - for k, v in dictionary.items()) + return dict((six.text_type(k), + six.text_type(unicode_key_value_to_string(v))) + for k, v in dictionary.items()) def print_dict(d, property="Property", formatters=None):