Revision 5d630c22 test/ganeti.serializer_unittest.py

b/test/ganeti.serializer_unittest.py
26 26

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

  
30 31
import testutils
31 32

  
......
106 107
                      serializer.DumpJson(tdata), "mykey")
107 108

  
108 109

  
110
class TestLoadAndVerifyJson(unittest.TestCase):
111
  def testNoJson(self):
112
    self.assertRaises(errors.ParseError, serializer.LoadAndVerifyJson,
113
                      "", NotImplemented)
114
    self.assertRaises(errors.ParseError, serializer.LoadAndVerifyJson,
115
                      "}", NotImplemented)
116

  
117
  def testVerificationFails(self):
118
    self.assertRaises(errors.ParseError, serializer.LoadAndVerifyJson,
119
                      "{}", lambda _: False)
120

  
121
    verify_fn = ht.TListOf(ht.TNonEmptyString)
122
    try:
123
      serializer.LoadAndVerifyJson("{}", verify_fn)
124
    except errors.ParseError, err:
125
      self.assertTrue(str(err).endswith(str(verify_fn)))
126
    else:
127
      self.fail("Exception not raised")
128

  
129
  def testSuccess(self):
130
    self.assertEqual(serializer.LoadAndVerifyJson("{}", ht.TAny), {})
131
    self.assertEqual(serializer.LoadAndVerifyJson("\"Foo\"", ht.TAny), "Foo")
132

  
133

  
109 134
if __name__ == "__main__":
110 135
  testutils.GanetiTestProgram()

Also available in: Unified diff