Beispiel #1
0
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)
Beispiel #2
0
    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()
Beispiel #3
0
    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()
Beispiel #4
0
    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()
Beispiel #5
0
 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}/']
Beispiel #6
0
 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()