Ejemplo n.º 1
0
class TestSchema(StoredObject):

    _id = StringField(primary=True)

    # Simple fields

    intfield = IntegerField(list=False, validate=True)
    floatfield = FloatField(list=False, validate=True)
    boolfield = BooleanField(list=False, validate=True)
    datetimefield = DateTimeField(list=False, validate=True)
    stringfield = StringField(list=False, validate=True)
    regexfield = StringField(list=False, validate=RegexValidator('^foo$'))
    urlfield = StringField(list=False, validate=URLValidator())

    int_min_field = IntegerField(validate=MinValueValidator(3))
    int_max_field = IntegerField(validate=MaxValueValidator(15))
    string_min_field = StringField(validate=MinLengthValidator(3))
    string_max_field = StringField(validate=MaxLengthValidator(15))

    # List fields

    # int_list = IntegerField(list=True, validate=MinValueValidator(3))
    # float_list = FloatField(list=True, validate=True)
    # bool_list = BooleanField(list=True, validate=True)
    # datetime_list = DateTimeField(list=True, default=[])
    # string_list = StringField(list=True, validate=True)

    _meta = {'optimistic': True}
Ejemplo n.º 2
0
    def test_min_and_max_value_list(self):
        '''
        Assert that a list with MinLengthValidator(x) and
        MaxLengthValidator(y) cannot
        be saved with a length less than x or
        a length greater than y
        '''
        list_of_list_for_min_max = [
            ['whoa'],
            [2,4,0,],
            [17,],
            [5,5,5,5,],
            [5,5,5,5,6,7,8,9,11,12,],
        ]

        Schema = create_schema(
            'min_max_value_schema',
            field=IntegerField(
                list=True,
                validate=[MinValueValidator(5), MaxValueValidator(15)],
                list_validate=[MinLengthValidator(5), MaxLengthValidator(7)],
            )
        )
        test_row=Schema()
        for test_list in list_of_list_for_min_max:
            test_row.field = test_list
            self.assertRaises(Exception, test_row.save)
Ejemplo n.º 3
0
class ForwardNodeSettings(AddonNodeSettingsBase):

    url = fields.StringField(validate=URLValidator())
    label = fields.StringField(validate=sanitized)
    redirect_bool = fields.BooleanField(default=True, validate=True)
    redirect_secs = fields.IntegerField(
        default=15,
        validate=[MinValueValidator(5), MaxValueValidator(60)]
    )

    @property
    def link_text(self):
        return self.label if self.label else self.url
Ejemplo n.º 4
0
    def test_validate_max_value_list(self):
        '''
        Assert that a list with MaxLengthValidator(n) cannot
        be saved with a value greater than n.
        '''
        list_of_list_for_max = [
            ['whoa'],
            [
                2,
                4,
                40,
            ],
            [
                2,
                3,
                4,
                5,
            ],
            [
                2,
                3,
                4,
                5,
                6,
                7,
                8,
                9,
                11,
                12,
            ],
        ]

        Schema = create_schema(
            'max_value_schema',
            field=IntegerField(
                list=True,
                validate=MaxValueValidator(15),
                list_validate=[MinLengthValidator(5),
                               MaxLengthValidator(7)]))
        test_row = Schema()
        for test_list in list_of_list_for_max:
            test_row.field = test_list
            self.assertRaises(Exception, test_row.save)
Ejemplo n.º 5
0
 class Foo(StoredObject):
     _id = IntegerField()
     float_field = FloatField(list=False,
                              validate=[
                                  MaxValueValidator(5.),
                              ])
Ejemplo n.º 6
0
 class Foo(StoredObject):
     _id = IntegerField()
     int_field = IntegerField(list=False,
                              validate=[
                                  MaxValueValidator(5),
                              ])