From dd999b06b71427eefae4aea866714f3765620bfb Mon Sep 17 00:00:00 2001 From: Michael Hanselmann <hansmi@google.com> Date: Wed, 10 Mar 2010 18:00:21 +0100 Subject: [PATCH] Improve ganeti.serializer unittests Signed-off-by: Michael Hanselmann <hansmi@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- test/ganeti.serializer_unittest.py | 51 ++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/test/ganeti.serializer_unittest.py b/test/ganeti.serializer_unittest.py index 22ecc411d..9d8d65680 100755 --- a/test/ganeti.serializer_unittest.py +++ b/test/ganeti.serializer_unittest.py @@ -60,33 +60,52 @@ class TestSerializer(testutils.GanetiTestCase): def testGeneric(self): self._TestSerializer(serializer.Dump, serializer.Load) + def testSignedGeneric(self): + self._TestSigned(serializer.DumpSigned, serializer.LoadSigned) + def testJson(self): self._TestSerializer(serializer.DumpJson, serializer.LoadJson) - def testSignedMessage(self): - LoadSigned = serializer.LoadSigned - DumpSigned = serializer.DumpSigned + def testSignedJson(self): + self._TestSigned(serializer.DumpSignedJson, serializer.LoadSignedJson) + def _TestSigned(self, dump_fn, load_fn): for data in self._TESTDATA: - self.assertEqualValues(LoadSigned(DumpSigned(data, "mykey"), "mykey"), + self.assertEqualValues(load_fn(dump_fn(data, "mykey"), "mykey"), (data, '')) - self.assertEqualValues(LoadSigned(DumpSigned(data, "myprivatekey", - salt="mysalt"), - "myprivatekey"), + self.assertEqualValues(load_fn(dump_fn(data, "myprivatekey", + salt="mysalt"), + "myprivatekey"), (data, "mysalt")) - keydict = {"mykey_id": "myprivatekey"} - self.assertEqualValues(LoadSigned(DumpSigned(data, - "myprivatekey", - salt="mysalt", - key_selector="mykey_id"), - keydict.get), + keydict = { + "mykey_id": "myprivatekey", + } + self.assertEqualValues(load_fn(dump_fn(data, "myprivatekey", + salt="mysalt", + key_selector="mykey_id"), + keydict.get), (data, "mysalt")) - - self.assertRaises(errors.SignatureError, serializer.LoadSigned, - serializer.DumpSigned("test", "myprivatekey"), + self.assertRaises(errors.SignatureError, load_fn, + dump_fn(data, "myprivatekey", + salt="mysalt", + key_selector="mykey_id"), + {}.get) + + self.assertRaises(errors.SignatureError, load_fn, + dump_fn("test", "myprivatekey"), "myotherkey") + self.assertRaises(errors.SignatureError, load_fn, + serializer.DumpJson("This is a test"), "mykey") + self.assertRaises(errors.SignatureError, load_fn, + serializer.DumpJson({}), "mykey") + + # Message missing salt and HMAC + tdata = { "msg": "Foo", } + self.assertRaises(errors.SignatureError, load_fn, + serializer.DumpJson(tdata), "mykey") + if __name__ == '__main__': testutils.GanetiTestProgram() -- GitLab