summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-01-15 09:49:40 +0000
committerGerrit Code Review <review@openstack.org>2016-01-15 09:49:40 +0000
commitc2682493ec80cb66a546c2f56628eb40dda5b2e2 (patch)
treedc68c4f31ad59a3acc00a7e55e32513cdf28f67c
parent6930abf3997ad569ccb010a75a6c8345ced5b404 (diff)
parentd6560fb4986f43a2f2e64e14bb4effc969cc4ecd (diff)
downloadpython-ceilometerclient-c2682493ec80cb66a546c2f56628eb40dda5b2e2.tar.gz
Merge "change the dict output format to make consistency under py27 and py34"
-rw-r--r--ceilometerclient/common/utils.py2
-rw-r--r--ceilometerclient/tests/unit/test_utils.py65
2 files changed, 49 insertions, 18 deletions
diff --git a/ceilometerclient/common/utils.py b/ceilometerclient/common/utils.py
index d1ac720..84dcac8 100644
--- a/ceilometerclient/common/utils.py
+++ b/ceilometerclient/common/utils.py
@@ -89,7 +89,7 @@ def print_dict(d, dict_property="Property", wrap=0):
pt.align = 'l'
for k, v in sorted(six.iteritems(d)):
# convert dict to str to check length
- if isinstance(v, dict):
+ if isinstance(v, (list, dict)):
v = jsonutils.dumps(v)
# if value has a newline, add in multiple rows
# e.g. fault with stacktrace
diff --git a/ceilometerclient/tests/unit/test_utils.py b/ceilometerclient/tests/unit/test_utils.py
index a7e7584..5ef35e9 100644
--- a/ceilometerclient/tests/unit/test_utils.py
+++ b/ceilometerclient/tests/unit/test_utils.py
@@ -50,6 +50,14 @@ class UtilsTest(test_utils.BaseTestCase):
'type': 'threshold',
'threshold': '1.0',
'statistic': 'avg',
+ 'alarm_actions': [u'http://something/alarm1',
+ u'http://something/alarm2'],
+ 'ok_actions': [{"get_attr1":
+ [u"web_server_scaleup_policy1",
+ u"alarm_url1"]},
+ {"get_attr2":
+ [u"web_server_scaleup_policy2",
+ u"alarm_url2"]}],
'time_constraints': '[{name: c1,'
'\\n description: test,'
'\\n start: 0 18 * * *,'
@@ -57,23 +65,46 @@ class UtilsTest(test_utils.BaseTestCase):
'\\n timezone: US}]'},
wrap=72)
expected = u'''\
-+------------------+----------------------------------+
-| Property | Value |
-+------------------+----------------------------------+
-| alarm_id | 262567fd-d79a-4bbb-a9d0-59d879b6 |
-| description | \u6d4b\u8bd5 |
-| name | \u6d4b\u8bd5 |
-| repeat_actions | False |
-| state | insufficient data |
-| statistic | avg |
-| threshold | 1.0 |
-| time_constraints | [{name: c1, |
-| | description: test, |
-| | start: 0 18 * * *, |
-| | duration: 1, |
-| | timezone: US}] |
-| type | threshold |
-+------------------+----------------------------------+
++------------------+-------------------------------------------------------\
+--------+
+| Property | Value \
+ |
++------------------+-------------------------------------------------------\
+--------+
+| alarm_actions | ["http://something/alarm1", "http://something/alarm2"]\
+ |
+| alarm_id | 262567fd-d79a-4bbb-a9d0-59d879b6 \
+ |
+| description | \u6d4b\u8bd5 \
+ |
+| name | \u6d4b\u8bd5 \
+ |
+| ok_actions | [{"get_attr1": ["web_server_scaleup_policy1", "alarm_u\
+rl1"]}, |
+| | {"get_attr2": ["web_server_scaleup_policy2", "alarm_ur\
+l2"]}] |
+| repeat_actions | False \
+ |
+| state | insufficient data \
+ |
+| statistic | avg \
+ |
+| threshold | 1.0 \
+ |
+| time_constraints | [{name: c1, \
+ |
+| | description: test, \
+ |
+| | start: 0 18 * * *, \
+ |
+| | duration: 1, \
+ |
+| | timezone: US}] \
+ |
+| type | threshold \
+ |
++------------------+-------------------------------------------------------\
+--------+
'''
# py2 prints str type, py3 prints unicode type
if six.PY2: