def test_error_if_spec_does_not_have_marshmallow_plugin(app): bad_spec = APISpec( title='title', version='v1', plugins=[], # oh no! no MarshmallowPlugin ) with pytest.raises(RuntimeError): ViewConverter(app=app, spec=bad_spec) with pytest.raises(RuntimeError): ResourceConverter(app=app, spec=bad_spec)
def init_app(self, app): self.app = app self.spec = self.app.config.get('APISPEC_SPEC') or \ make_apispec(self.app.config.get('APISPEC_TITLE', 'flask-apispec'), self.app.config.get('APISPEC_VERSION', 'v1')) self.add_swagger_routes() self.resource_converter = ResourceConverter(self.app, spec=self.spec) self.view_converter = ViewConverter(app=self.app, spec=self.spec) for deferred in self._deferred: deferred()
def init_app(self): """Override base init_app method.""" self.view_converter = ViewConverter(self.app) self.resource_converter = ResourceConverter(self.app) self.spec = APISpec(title=self.title, version=self.version, info={'description': self.top_level_description}, plugins=['apispec.ext.marshmallow']) self.add_swagger_routes() for deferred in self._deferred: deferred()
def init_app(self, **kwargs): """ Override base init_app method. :param kwargs: args """ self.spec = APISpec(title=self.title, version=self.version, info={'description': self.top_level_description}, plugins=[MarshmallowPlugin()], openapi_version='2.0') self.resource_converter = ResourceConverter(self.app, self.spec) self.view_converter = ViewConverter(self.app, self.spec) self.add_swagger_routes() for deferred in self._deferred: deferred()
def path(self, app, spec, resource_view): converter = ResourceConverter(app) paths = converter.convert(resource_view, endpoint='band') for path in paths: spec.add_path(**path) return spec._paths['/bands/{band_id}/']
def __init__(self, app): self.app = app self.view_converter = ViewConverter(self.app) self.resource_converter = ResourceConverter(self.app) self.spec = self.app.config.get('APISPEC_SPEC') or make_apispec() self.add_routes()