def test_integer_input(): field = Integer(name='name', required=True) mapper_session = get_mapper_session( data={'email': '*****@*****.**'}, output={}) with pytest.raises(FieldInvalid): field.marshal(mapper_session) mapper_session = get_mapper_session( data={'name': 'foo', 'email': '*****@*****.**'}, output={}) with pytest.raises(FieldInvalid): field.marshal(mapper_session) output = {} mapper_session = get_mapper_session( data={'name': 2, 'email': '*****@*****.**'}, output=output) field.marshal(mapper_session) assert output == {'name': 2} output = {} mapper_session = get_mapper_session( data={'name': '2', 'email': '*****@*****.**'}, output=output) field.marshal(mapper_session) assert output == {'name': 2}
def test_integer_field_invalid_type(): field = Integer(name='name') mapper_session = get_mapper_session( data={'name': None, 'email': '*****@*****.**'}, output={}) with pytest.raises(FieldInvalid): field.marshal(mapper_session)
def test_marshal_default(): field = Integer(name='name', default=5) output = {} mapper_session = get_mapper_session(data={}, output=output) field.marshal(mapper_session) assert output == {'name': 5}
def test_marshal_read_only_integer(): field = Integer(name='name', read_only=True, required=True) output = {} mapper_session = get_mapper_session( data={'id': 2, 'email': '*****@*****.**'}, output=output) field.marshal(mapper_session) assert output == {}
def test_integer_output(): class Foo(object): name = 2 field = Integer(name='name', required=True) output = {} mapper_session = get_mapper_session(obj=Foo(), output=output) field.serialize(mapper_session) assert output == {'name': 2}
def test_is_valid_choice(): field = Integer(name='type', choices=[1, 2]) output = {} mapper_session = get_mapper_session(data={'type': 3}, output=output) with pytest.raises(FieldInvalid): field.marshal(mapper_session) mapper_session = get_mapper_session(data={'type': 1}, output=output) field.marshal(mapper_session) assert output == {'type': 1}
class MapperBase(Mapper): __type__ = TestType id = Integer() name = String() users = Collection(Nested(UserMapper, allow_create=True))
class MapperBase(Mapper): __type__ = TestType id = Integer() name = String() user = Nested(UserMapper, null_default={})
class MapperBase(Mapper): __type__ = TestType id = Integer() name = String() __roles__ = {'public': object()}
class MapperBase(Mapper): __type__ = TestType id = Integer() name = String() __roles__ = {'private': blacklist('id')}
class MapperBase(Mapper): __type__ = TestType id = Integer() name = String() user = Nested(UserMapper, role='private') __roles__ = {'private': whitelist('name', 'user')}
class MapperA(PolymorphicMapper): __type__ = TestType id = Integer() name = String() object_type = String() __mapper_args__ = { 'polymorphic_on': 'object_type', }
def test_min_max(): field = Integer(name='age', min=20, max=35) output = {} mapper_session = get_mapper_session(data={'age': 15}, output=output) with pytest.raises(FieldInvalid): field.marshal(mapper_session) mapper_session = get_mapper_session(data={'age': 40}, output=output) with pytest.raises(FieldInvalid): field.marshal(mapper_session) mapper_session = get_mapper_session(data={'age': 25}, output=output) field.marshal(mapper_session) assert output == {'age': 25} mapper_session = get_mapper_session(data={'age': '25'}, output=output) field.marshal(mapper_session) assert output == {'age': 25}
class MapperBase(Mapper): __type__ = TestType id = Integer() name = String() user = Nested(UserMapper, role='private') __roles__ = { 'private': [ 'id', ] }
class MapperA(PolymorphicMapper): __type__ = TestType id = Integer() name = String() object_type = String() __roles__ = { '__default__': whitelist('id'), 'overview': whitelist('id', 'name', 'object_type'), } __mapper_args__ = { 'polymorphic_on': 'object_type', }
def test_is_valid_integer_pipe(): """test piping data through is_valid_integer. """ field = Integer(name='test') session = Session(field, 'test', {}) with pytest.raises(FieldInvalid): is_valid_integer(session) session.data = '2' assert is_valid_integer(session) == 2 session.data = 2 assert is_valid_integer(session) == 2 session.data = 2.3 assert is_valid_integer(session) == 2
class MapperBase(Mapper): __type__ = TestType id = Integer() name = String()
def test_min_max_integer(): field = Integer(name='age', min=20, max=35) output = {} mapper_session = get_mapper_session(data={'age': 15}, output=output) with pytest.raises(FieldInvalid): field.marshal(mapper_session) mapper_session = get_mapper_session(data={'age': 40}, output=output) with pytest.raises(FieldInvalid): field.marshal(mapper_session) mapper_session = get_mapper_session(data={'age': 25}, output=output) field.marshal(mapper_session) assert output == {'age': 25} mapper_session = get_mapper_session(data={'age': '25'}, output=output) field.marshal(mapper_session) assert output == {'age': 25} mapper_session = get_mapper_session(data={'age': 35}, output=output) field.marshal(mapper_session) assert output == {'age': 35}