diff options
Diffstat (limited to 'oslo_vmware/tests/test_vim_util.py')
-rw-r--r-- | oslo_vmware/tests/test_vim_util.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/oslo_vmware/tests/test_vim_util.py b/oslo_vmware/tests/test_vim_util.py index 43c02bc..e35294c 100644 --- a/oslo_vmware/tests/test_vim_util.py +++ b/oslo_vmware/tests/test_vim_util.py @@ -527,3 +527,33 @@ class VimUtilTest(base.TestCase): self.assertEqual({"test_name_0": "test_val_0", "test_name_1": "test_val_1"}, vim_util.propset_dict(mock_propset)) + + def test_serialize_object(self): + self.assertEqual({}, vim_util.serialize_object({})) + + mobj1 = mock.MagicMock() + mobj1.__keylist__ = ['asdf'] + mobj1.keys = lambda: ['asdf'] + mobj1.__getitem__.side_effect = [1] + + mobj2 = mock.Mock() + + mobj3 = mock.MagicMock() + mobj3.__keylist__ = ['subkey1', 'subkey2'] + mobj3.keys = lambda: ['subkey1', 'subkey2'] + mobj3.__getitem__.side_effect = ['subvalue1', True] + + mobj4 = 12 + + obj = { + 'foo': mobj1, + 'bar': [mobj2, mobj3], + 'baz': mobj4 + } + + expected = { + 'foo': {'asdf': 1}, + 'bar': [mobj2, {'subkey1': 'subvalue1', 'subkey2': True}], + 'baz': 12 + } + self.assertEqual(expected, vim_util.serialize_object(obj)) |