Revision dd999b06 test/ganeti.serializer_unittest.py
b/test/ganeti.serializer_unittest.py | ||
---|---|---|
60 | 60 |
def testGeneric(self): |
61 | 61 |
self._TestSerializer(serializer.Dump, serializer.Load) |
62 | 62 |
|
63 |
def testSignedGeneric(self): |
|
64 |
self._TestSigned(serializer.DumpSigned, serializer.LoadSigned) |
|
65 |
|
|
63 | 66 |
def testJson(self): |
64 | 67 |
self._TestSerializer(serializer.DumpJson, serializer.LoadJson) |
65 | 68 |
|
66 |
def testSignedMessage(self): |
|
67 |
LoadSigned = serializer.LoadSigned |
|
68 |
DumpSigned = serializer.DumpSigned |
|
69 |
def testSignedJson(self): |
|
70 |
self._TestSigned(serializer.DumpSignedJson, serializer.LoadSignedJson) |
|
69 | 71 |
|
72 |
def _TestSigned(self, dump_fn, load_fn): |
|
70 | 73 |
for data in self._TESTDATA: |
71 |
self.assertEqualValues(LoadSigned(DumpSigned(data, "mykey"), "mykey"),
|
|
74 |
self.assertEqualValues(load_fn(dump_fn(data, "mykey"), "mykey"),
|
|
72 | 75 |
(data, '')) |
73 |
self.assertEqualValues(LoadSigned(DumpSigned(data, "myprivatekey",
|
|
74 |
salt="mysalt"),
|
|
75 |
"myprivatekey"),
|
|
76 |
self.assertEqualValues(load_fn(dump_fn(data, "myprivatekey",
|
|
77 |
salt="mysalt"), |
|
78 |
"myprivatekey"), |
|
76 | 79 |
(data, "mysalt")) |
77 | 80 |
|
78 |
keydict = {"mykey_id": "myprivatekey"} |
|
79 |
self.assertEqualValues(LoadSigned(DumpSigned(data, |
|
80 |
"myprivatekey", |
|
81 |
salt="mysalt", |
|
82 |
key_selector="mykey_id"), |
|
83 |
keydict.get), |
|
81 |
keydict = { |
|
82 |
"mykey_id": "myprivatekey", |
|
83 |
} |
|
84 |
self.assertEqualValues(load_fn(dump_fn(data, "myprivatekey", |
|
85 |
salt="mysalt", |
|
86 |
key_selector="mykey_id"), |
|
87 |
keydict.get), |
|
84 | 88 |
(data, "mysalt")) |
85 |
|
|
86 |
self.assertRaises(errors.SignatureError, serializer.LoadSigned, |
|
87 |
serializer.DumpSigned("test", "myprivatekey"), |
|
89 |
self.assertRaises(errors.SignatureError, load_fn, |
|
90 |
dump_fn(data, "myprivatekey", |
|
91 |
salt="mysalt", |
|
92 |
key_selector="mykey_id"), |
|
93 |
{}.get) |
|
94 |
|
|
95 |
self.assertRaises(errors.SignatureError, load_fn, |
|
96 |
dump_fn("test", "myprivatekey"), |
|
88 | 97 |
"myotherkey") |
89 | 98 |
|
99 |
self.assertRaises(errors.SignatureError, load_fn, |
|
100 |
serializer.DumpJson("This is a test"), "mykey") |
|
101 |
self.assertRaises(errors.SignatureError, load_fn, |
|
102 |
serializer.DumpJson({}), "mykey") |
|
103 |
|
|
104 |
# Message missing salt and HMAC |
|
105 |
tdata = { "msg": "Foo", } |
|
106 |
self.assertRaises(errors.SignatureError, load_fn, |
|
107 |
serializer.DumpJson(tdata), "mykey") |
|
108 |
|
|
90 | 109 |
|
91 | 110 |
if __name__ == '__main__': |
92 | 111 |
testutils.GanetiTestProgram() |
Also available in: Unified diff