summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-09-07 12:59:35 +0000
committerGerrit Code Review <review@openstack.org>2014-09-07 12:59:35 +0000
commitdcf658cc4e6c6df4e1543178d78ef70338c95d11 (patch)
treea40cbab439a5413d879442a6f668f98ff7ef3243
parent9b3c84e9e19785dd377ef5c3f754bfddebc75f06 (diff)
parent514ecc6e963bd0c05425f0da8aec79a69ed122c6 (diff)
downloadpython-openstackclient-dcf658cc4e6c6df4e1543178d78ef70338c95d11.tar.gz
Merge "Unordered dicts and lists causes variable results"
-rw-r--r--openstackclient/common/utils.py4
-rw-r--r--openstackclient/tests/common/test_utils.py12
2 files changed, 14 insertions, 2 deletions
diff --git a/openstackclient/common/utils.py b/openstackclient/common/utils.py
index cef9dcee..227b0438 100644
--- a/openstackclient/common/utils.py
+++ b/openstackclient/common/utils.py
@@ -77,7 +77,7 @@ def format_dict(data):
"""
output = ""
- for s in data:
+ for s in sorted(data):
output = output + s + "='" + six.text_type(data[s]) + "', "
return output[:-2]
@@ -89,7 +89,7 @@ def format_list(data):
:rtype: a string formatted to a,b,c
"""
- return ', '.join(data)
+ return ', '.join(sorted(data))
def get_item_properties(item, fields, mixed_case_fields=[], formatters={}):
diff --git a/openstackclient/tests/common/test_utils.py b/openstackclient/tests/common/test_utils.py
index 6d75a9b5..e782d410 100644
--- a/openstackclient/tests/common/test_utils.py
+++ b/openstackclient/tests/common/test_utils.py
@@ -130,3 +130,15 @@ class TestFindResource(test_utils.TestCase):
str(result))
self.manager.get.assert_called_with(self.name)
self.manager.find.assert_called_with(name=self.name)
+
+ def test_format_dict(self):
+ expected = "a='b', c='d', e='f'"
+ self.assertEqual(expected,
+ utils.format_dict({'a': 'b', 'c': 'd', 'e': 'f'}))
+ self.assertEqual(expected,
+ utils.format_dict({'e': 'f', 'c': 'd', 'a': 'b'}))
+
+ def test_format_list(self):
+ expected = 'a, b, c'
+ self.assertEqual(expected, utils.format_list(['a', 'b', 'c']))
+ self.assertEqual(expected, utils.format_list(['c', 'b', 'a']))