Exemple #1
0
 def __call__(self, v):
     try:
         validate.has_length(v,
                             min=self.min,
                             max=self.max,
                             messages=self.messages)
     except Invalid, e:
         raise Invalid(e.message, validator=self)
Exemple #2
0
 def test_noattrs(self):
     try:
         validate.has_length(1)
     except:
         self.fail(
             'unexpected error using no attrs for validate.has_length')
 def test_noattrs(self):
     try:
         validate.has_length(1)
     except:
         self.fail('unexpected error using no attrs for validate.has_length')
Exemple #4
0
class TestLength(unittest.TestCase):

    type = 'Length'

    fn_min = staticmethod(lambda v: validate.has_length(v, min=3))
    class_fn_min = validator.Length(min=3)

    fn_max = staticmethod(lambda v: validate.has_length(v, max=3))
    class_fn_max = validator.Length(max=3)

    def test_validate_min_pass(self):
        self.section = 'pass'
        values = [
            'abc',
            ['a', 'b', 'c'],
        ]
        check_pass('function', self, self.fn_min, values)
        check_pass('class', self, self.class_fn_min, values)

    def test_validate_min_fail(self):
        self.section = 'fail'
        values = [
            'a',
            'ab',
            '',
            [],
            ['a'],
            ['ab'],
        ]
        check_fail('function', self, self.fn_min, values)
        check_fail('class', self, self.class_fn_min, values)

    def test_validate_max_pass(self):
        self.section = 'pass'
        values = [
            'abc',
            ['a', 'b', 'c'],
            '',
            [],
            ['abcd'],
        ]
        check_pass('function', self, self.fn_max, values)
        check_pass('class', self, self.class_fn_max, values)

    def test_validate_max_fail(self):
        self.section = 'fail'
        values = [
            'abcde',
            'abcd',
            ['a', 'b', 'c', 'd'],
        ]
        check_fail('function', self, self.fn_max, values)
        check_fail('class', self, self.class_fn_max, values)

    def test_messages(self):
        try:
            self.fn_min('')
        except error.Invalid, e:
            assert 'more' in e.message
        try:
            self.fn_max('aaaaaaaaaa')
        except error.Invalid, e:
            assert 'fewer' in e.message
 def __call__(self, v):
     try:
         validate.has_length(v, min=self.min, max=self.max, messages=self.messages)
     except Invalid, e:
         raise Invalid(e.message, validator=self)