diff --git a/docs/sanic/testing.md b/docs/sanic/testing.md index d4f61b4c..8ea4a2b7 100644 --- a/docs/sanic/testing.md +++ b/docs/sanic/testing.md @@ -57,3 +57,17 @@ def test_post_json_request_includes_data(): More information about the available arguments to aiohttp can be found [in the documentation for ClientSession](https://aiohttp.readthedocs.io/en/stable/client_reference.html#client-session). + + +### Deprecated: `sanic_endpoint_test` + +Prior to version 0.3.2, testing was provided through the `sanic_endpoint_test` method. This method will be deprecated in the next major version after 0.4.0; please use the `test_client` instead. + +``` +from sanic.utils import sanic_endpoint_test + +def test_index_returns_200(): + request, response = sanic_endpoint_test(app) + assert response.status == 200 +``` + diff --git a/sanic/utils.py b/sanic/utils.py new file mode 100644 index 00000000..176ce266 --- /dev/null +++ b/sanic/utils.py @@ -0,0 +1,17 @@ +import warnings + +from sanic.testing import SanicTestClient + + +def sanic_endpoint_test(app, method='get', uri='/', gather_request=True, + debug=False, server_kwargs={}, + *request_args, **request_kwargs): + warnings.warn( + "Use of sanic_endpoint_test will be deprecated in" + "the next major version after 0.4.0. Please use the `test_client` " + "available on the app object.", DeprecationWarning) + + test_client = SanicTestClient(app) + return test_client._sanic_endpoint_test( + method, uri, gather_request, debug, server_kwargs, + *request_args, **request_kwargs) diff --git a/tests/test_create_task.py b/tests/test_create_task.py index d7418466..ff685620 100644 --- a/tests/test_create_task.py +++ b/tests/test_create_task.py @@ -1,17 +1,16 @@ -from sanic import Sanic +import sanic +from sanic.utils import sanic_endpoint_test from sanic.response import text from threading import Event import asyncio - def test_create_task(): e = Event() - async def coro(): await asyncio.sleep(0.05) e.set() - app = Sanic('test_create_task') + app = sanic.Sanic() app.add_task(coro) @app.route('/early') @@ -23,8 +22,9 @@ def test_create_task(): await asyncio.sleep(0.1) return text(e.is_set()) - request, response = app.test_client.get('/early') + + request, response = sanic_endpoint_test(app, uri='/early') assert response.body == b'False' - request, response = app.test_client.get('/late') + request, response = sanic_endpoint_test(app, uri='/late') assert response.body == b'True'