예제 #1
0
class TestAll_StringRequired(unittest.TestCase):

    type = 'All'
    fn = validator.All(validator.String(), validator.Required())

    def test_validate_pass(self):
        self.section = 'pass'
        values = ['1', '4', u'3']
        check_pass('class', self, self.fn, values)

    def test_validate_fail(self):
        self.section = 'fail'
        values = [
            '',
            u'',
            0,
        ]
        check_fail('class', self, self.fn, values)

    def test_messages(self):
        try:
            self.fn(None)
        except error.Invalid, e:
            self.assertEquals(len(e.errors), 1)
            self.assertEquals('is required', e.errors[0])
        try:
            self.fn(1)
        except error.Invalid, e:
            self.assertEquals(len(e.errors), 1)
            self.assertEquals('must be a string', e.errors[0])
예제 #2
0
class Test_RequiredAndIntegerOrString(unittest.TestCase):

    type = 'RequiredAndIntegerOrString'
    fn = validator.All(validator.Required(),
                       validator.Any(validator.String(), validator.Integer()))

    def test_validate_pass(self):
        self.section = 'pass'
        values = [
            '1',
            1,
            1L,
        ]
        check_pass('class', self, self.fn, values)

    def test_validate_fail(self):
        self.section = 'fail'
        values = [
            0.5,
            datetime.now(),
            None,
        ]
        check_fail('class', self, self.fn, values)

    def test_messages(self):
        try:
            self.fn(datetime.now())
        except error.Invalid, e:
            self.assertEquals(len(e.errors), 2)
            assert 'string' in ''.join(e.errors)
            assert 'integer' in ''.join(e.errors)
예제 #3
0
class TestString(unittest.TestCase):

    type = 'String'
    fn = staticmethod(validate.is_string)
    class_fn = validator.String()

    def test_validate_pass(self):
        self.section = 'pass'
        values = [
            'foo',
            '1',
            u'foobar',
            'sad',
            None,
        ]
        check_pass('function', self, self.fn, values)
        check_pass('class', self, self.class_fn, values)

    def test_validate_fail(self):
        self.section = 'fail'
        values = [
            1,
            1.01,
            ['a', 'b', 'c'],
            ['a'],
        ]
        check_fail('function', self, self.fn, values)
        check_fail('class', self, self.class_fn, values)