def install_error_handlers(app, api): error = api.model( "IntegrityError", { "type": fields.ClassName(dash=True), # Get a kinda raw error message from psycopg "message": fields.String(attribute=lambda e: e._message()), }, ) @app.errorhandler(IntegrityError) @api.errorhandler(IntegrityError) @api.marshal_with(error, code=400) def integrity_error(error): """Database integrity error""" return error, 400 error = api.model( "InvalidTransition", { "type": fields.ClassName(dash=True), "message": fields.String(attribute=lambda e: str(e)), "from": fields.String(attribute="from_state"), "to": fields.String(attribute="to_state"), }, ) @app.errorhandler(InvalidTransition) @api.errorhandler(InvalidTransition) @api.marshal_with(error, code=400) def invalid_transition(error): """Raised when the state transition is invalid is invalid""" return error, 400
def test_with_dict(self, api): model = api.model('Test', { 'name': fields.ClassName(), }) data = api.marshal({}, model) assert data == {'name': 'object'}
def test_with_dict(self): model = self.api.model('Test', { 'name': fields.ClassName(), }) data = self.api.marshal({}, model) assert_equal(data, {'name': 'object'})
def test_output_dash(self, api): model = api.model('Test', { 'name': fields.ClassName(dash=True), }) class FakeClass(object): pass data = api.marshal(FakeClass(), model) assert data == {'name': 'fake_class'}
def test_default_output_classname(self, api): model = api.model('Test', { 'name': fields.ClassName(), }) class FakeClass(object): pass data = api.marshal(FakeClass(), model) assert data == {'name': 'FakeClass'}
def test_default_output_classname(self): model = self.api.model('Test', { 'name': fields.ClassName(), }) class FakeClass(object): pass data = self.api.marshal(FakeClass(), model) assert_equal(data, {'name': 'FakeClass'})
def test_simple_string_field(self): field = fields.ClassName() assert not field.required assert not field.discriminator assert field.__schema__ == {'type': 'string'}