def test_custom_rule_fail(self): v = Validator() v.extend({'myrule': self.customRule}) v.make(fields = {'test': 5}, rules = {'test': 'myrule'}, messages = {'myrule' : '{0} is not equal to 1'}) self.assertTrue(v.fails()) self.assertTrue('test is not equal to 1' in v.errors())
def test_malformed_dict_extend(self): new_rule = 'somegibberish' v = Validator() try: v.extend(new_rule) except TypeError as e: self.assertRaisesRegexp(e, 'custom rule must be a dict')
def test_malformed_method_extend(self): self.falsemethod = '' new_rule = {'new_rule': self.falsemethod} v = Validator() try: v.extend(new_rule) except TypeError as e: self.assertRaisesRegexp(e, 'custom rule is not a callable')
def test_method_extend_pass_pass(self): messages = {'new_rule': '{} is less than 10 !!'} new_rule = {'new_rule': self.good_method} fields = {'cars': 12} rules = {'cars': 'new_rule'} v = Validator() v.extend(new_rule) v.make(fields = fields, rules = rules, messages = messages) self.assertFalse(v.fails()) self.assertFalse(v.errors())