def test_BooleanValidator(self): self.doValidationTest(validation.BooleanValidator(), good=[ True, False ], bad=[ "yes", "no", 1, 0, None ])
def test_MessageValidator(self): self.doValidationTest(validation.MessageValidator( events=['started', 'stopped'], messageValidator=validation.DictValidator( a=validation.BooleanValidator(), xid=validation.IntValidator(), yid=validation.IntValidator())), good=[ (('thing', '1', '2', 'started'), {'xid': 1, 'yid': 2, 'a': True}), ], bad=[ # routingKey is not a tuple ('thing', {}), # routingKey has wrong event (('thing', '1', '2', 'exploded'), {'xid': 1, 'yid': 2, 'a': True}), # routingKey element has wrong type (('thing', 1, 2, 'started'), {'xid': 1, 'yid': 2, 'a': True}), # routingKey element isn't in message (('thing', '1', '2', 'started'), {'xid': 1, 'a': True}), # message doesn't validate (('thing', '1', '2', 'started'), {'xid': 1, 'yid': 2, 'a': 'x'}), ])
def finishStep(self, stepid, results, hidden): validation.verifyType(self.testcase, 'stepid', stepid, validation.IntValidator()) validation.verifyType(self.testcase, 'results', results, validation.IntValidator()) validation.verifyType(self.testcase, 'hidden', hidden, validation.BooleanValidator()) return defer.succeed(None)
def test_NoneOk(self): self.doValidationTest( validation.NoneOk(validation.BooleanValidator()), good=[ True, False, None ], bad=[ 1, "yes" ])
def test_ListValidator(self): self.doValidationTest(validation.ListValidator( validation.BooleanValidator()), good=[ [], [True], [False, True], ], bad=[None, ['a'], [True, 'a'], 1, "hi"])
def test_DictValidator(self): self.doValidationTest(validation.DictValidator( a=validation.BooleanValidator(), b=validation.StringValidator(), optionalNames=['b']), good=[ {'a': True}, {'a': True, 'b': u'xyz'}, ], bad=[ None, 1, "hi", {}, {'a': 1}, {'a': 1, 'b': u'xyz'}, {'a': True, 'b': 999}, {'a': True, 'b': u'xyz', 'c': 'extra'}, ])
def test_ListValidator_names(self): v = validation.ListValidator(validation.BooleanValidator()) self.assertEqual(list(v.validate('v', ['a'])), ["v[0] ('a') is not a boolean"])
def test_DictValidator_names(self): v = validation.DictValidator(a=validation.BooleanValidator()) self.assertEqual(list(v.validate('v', {'a': 1})), ["v['a'] (1) is not a boolean"])