diff options
author | Ihar Hrachyshka <ihrachys@redhat.com> | 2014-07-07 15:02:10 +0200 |
---|---|---|
committer | Ihar Hrachyshka <ihrachys@redhat.com> | 2014-07-07 15:02:10 +0200 |
commit | 8668f9c1a4eb51169aa921ad02c1a68606934826 (patch) | |
tree | 62d3782356db25d40275c75d43fd7f9619f928f4 | |
parent | 56336df6e1556555af8b83daf528e292cf19be7d (diff) | |
download | oslo-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.py | 4 | ||||
-rw-r--r-- | tests/unit/test_jsonutils.py | 9 |
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"}')) |