Example #1
0
class CacheType(models.Base):
    __tablename__ = "cachetypes"
    engine = fields.StringField(required=True)
    host = fields.StringField(required=True,
                              validators=[validators.Length(1, 256)])
    port = fields.IntField(
        validators=[validators.Min(0),
                    validators.Max(65535)])
    username = fields.StringField()
    password = fields.StringField()
Example #2
0
def test_max_validation():

    validator = validators.Max(42)
    assert 42 == validator.maximum_value

    validator.validate(4)
    validator.validate(42)
    with pytest.raises(errors.ValidationError):
        validator.validate(42.01)
    with pytest.raises(errors.ValidationError):
        validator.validate(43)
Example #3
0
    class ConfigModel(TinyJsonModel):
        __tablename__ = "config"

        ENV = fields.StringField(required=True,
                                 validators=[validators.Length(3, 25)])
        SECRET_KEY = fields.StringField(required=True,
                                        validators=[validators.Length(50, 64)])
        APP_DIR = fields.StringField(required=True,
                                     validators=[validators.Length(1, 253)])
        PROJECT_ROOT = fields.StringField(
            required=True, validators=[validators.Length(1, 256)])
        BCRYPT_LOG_ROUNDS = fields.IntField(
            required=True,
            validators=[
                validators.Min(4), validators.Max(10000)
            ])  # needs at least 4 to avoid "ValueError: Invalid rounds"
        DEBUG = fields.BoolField(required=True)
        ASSETS_DEBUG = fields.BoolField(required=True)
        DEBUG_TB_ENABLED = fields.BoolField(required=True)
        DEBUG_TB_INTERCEPT_REDIRECTS = fields.BoolField(required=True)
        CACHE_TYPE = fields.EmbeddedField(CacheType)
        SQLALCHEMY_TRACK_MODIFICATIONS = fields.BoolField(required=True)
        APP_NAME = fields.StringField(required=True,
                                      validators=[validators.Length(1, 32)])
        APP_TMPL = fields.StringField(required=True,
                                      validators=[validators.Length(1, 32)])
        DB_NAME = fields.StringField(required=True,
                                     validators=[validators.Length(1, 32)])
        DB_PATH = fields.StringField(required=True,
                                     validators=[validators.Length(1, 256)])
        SQLALCHEMY_DATABASE_URI = fields.StringField(
            required=True, validators=[validators.Length(1, 256)])
        WTF_CSRF_ENABLED = fields.BoolField(required=True)
        TESTING = fields.BoolField(required=True)
        AUTH_ENGINES = fields.ListField([AuthType])
        FLASK_DEBUG_DISABLE_STRICT = fields.BoolField(required=True)
        _last_update = fields.DateTimeField(required=True)
        _created_at = fields.DateTimeField(required=True)

        def __init__(self, *args, **kwargs):
            self._last_update = datetime.utcnow()
            self._created_at = self._last_update
            super(ConfigModel, self).__init__(*args, **kwargs)

        # Example model custom method
        def created_at_datetime(self):
            return self._created_at

        @property
        def getauthbackends(self):
            return self.AUTH_ENGINES

        class Meta:
            database = dbj
Example #4
0
 class People(models.Base):
     min_max_len = fields.ListField(str, validators=validators.Length(2, 4))
     min_len = fields.ListField(str, validators=validators.Length(2))
     max_len = fields.ListField(str, validators=validators.Length(4))
     item_validator_int = fields.ListField(
         int, item_validators=[validators.Min(10), validators.Max(20)]
     )
     item_validator_str = fields.ListField(
         str, item_validators=[validators.Length(10, 20),
                               validators.Regex(r"\w+")],
         validators=[validators.Length(1, 2)],
     )
     surname = fields.StringField()
Example #5
0
    class Person(models.Base):

        name = fields.StringField()
        surname = fields.StringField()
        age = fields.IntField(validators=validators.Max(18, True))
class MindMupRootNode(BaseIdea):
    attr = fields.EmbeddedField(rootAttributes)
    links = fields.ListField([Link])
    formatVersion = fields.IntField(
        validators=[validators.Max(2), validators.Min(2)])
    defaults = {'formatVersion': 2}