Exemple #1
0
    def test_string_validator(self):
        v = validator.StringValidator()
        v.min = v.max = None
        self.assert_false(v.validate(''))

        def assert_type_error(min, max, o):
            v.min = min
            v.max = max
            with self.assert_raises(ayame.ValidationError) as cm:
                v.validate(o)
            e = cm.exception
            self.assert_equal(five.str(e), '')
            self.assert_equal(e.keys, ['StringValidator.type'])
            self.assert_equal(e.vars, {})

        assert_type_error(None, None, 0)
        assert_type_error(0.0, None, '')
        assert_type_error(None, 0.0, '')

        v.min = 4
        v.max = None
        self.assert_false(v.validate('.com'))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate('.jp')
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['StringValidator.minimum'])
        self.assert_equal(e.vars, {'min': 4})

        v.min = None
        v.max = 4
        self.assert_false(v.validate('.com'))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate('.info')
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['StringValidator.maximum'])
        self.assert_equal(e.vars, {'max': 4})

        v.min = 4
        v.max = 5
        self.assert_false(v.validate('.com'))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate('.jp')
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['StringValidator.range'])
        self.assert_equal(e.vars, {'min': 4,
                                   'max': 5})

        v.min = v.max = 4
        self.assert_false(v.validate('.com'))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate('.info')
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['StringValidator.exact'])
        self.assert_equal(e.vars, {'exact': 4})
Exemple #2
0
    def test_string_validator(self):
        v = validator.StringValidator()
        v.min = v.max = None
        self.assert_false(v.validate(''))

        def assert_type_error(min, max, o):
            v.min = min
            v.max = max
            with self.assert_raises(ayame.ValidationError) as cm:
                v.validate(o)
            e = cm.exception
            self.assert_equal(five.str(e), '')
            self.assert_equal(e.keys, ['StringValidator.type'])
            self.assert_equal(e.vars, {})

        assert_type_error(None, None, 0)
        assert_type_error(0.0, None, '')
        assert_type_error(None, 0.0, '')

        v.min = 4
        v.max = None
        self.assert_false(v.validate('.com'))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate('.jp')
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['StringValidator.minimum'])
        self.assert_equal(e.vars, {'min': 4})

        v.min = None
        v.max = 4
        self.assert_false(v.validate('.com'))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate('.info')
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['StringValidator.maximum'])
        self.assert_equal(e.vars, {'max': 4})

        v.min = 4
        v.max = 5
        self.assert_false(v.validate('.com'))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate('.jp')
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['StringValidator.range'])
        self.assert_equal(e.vars, {'min': 4, 'max': 5})

        v.min = v.max = 4
        self.assert_false(v.validate('.com'))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate('.info')
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['StringValidator.exact'])
        self.assert_equal(e.vars, {'exact': 4})
Exemple #3
0
 def assert_error(o):
     with self.assert_raises(ayame.ValidationError) as cm:
         v.validate(o)
     e = cm.exception
     self.assert_equal(five.str(e), '')
     self.assert_equal(e.keys, ['EmailValidator'])
     self.assert_equal(e.vars, {'pattern': v.regex.pattern})
Exemple #4
0
 def assert_type_error(o):
     with self.assert_raises(ayame.ValidationError) as cm:
         v.validate(o)
     e = cm.exception
     self.assert_equal(five.str(e), '')
     self.assert_equal(e.keys, ['RangeValidator.type'])
     self.assert_equal(e.vars, {})
Exemple #5
0
 def assert_error(o):
     with self.assert_raises(ayame.ValidationError) as cm:
         v.validate(o)
     e = cm.exception
     self.assert_equal(five.str(e), '')
     self.assert_equal(e.keys, ['EmailValidator'])
     self.assert_equal(e.vars, {'pattern': v.regex.pattern})
Exemple #6
0
 def assert_type_error(o):
     with self.assert_raises(ayame.ValidationError) as cm:
         v.validate(o)
     e = cm.exception
     self.assert_equal(five.str(e), '')
     self.assert_equal(e.keys, ['RangeValidator.type'])
     self.assert_equal(e.vars, {})
Exemple #7
0
 def assert_type_error(min, max, o):
     v.min = min
     v.max = max
     with self.assert_raises(ayame.ValidationError) as cm:
         v.validate(o)
     e = cm.exception
     self.assert_equal(five.str(e), '')
     self.assert_equal(e.keys, ['StringValidator.type'])
     self.assert_equal(e.vars, {})
