Revision ff0d18e6 test/ganeti.rapi.baserlib_unittest.py

b/test/ganeti.rapi.baserlib_unittest.py
33 33

  
34 34

  
35 35
class TestFillOpcode(unittest.TestCase):
36
  class _TestOp(opcodes.OpCode):
37
    OP_ID = "RAPI_TEST_OP"
36
  class OpTest(opcodes.OpCode):
38 37
    OP_PARAMS = [
39 38
      ("test", None, ht.TMaybeString),
40 39
      ]
41 40

  
42 41
  def test(self):
43 42
    for static in [None, {}]:
44
      op = baserlib.FillOpcode(self._TestOp, {}, static)
45
      self.assertTrue(isinstance(op, self._TestOp))
43
      op = baserlib.FillOpcode(self.OpTest, {}, static)
44
      self.assertTrue(isinstance(op, self.OpTest))
46 45
      self.assertFalse(hasattr(op, "test"))
47 46

  
48 47
  def testStatic(self):
49
    op = baserlib.FillOpcode(self._TestOp, {}, {"test": "abc"})
50
    self.assertTrue(isinstance(op, self._TestOp))
48
    op = baserlib.FillOpcode(self.OpTest, {}, {"test": "abc"})
49
    self.assertTrue(isinstance(op, self.OpTest))
51 50
    self.assertEqual(op.test, "abc")
52 51

  
53 52
    # Overwrite static parameter
54 53
    self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
55
                      self._TestOp, {"test": 123}, {"test": "abc"})
54
                      self.OpTest, {"test": 123}, {"test": "abc"})
56 55

  
57 56
  def testType(self):
58 57
    self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
59
                      self._TestOp, {"test": [1, 2, 3]}, {})
58
                      self.OpTest, {"test": [1, 2, 3]}, {})
60 59

  
61 60
  def testStaticType(self):
62 61
    self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
63
                      self._TestOp, {}, {"test": [1, 2, 3]})
62
                      self.OpTest, {}, {"test": [1, 2, 3]})
64 63

  
65 64
  def testUnicode(self):
66
    op = baserlib.FillOpcode(self._TestOp, {u"test": "abc"}, {})
67
    self.assertTrue(isinstance(op, self._TestOp))
65
    op = baserlib.FillOpcode(self.OpTest, {u"test": "abc"}, {})
66
    self.assertTrue(isinstance(op, self.OpTest))
68 67
    self.assertEqual(op.test, "abc")
69 68

  
70
    op = baserlib.FillOpcode(self._TestOp, {}, {u"test": "abc"})
71
    self.assertTrue(isinstance(op, self._TestOp))
69
    op = baserlib.FillOpcode(self.OpTest, {}, {u"test": "abc"})
70
    self.assertTrue(isinstance(op, self.OpTest))
72 71
    self.assertEqual(op.test, "abc")
73 72

  
74 73
  def testUnknownParameter(self):
75 74
    self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
76
                      self._TestOp, {"othervalue": 123}, None)
75
                      self.OpTest, {"othervalue": 123}, None)
77 76

  
78 77
  def testInvalidBody(self):
79 78
    self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
80
                      self._TestOp, "", None)
79
                      self.OpTest, "", None)
81 80
    self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
82
                      self._TestOp, range(10), None)
81
                      self.OpTest, range(10), None)
83 82

  
84 83

  
85 84
if __name__ == "__main__":

Also available in: Unified diff