Revision 473ab806 test/py/ganeti.objectutils_unittest.py
b/test/py/ganeti.objectutils_unittest.py | ||
---|---|---|
46 | 46 |
slotted = AutoSlotted() |
47 | 47 |
self.assertEqual(slotted.__slots__, AutoSlotted.SLOTS) |
48 | 48 |
|
49 |
|
|
50 |
class TestContainerToDicts(unittest.TestCase): |
|
51 |
def testUnknownType(self): |
|
52 |
for value in [None, 19410, "xyz"]: |
|
53 |
try: |
|
54 |
objectutils.ContainerToDicts(value) |
|
55 |
except TypeError, err: |
|
56 |
self.assertTrue(str(err).startswith("Unknown container type")) |
|
57 |
else: |
|
58 |
self.fail("Exception was not raised") |
|
59 |
|
|
60 |
def testEmptyDict(self): |
|
61 |
value = {} |
|
62 |
self.assertFalse(type(value) in objectutils._SEQUENCE_TYPES) |
|
63 |
self.assertEqual(objectutils.ContainerToDicts(value), {}) |
|
64 |
|
|
65 |
def testEmptySequences(self): |
|
66 |
for cls in [list, tuple, set, frozenset]: |
|
67 |
self.assertEqual(objectutils.ContainerToDicts(cls()), []) |
|
68 |
|
|
69 |
|
|
70 |
class _FakeWithFromDict: |
|
71 |
def FromDict(self, _): |
|
72 |
raise NotImplemented |
|
73 |
|
|
74 |
|
|
75 |
class TestContainerFromDicts(unittest.TestCase): |
|
76 |
def testUnknownType(self): |
|
77 |
for cls in [str, int, bool]: |
|
78 |
try: |
|
79 |
objectutils.ContainerFromDicts(None, cls, NotImplemented) |
|
80 |
except TypeError, err: |
|
81 |
self.assertTrue(str(err).startswith("Unknown container type")) |
|
82 |
else: |
|
83 |
self.fail("Exception was not raised") |
|
84 |
|
|
85 |
try: |
|
86 |
objectutils.ContainerFromDicts(None, cls(), NotImplemented) |
|
87 |
except TypeError, err: |
|
88 |
self.assertTrue(str(err).endswith("is not a type")) |
|
89 |
else: |
|
90 |
self.fail("Exception was not raised") |
|
91 |
|
|
92 |
def testEmptyDict(self): |
|
93 |
value = {} |
|
94 |
self.assertFalse(type(value) in objectutils._SEQUENCE_TYPES) |
|
95 |
self.assertEqual(objectutils.ContainerFromDicts(value, dict, |
|
96 |
NotImplemented), |
|
97 |
{}) |
|
98 |
|
|
99 |
def testEmptySequences(self): |
|
100 |
for cls in [list, tuple, set, frozenset]: |
|
101 |
self.assertEqual(objectutils.ContainerFromDicts([], cls, |
|
102 |
_FakeWithFromDict), |
|
103 |
cls()) |
|
104 |
|
|
105 |
|
|
49 | 106 |
if __name__ == "__main__": |
50 | 107 |
testutils.GanetiTestProgram() |
Also available in: Unified diff