コード例 #1
0
ファイル: test_inspect.py プロジェクト: hzdwang/falcon-1
    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)'
コード例 #2
0
ファイル: test_inspect.py プロジェクト: wsz/falcon
 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
     )
コード例 #3
0
ファイル: test_inspect.py プロジェクト: hzdwang/falcon-1
    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)
コード例 #4
0
ファイル: test_inspect.py プロジェクト: wsz/falcon
 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
     )
コード例 #5
0
ファイル: test_inspect.py プロジェクト: wsz/falcon
 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
     )
コード例 #6
0
 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)
コード例 #7
0
ファイル: inspect_app.py プロジェクト: wsz/falcon
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))
コード例 #8
0
 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))
コード例 #9
0
ファイル: test_inspect.py プロジェクト: hzdwang/falcon-1
    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
コード例 #10
0
ファイル: test_inspect.py プロジェクト: hzdwang/falcon-1
    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
コード例 #11
0
ファイル: test_inspect.py プロジェクト: hzdwang/falcon-1
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()
コード例 #12
0
ファイル: test_inspect.py プロジェクト: hzdwang/falcon-1
 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