Esempio n. 1
0
class TestDomainValidator(unittest.TestCase):

    def setUp(self):
        self.p = DomainValidator('domain')

    def test_init(self):
        self.assertEqual(self.p.name, 'domain')
        self.assertEqual(self.p.default, None)
        self.assertTrue(self.p.required)

    def test_valid_input(self):
        try:
            self.p.validate('example.com')
        except Invalid:
            self.fail('Valid input to should not raise "Invalid" exception')

        try:
            self.p.validate('yx.fi')
        except Invalid:
            self.fail('Valid input to should not raise "Invalid" exception')

        try:
            self.p.validate('asfasfasfasdfasfasdfasdfasdfasdfasdf.com')
        except Invalid:
            self.fail('Valid input to should not raise "Invalid" exception')

        try:
            self.p.validate('xn--4caaa.fi')
        except Invalid:
            self.fail('Valid input to should not raise "Invalid" exception')

    def test_invalid_input(self):
        with self.assertRaises(Invalid):
            self.p.validate('')

        with self.assertRaises(Invalid):
            self.p.validate(None)

        with self.assertRaises(Invalid):
            self.p.validate('a')

        with self.assertRaises(Invalid):
            self.p.validate(type)

        with self.assertRaises(Invalid):
            self.p.validate('.example.com')

        with self.assertRaises(Invalid):
            self.p.validate('example')

        with self.assertRaises(Invalid):
            self.p.validate('yx')

        with self.assertRaises(Invalid):
            self.p.validate('asdf')

        with self.assertRaises(Invalid):
            self.p.validate('asdf\x00.fi')


    def test_default(self):
        self.p = IntegerValidator('name', default=1)
        self.assertEqual(self.p.default, 1)
Esempio n. 2
0
class TestIntegerValidator(unittest.TestCase):

    def setUp(self):
        self.p = IntegerValidator('id')

    def test_init(self):
        self.assertEqual(self.p.name, 'id')
        self.assertEqual(self.p.default, None)
        self.assertTrue(self.p.required)

    def test_valid_input(self):
        try:
            self.p.validate(1)
        except Invalid:
            self.fail('Valid input to should not raise "Invalid" exception')

        try:
            self.p.validate(1 * 10000000)
        except Invalid:
            self.fail('Valid input to should not raise "Invalid" exception')

        try:
            self.p.validate('123')
        except Invalid:
            self.fail('Valid input to should not raise "Invalid" exception')


    def test_invalid_input(self):
        with self.assertRaises(Invalid):
            self.p.validate('')

        with self.assertRaises(Invalid):
            self.p.validate(None)

        with self.assertRaises(Invalid):
            self.p.validate('a')

        with self.assertRaises(Invalid):
            self.p.validate(type)

        with self.assertRaises(Invalid):
            self.p.validate('0xff')

    def test_positive(self):
        self.p = IntegerValidator('positive', positive=True)

        try:
            self.p.validate(0)
        except Invalid:
            self.fail('0 is positive')

        try:
            self.p.validate('0')
        except Invalid:
            self.fail('0 is positive')

        try:
            self.p.validate(123)
        except Invalid:
            self.fail('123 is positive')

        with self.assertRaises(Invalid):
            self.p.validate(-1)

        with self.assertRaises(Invalid):
            self.p.validate('0xff')

        with self.assertRaises(Invalid):
            self.p.validate('-1')

    def test_max(self):
        self.p = IntegerValidator('max', max=128)
        try:
            self.p.validate(0)
        except Invalid:
            self.fail('0 is smaller than 128')

        try:
            self.p.validate('0')
        except Invalid:
            self.fail('0 is smaller than 128')

        try:
            self.p.validate(128)
        except Invalid:
            self.fail('128 is valid if max=128')

        with self.assertRaises(Invalid):
            self.p.validate(129)

        with self.assertRaises(Invalid):
            self.p.validate(100000)

    def test_default(self):
        self.p = IntegerValidator('name', default=1)
        self.assertEqual(self.p.default, 1)