diff --git a/tests/test_async.py b/tests/test_async.py index 26a91118..0b155442 100644 --- a/tests/test_async.py +++ b/tests/test_async.py @@ -6,6 +6,7 @@ import pytest from flask import Blueprint from flask import Flask from flask import request +from flask.views import View, MethodView pytest.importorskip("asgiref") @@ -53,11 +54,28 @@ def _async_app(): app.register_blueprint(blueprint, url_prefix="/bp") + class AsyncView(View): + methods = ["GET", "POST"] + + async def dispatch_request(self): + return request.method + + app.add_url_rule("/async_view", view_func=AsyncView.as_view("async_view")) + + class AsyncMethodView(MethodView): + async def get(self): + return "GET" + + async def post(self): + return "POST" + + app.add_url_rule("/async_methodview", view_func=AsyncMethodView.as_view("async_methodview")) + return app @pytest.mark.skipif(sys.version_info < (3, 7), reason="requires Python >= 3.7") -@pytest.mark.parametrize("path", ["/", "/home", "/bp/"]) +@pytest.mark.parametrize("path", ["/", "/home", "/bp/", "async_view", "async_methodview"]) def test_async_route(path, async_app): test_client = async_app.test_client() response = test_client.get(path)