Revision f4a2f532 test/ganeti.serializer_unittest.py

b/test/ganeti.serializer_unittest.py
25 25
import unittest
26 26

  
27 27
from ganeti import serializer
28
from ganeti import errors
28 29

  
29 30

  
30 31
class SimplejsonMock(object):
......
59 60
  def testJson(self):
60 61
    return self._TestSerializer(serializer.DumpJson, serializer.LoadJson)
61 62

  
63
  def testSignedMessage(self):
64
    LoadSigned = serializer.LoadSigned
65
    DumpSigned = serializer.DumpSigned
66
    SaltEqualTo = serializer.SaltEqualTo
67
    SaltIn = serializer.SaltIn
68
    SaltInRange = serializer.SaltInRange
69

  
70
    for data in self._TESTDATA:
71
      self.assertEqual(LoadSigned(DumpSigned(data, "mykey"), "mykey"), data)
72
      self.assertEqual(LoadSigned(
73
                         DumpSigned(data, "myprivatekey", "mysalt"),
74
                         "myprivatekey", SaltEqualTo("mysalt")), data)
75
      self.assertEqual(LoadSigned(
76
                         DumpSigned(data, "myprivatekey", "mysalt"),
77
                         "myprivatekey", SaltIn(["notmysalt", "mysalt"])), data)
78
      self.assertEqual(LoadSigned(
79
                         DumpSigned(data, "myprivatekey", "12345"),
80
                         "myprivatekey", SaltInRange(12340, 12346)), data)
81
    self.assertRaises(errors.SignatureError, serializer.LoadSigned,
82
                      serializer.DumpSigned("test", "myprivatekey"),
83
                      "myotherkey")
84
    self.assertRaises(errors.SignatureError, serializer.LoadSigned,
85
                      serializer.DumpSigned("test", "myprivatekey", "salt"),
86
                      "myprivatekey")
87
    self.assertRaises(errors.SignatureError, serializer.LoadSigned,
88
                      serializer.DumpSigned("test", "myprivatekey", "salt"),
89
                      "myprivatekey", SaltIn(["notmysalt", "morenotmysalt"]))
90
    self.assertRaises(errors.SignatureError, serializer.LoadSigned,
91
                      serializer.DumpSigned("test", "myprivatekey", "salt"),
92
                      "myprivatekey", SaltInRange(1, 2))
93
    self.assertRaises(errors.SignatureError, serializer.LoadSigned,
94
                      serializer.DumpSigned("test", "myprivatekey", "12345"),
95
                      "myprivatekey", SaltInRange(1, 2))
96

  
62 97
  def _TestSerializer(self, dump_fn, load_fn):
63 98
    for data in self._TESTDATA:
64 99
      self.failUnless(dump_fn(data).endswith("\n"))

Also available in: Unified diff