def make_app(): app = get_app(False, cors=True) app.add_middleware(i_f.MyMiddleware()) app.add_middleware(i_f.OtherMiddleware()) app.add_sink(i_f.sinkFn, '/sink_fn') app.add_sink(i_f.SinkClass(), '/sink_cls') app.add_error_handler(RuntimeError, i_f.my_error_handler) app.add_route('/foo', i_f.MyResponder()) app.add_route('/foo/{id}', i_f.MyResponder(), suffix='id') app.add_route('/bar', i_f.OtherResponder(), suffix='id') app.add_static_route('/fal', os.path.abspath('falcon')) app.add_static_route('/tes', os.path.abspath('tests'), fallback_filename='conftest.py') return app
def test_compiled_no_method_map(self): r = routing.CompiledRouter() r.add_route('/foo', i_f.MyResponder()) # clear the method map r._roots[0].method_map.clear() ri = inspect.inspect_compiled_router(r) assert ri[0].path == '/foo' assert ri[0].class_name == 'MyResponder' assert ri[0].methods == []
def test_compiled_partial(self): r = routing.CompiledRouter() r.add_route('/foo', i_f.MyResponder()) # override a method with a partial r._roots[0].method_map['GET'] = partial(r._roots[0].method_map['GET']) ri = inspect.inspect_compiled_router(r) for m in ri[0].methods: if m.method == 'GET': assert '_inspect_fixture' in m.source_info
def test_routes_empty_paths(self, asgi): app = get_app(asgi) r = i_f.MyResponderAsync() if asgi else i_f.MyResponder() app.add_route('/foo/bar/baz', r) routes = inspect.inspect_routes(app) assert len(routes) == 1 self.check_route(asgi, routes[0], '/foo/bar/baz', 'MyResponder', ['GET', 'POST', 'DELETE'], 'on_{}')