Esempio n. 1
0
    def test_attributes(self):
        integer_field = fields.IntegerField(column_name='iField',
                                            max_length=100,
                                            default=0)

        with self.assertRaises(AttributeError) as context:
            integer_field.lookup_value(None, None)

        self.assertEqual("IntegerField not allow attribute max_length",
                         str(context.exception))

        integer_field = fields.IntegerField()
        integer_field.name = 'integer_field'

        with self.assertRaises(AttributeError) as context:
            integer_field.lookup_value(None, None)

        self.assertEqual("Field integer_field required value",
                         str(context.exception))

        integer_field = fields.IntegerField(blank=True)
        integer_field.name = 'integer_field'

        db_v = integer_field.lookup_value(None, None)
        self.assertIsNone(db_v)

        integer_field = fields.IntegerField(default='Not Allowed')
        integer_field.name = 'integer_field'

        with self.assertRaises(error.DBTypeError) as context:
            integer_field.lookup_value(None, None)

        self.assertEqual(
            "IntegerField required value type <class 'int'>, "
            "get <class 'str'>", str(context.exception))

        integer_field = fields.IntegerField(default=100)
        db_v = integer_field.lookup_value(None, None)
        self.assertEqual(db_v, 100)

        p_v = integer_field.python_value(100)
        self.assertEqual(100, p_v)

        with self.assertRaises(ValueError) as context:
            integer_field.python_value('AAAAA')

        self.assertEqual("invalid literal for int() with base 10: 'AAAAA'",
                         str(context.exception))
Esempio n. 2
0
    def test_default_factoy(self):
        def a():
            return 2

        integer_field = fields.IntegerField(default=a)
        db_v = integer_field.lookup_value(None, None)
        self.assertEqual(db_v, 2)
Esempio n. 3
0
    def test_python_value(self):
        integer_field = fields.IntegerField()

        p_v = integer_field.python_value(100)
        self.assertEqual(p_v, 100)
Esempio n. 4
0
    def test_lookup_value(self):
        integer_field = fields.IntegerField()

        db_v = integer_field.lookup_value(None, 100)
        self.assertEqual(db_v, 100)