class TestFillOpcode(unittest.TestCase):
- class _TestOp(opcodes.OpCode):
- OP_ID = "RAPI_TEST_OP"
+ class OpTest(opcodes.OpCode):
OP_PARAMS = [
- ("test", None, ht.TMaybeString),
+ ("test", None, ht.TMaybeString, None),
]
def test(self):
for static in [None, {}]:
- op = baserlib.FillOpcode(self._TestOp, {}, static)
- self.assertTrue(isinstance(op, self._TestOp))
+ op = baserlib.FillOpcode(self.OpTest, {}, static)
+ self.assertTrue(isinstance(op, self.OpTest))
self.assertFalse(hasattr(op, "test"))
def testStatic(self):
- op = baserlib.FillOpcode(self._TestOp, {}, {"test": "abc"})
- self.assertTrue(isinstance(op, self._TestOp))
+ op = baserlib.FillOpcode(self.OpTest, {}, {"test": "abc"})
+ self.assertTrue(isinstance(op, self.OpTest))
self.assertEqual(op.test, "abc")
# Overwrite static parameter
self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
- self._TestOp, {"test": 123}, {"test": "abc"})
+ self.OpTest, {"test": 123}, {"test": "abc"})
def testType(self):
self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
- self._TestOp, {"test": [1, 2, 3]}, {})
+ self.OpTest, {"test": [1, 2, 3]}, {})
def testStaticType(self):
self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
- self._TestOp, {}, {"test": [1, 2, 3]})
+ self.OpTest, {}, {"test": [1, 2, 3]})
def testUnicode(self):
- op = baserlib.FillOpcode(self._TestOp, {u"test": "abc"}, {})
- self.assertTrue(isinstance(op, self._TestOp))
+ op = baserlib.FillOpcode(self.OpTest, {u"test": "abc"}, {})
+ self.assertTrue(isinstance(op, self.OpTest))
self.assertEqual(op.test, "abc")
- op = baserlib.FillOpcode(self._TestOp, {}, {u"test": "abc"})
- self.assertTrue(isinstance(op, self._TestOp))
+ op = baserlib.FillOpcode(self.OpTest, {}, {u"test": "abc"})
+ self.assertTrue(isinstance(op, self.OpTest))
self.assertEqual(op.test, "abc")
def testUnknownParameter(self):
self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
- self._TestOp, {"othervalue": 123}, None)
+ self.OpTest, {"othervalue": 123}, None)
def testInvalidBody(self):
self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
- self._TestOp, "", None)
+ self.OpTest, "", None)
self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
- self._TestOp, range(10), None)
+ self.OpTest, range(10), None)
+
+ def testRenameBothSpecified(self):
+ self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
+ self.OpTest, { "old": 123, "new": 999, }, None,
+ rename={ "old": "new", })
+
+ def testRename(self):
+ value = "Hello World"
+ op = baserlib.FillOpcode(self.OpTest, { "data": value, }, None,
+ rename={ "data": "test", })
+ self.assertEqual(op.test, value)
+
+ def testRenameStatic(self):
+ self.assertRaises(http.HttpBadRequest, baserlib.FillOpcode,
+ self.OpTest, { "data": 0, }, { "test": None, },
+ rename={ "data": "test", })
if __name__ == "__main__":