]> git-server-git.apps.pok.os.sepia.ceph.com Git - radosgw-agent.git/commitdiff
add tests for the new utility
authorAlfredo Deza <adeza@redhat.com>
Tue, 17 Mar 2015 15:03:13 +0000 (11:03 -0400)
committerAlfredo Deza <adeza@redhat.com>
Tue, 17 Mar 2015 15:03:13 +0000 (11:03 -0400)
Signed-off-by: Alfredo Deza <adeza@redhat.com>
radosgw_agent/tests/util/test_obj.py [new file with mode: 0644]

diff --git a/radosgw_agent/tests/util/test_obj.py b/radosgw_agent/tests/util/test_obj.py
new file mode 100644 (file)
index 0000000..3d07431
--- /dev/null
@@ -0,0 +1,32 @@
+from radosgw_agent.util import obj
+
+
+class Empty(object):
+
+    def __init__(self, **kw):
+        for k, v in kw.items():
+            setattr(self, k, v)
+
+
+class TestToDict(object):
+
+    def test_underscores_are_ignored(self):
+        fake = Empty(a=1, _b=2)
+        result = obj.to_dict(fake)
+        assert result.get('_b') is None
+        assert result.get('a') == 1
+
+    def test_overrides_are_respected(self):
+        fake = Empty(a=1, b=2)
+        result = obj.to_dict(fake, b=3)
+        assert result.get('b') == 3
+
+    def test_overrides_dont_mess_up_other_keys(self):
+        fake = Empty(a=1, b=2)
+        result = obj.to_dict(fake, b=3)
+        assert result.get('a') == 1
+
+    def test_extra_keys_are_set(self):
+        result = obj.to_dict(Empty(), a=1, b=2)
+        assert result['a'] == 1
+        assert result['b'] == 2