From 1379cb4d4f893453a132777d442960a221ca3359 Mon Sep 17 00:00:00 2001 From: Alfredo Deza Date: Tue, 17 Mar 2015 11:03:13 -0400 Subject: [PATCH] add tests for the new utility Signed-off-by: Alfredo Deza --- radosgw_agent/tests/util/test_obj.py | 32 ++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 radosgw_agent/tests/util/test_obj.py diff --git a/radosgw_agent/tests/util/test_obj.py b/radosgw_agent/tests/util/test_obj.py new file mode 100644 index 0000000..3d07431 --- /dev/null +++ b/radosgw_agent/tests/util/test_obj.py @@ -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 -- 2.47.3