summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ceilometerclient/common/utils.py3
-rw-r--r--ceilometerclient/tests/unit/test_utils.py10
2 files changed, 9 insertions, 4 deletions
diff --git a/ceilometerclient/common/utils.py b/ceilometerclient/common/utils.py
index 6841485..5e3da82 100644
--- a/ceilometerclient/common/utils.py
+++ b/ceilometerclient/common/utils.py
@@ -104,6 +104,9 @@ def format_nested_list_of_dict(l, column_names):
pt = prettytable.PrettyTable(caching=False, print_empty=False,
header=True, hrules=prettytable.FRAME,
field_names=column_names)
+ # Sort by values of first column
+ if l is not None:
+ l.sort(key=lambda k: k.get(column_names[0]))
for d in l:
pt.add_row(list(map(lambda k: d[k], column_names)))
return pt.get_string()
diff --git a/ceilometerclient/tests/unit/test_utils.py b/ceilometerclient/tests/unit/test_utils.py
index 5ef35e9..5b20437 100644
--- a/ceilometerclient/tests/unit/test_utils.py
+++ b/ceilometerclient/tests/unit/test_utils.py
@@ -283,14 +283,16 @@ l2"]}] |
table.get_string.return_value = "the table"
test_data = [
- {'column_1': 'value_11', 'column_2': 'value_21'},
- {'column_1': 'value_12', 'column_2': 'value_22'}
-
+ {'column_1': 'value_c', 'column_2': 'value_23'},
+ {'column_1': 'value_b', 'column_2': 'value_22'},
+ {'column_1': 'value_a', 'column_2': 'value_21'}
]
columns = ['column_1', 'column_2']
pt_mock.return_value = table
rval = utils.format_nested_list_of_dict(test_data, columns)
self.assertEqual("the table", rval)
- self.assertEqual([['value_11', 'value_21'], ['value_12', 'value_22']],
+ self.assertEqual([['value_a', 'value_21'],
+ ['value_b', 'value_22'],
+ ['value_c', 'value_23']],
actual_rows)