class R(RequestSchema): querystring = { 'name': (And(str, Use(lambda v: v.lower())), 'The name of user'), optional('age'): (Use(int), 'The age of user'), 'year': And(int, lambda v: 1900 < v < 2012) }
def test_using_default_value_that_is_falsely_evaluated(self): r = RequestSchema(querystring={optional('param', 0): Use(int)}) assert r.validate_querystring({}) == {'param': 0}
def test_using_default_value_of_optional_param(self): r = RequestSchema(querystring={optional('param', 1): Use(int)}) assert r.validate_querystring({}) == {'param': 1}
def test_default_value_is_the_final_value_to_be_used(self): r = RequestSchema(querystring={optional('param', 'blank'): Use(int)}) assert r.validate_querystring({}) == {'param': 'blank'}
def test_optional_without_default_value(self): r = RequestSchema(querystring={optional('param'): Use(int)}) assert r.validate_querystring({}) == {}