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}
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)
def test_validate_min_value_list(self): ''' Assert that a list with MinLengthValidator(n) cannot be saved with a value less than n. ''' list_of_list_for_min = [ ['whoa'], [2,4,0,], [2,3,4,5,], [2,3,4,5,6,7,8,9,11,12,], ] Schema = create_schema( 'min_value_schema', field=IntegerField( list=True, validate=MinValueValidator(5), list_validate=[MinLengthValidator(5), MaxLengthValidator(7)] ) ) test_row = Schema() for test_list in list_of_list_for_min: test_row.field = test_list self.assertRaises(Exception, test_row.save)
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
class Foo(StoredObject): _id = IntegerField() float_field = FloatField(list=False, validate=[ MinValueValidator(5.), ])
class Foo(StoredObject): _id = IntegerField() int_field = IntegerField(list=False, validate=[ MinValueValidator(5), ])