summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIhar Hrachyshka <ihrachys@redhat.com>2014-07-07 15:02:10 +0200
committerIhar Hrachyshka <ihrachys@redhat.com>2014-07-07 15:02:10 +0200
commit8668f9c1a4eb51169aa921ad02c1a68606934826 (patch)
tree62d3782356db25d40275c75d43fd7f9619f928f4
parent56336df6e1556555af8b83daf528e292cf19be7d (diff)
downloadoslo-serialization-8668f9c1a4eb51169aa921ad02c1a68606934826.tar.gz
Added missing jsonutils.dump() function
The function is missing from the module, meaning that some module consumers can't use jsonutils as a complete replacement for stdlib json module. Change-Id: Ia678d251a3984c959ae6c9d7ad70d33b197da4ff Closes-Bug: 1338571
-rw-r--r--openstack/common/jsonutils.py4
-rw-r--r--tests/unit/test_jsonutils.py9
2 files changed, 13 insertions, 0 deletions
diff --git a/openstack/common/jsonutils.py b/openstack/common/jsonutils.py
index e4eada8..8112141 100644
--- a/openstack/common/jsonutils.py
+++ b/openstack/common/jsonutils.py
@@ -168,6 +168,10 @@ def dumps(value, default=to_primitive, **kwargs):
return json.dumps(value, default=default, **kwargs)
+def dump(obj, fp, *args, **kwargs):
+ return json.dump(obj, fp, *args, **kwargs)
+
+
def loads(s, encoding='utf-8', **kwargs):
return json.loads(strutils.safe_decode(s, encoding), **kwargs)
diff --git a/tests/unit/test_jsonutils.py b/tests/unit/test_jsonutils.py
index 3105a69..cb9123d 100644
--- a/tests/unit/test_jsonutils.py
+++ b/tests/unit/test_jsonutils.py
@@ -44,6 +44,15 @@ class JSONUtilsTestMixin(object):
def test_dumps(self):
self.assertEqual('{"a": "b"}', jsonutils.dumps({'a': 'b'}))
+ def test_dump(self):
+ expected = '{"a": "b"}'
+ json_dict = {'a': 'b'}
+
+ fp = six.StringIO()
+ jsonutils.dump(json_dict, fp)
+
+ self.assertEqual(expected, fp.getvalue())
+
def test_loads(self):
self.assertEqual({'a': 'b'}, jsonutils.loads('{"a": "b"}'))