Exemple #8
0
 def assert_type_error(min, max, o):
     v.min = min
     v.max = max
     with self.assert_raises(ayame.ValidationError) as cm:
         v.validate(o)
     e = cm.exception
     self.assert_equal(five.str(e), '')
     self.assert_equal(e.keys, ['StringValidator.type'])
     self.assert_equal(e.vars, {})
Exemple #9
0
    def test_object(self):
        class O:
            pass

        class N(object):
            pass

        o = O()
        n = N()

        c = converter._ObjectConverter()
        self.assert_is(c.type, object)
        self.assert_is_instance(o, c.type)
        self.assert_is_instance(n, c.type)

        self.assert_is_none(c.to_python(None))
        self.assert_is(c.to_python(o), o)
        self.assert_is(c.to_python(n), n)

        self.assert_equal(c.to_string(None), 'None')
        self.assert_equal(c.to_string(o), five.str(o))
        self.assert_equal(c.to_string(n), five.str(n))
Exemple #10
0
    def test_range_validator(self):
        v = validator.RangeValidator()
        v.min = v.max = None
        self.assert_false(v.validate(None))
        self.assert_false(v.validate(''))
        self.assert_false(v.validate(0))

        def assert_type_error(o):
            with self.assert_raises(ayame.ValidationError) as cm:
                v.validate(o)
            e = cm.exception
            self.assert_equal(five.str(e), '')
            self.assert_equal(e.keys, ['RangeValidator.type'])
            self.assert_equal(e.vars, {})

        v.min = v.max = 0
        assert_type_error(None)
        assert_type_error('a')
        assert_type_error(0.0)
        v.min = v.max = 'a'
        assert_type_error(None)
        assert_type_error(0)
        assert_type_error(0.0)
        v.min = v.max = 0.0
        assert_type_error(None)
        assert_type_error(0)
        assert_type_error('a')

        v.min = 0
        v.max = None
        self.assert_false(v.validate(0))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate(-1)
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['RangeValidator.minimum'])
        self.assert_equal(e.vars, {'min': 0})

        v.min = None
        v.max = 9
        self.assert_false(v.validate(9))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate(10)
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['RangeValidator.maximum'])
        self.assert_equal(e.vars, {'max': 9})

        v.min = 0
        v.max = 9
        self.assert_false(v.validate(0))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate(-1)
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['RangeValidator.range'])
        self.assert_equal(e.vars, {'min': 0,
                                   'max': 9})

        v.min = v.max = 9
        self.assert_false(v.validate(9))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate(10)
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['RangeValidator.exact'])
        self.assert_equal(e.vars, {'exact': 9})
Exemple #11
0
    def test_range_validator(self):
        v = validator.RangeValidator()
        v.min = v.max = None
        self.assert_false(v.validate(None))
        self.assert_false(v.validate(''))
        self.assert_false(v.validate(0))

        def assert_type_error(o):
            with self.assert_raises(ayame.ValidationError) as cm:
                v.validate(o)
            e = cm.exception
            self.assert_equal(five.str(e), '')
            self.assert_equal(e.keys, ['RangeValidator.type'])
            self.assert_equal(e.vars, {})

        v.min = v.max = 0
        assert_type_error(None)
        assert_type_error('a')
        assert_type_error(0.0)
        v.min = v.max = 'a'
        assert_type_error(None)
        assert_type_error(0)
        assert_type_error(0.0)
        v.min = v.max = 0.0
        assert_type_error(None)
        assert_type_error(0)
        assert_type_error('a')

        v.min = 0
        v.max = None
        self.assert_false(v.validate(0))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate(-1)
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['RangeValidator.minimum'])
        self.assert_equal(e.vars, {'min': 0})

        v.min = None
        v.max = 9
        self.assert_false(v.validate(9))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate(10)
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['RangeValidator.maximum'])
        self.assert_equal(e.vars, {'max': 9})

        v.min = 0
        v.max = 9
        self.assert_false(v.validate(0))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate(-1)
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['RangeValidator.range'])
        self.assert_equal(e.vars, {'min': 0, 'max': 9})

        v.min = v.max = 9
        self.assert_false(v.validate(9))
        with self.assert_raises(ayame.ValidationError) as cm:
            v.validate(10)
        e = cm.exception
        self.assert_equal(five.str(e), '')
        self.assert_equal(e.keys, ['RangeValidator.exact'])
        self.assert_equal(e.vars, {'exact': 9})
Exemple #12
0
 def to_python(self, value):
     return five.str(value)