def test_app_name(self, internal): sv = inspect.StringVisitor(False, internal, name='foo') app = inspect.inspect_app(make_app()) s = sv.process(app).splitlines()[0] assert s == 'foo (WSGI)' assert app.to_string(name='bar').splitlines()[0] == 'bar (WSGI)'
def test_app_no_errors(self, verbose, internal): sv = inspect.StringVisitor(verbose, internal) app = inspect.inspect_app(make_app()) app.error_handlers.clear() assert inspect.StringVisitor(verbose, internal).process(app) == self.make( sv, app, verbose, internal, e=False )
def test_app(self, verbose, internal): sv = inspect.StringVisitor(verbose, internal) app = inspect.inspect_app(make_app()) assert inspect.StringVisitor(verbose, internal).process(app) == self.make( sv, app, verbose, internal)
def test_app_no_sink(self, verbose, internal): sv = inspect.StringVisitor(verbose, internal) app = inspect.inspect_app(make_app()) app.sinks.clear() assert inspect.StringVisitor(verbose, internal).process(app) == self.make( sv, app, verbose, internal, s=False )
def test_app_static_routes(self, verbose, internal): sv = inspect.StringVisitor(verbose, internal) app = inspect.inspect_app(make_app()) app.static_routes.clear() assert inspect.StringVisitor(verbose, internal).process(app) == self.make( sv, app, verbose, internal, sr=False )
def test_app_no_middleware(self, verbose, internal): sv = inspect.StringVisitor(verbose, internal) app = inspect.inspect_app(make_app()) app.middleware.middleware_classes.clear() app.middleware.middleware_tree.request.clear() app.middleware.middleware_tree.resource.clear() app.middleware.middleware_tree.response.clear() assert inspect.StringVisitor(verbose, internal).process(app) == self.make( sv, app, verbose, internal, m=False)
def main(): parser = make_parser() args = parser.parse_args() app = load_app(parser, args) if args.route_only: routes = inspect_routes(app) visitor = StringVisitor(args.verbose, args.internal) for route in routes: print(visitor.process(route)) else: print(inspect_app(app).to_string(args.verbose, args.internal))
def test_inspect(self, verbose, internal, monkeypatch): args = ['some-file.py', '{}:{}'.format(_MODULE, '_APP')] if verbose: args.append('-v') if internal: args.append('-i') monkeypatch.setattr('sys.argv', args) output = io.StringIO() with redirected(stdout=output): inspect_app.main() ins = inspect.inspect_app(_APP) self.check(output.getvalue().strip(), ins.to_string(verbose, internal))
def test_app(self, asgi): ai = inspect.inspect_app(make_app_async() if asgi else make_app()) assert len(ai.routes) == 3 assert len(ai.middleware.middleware_tree.request) == 2 assert len(ai.middleware.middleware_tree.resource) == 1 assert len(ai.middleware.middleware_tree.response) == 3 assert len(ai.middleware.middleware_classes) == 3 assert len(ai.static_routes) == 2 assert len(ai.sinks) == 2 assert len(ai.error_handlers) == 5 if asgi else 4 assert ai.asgi is asgi
def test_empty_app(self, asgi): ai = inspect.inspect_app(get_app(asgi, False)) assert ai.routes == [] assert ai.middleware.middleware_tree.request == [] assert ai.middleware.middleware_tree.resource == [] assert ai.middleware.middleware_tree.response == [] assert ai.middleware.middleware_classes == [] assert ai.middleware.independent is True assert ai.static_routes == [] assert ai.sinks == [] assert len(ai.error_handlers) == 4 if asgi else 3 assert ai.asgi is asgi
def test_info_class_repr_to_string(): ai = inspect.inspect_app(make_app()) assert str(ai) == ai.to_string() assert str(ai.routes[0]) == ai.routes[0].to_string() assert str(ai.routes[0].methods[0]) == ai.routes[0].methods[0].to_string() assert str(ai.middleware) == ai.middleware.to_string() s = str(ai.middleware.middleware_classes[0]) assert s == ai.middleware.middleware_classes[0].to_string() s = str(ai.middleware.middleware_tree.request[0]) assert s == ai.middleware.middleware_tree.request[0].to_string() assert str(ai.static_routes[0]) == ai.static_routes[0].to_string() assert str(ai.sinks[0]) == ai.sinks[0].to_string() assert str(ai.error_handlers[0]) == ai.error_handlers[0].to_string()
def test_dependent_middlewares(self, asgi): app = get_app(asgi, cors=False, independent_middleware=False) ai = inspect.inspect_app(app) assert ai.middleware.independent is False