From c9d63f4e31633f967d105767b9ccf8f49df0b8c5 Mon Sep 17 00:00:00 2001 From: Eli Uriegas Date: Fri, 14 Oct 2016 17:36:58 -0500 Subject: [PATCH] Split up the exceptions tests --- tests/test_exceptions.py | 81 ++++++++++++-------------------- tests/test_exceptions_handler.py | 49 +++++++++++++++++++ 2 files changed, 80 insertions(+), 50 deletions(-) create mode 100644 tests/test_exceptions_handler.py diff --git a/tests/test_exceptions.py b/tests/test_exceptions.py index de2cbf11..ce538220 100644 --- a/tests/test_exceptions.py +++ b/tests/test_exceptions.py @@ -1,72 +1,53 @@ -from json import loads as json_loads, dumps as json_dumps from sanic import Sanic -from sanic.response import json, text +from sanic.response import text from sanic.exceptions import InvalidUsage, ServerError, NotFound -from helpers import sanic_endpoint_test +from sanic.utils import sanic_endpoint_test # ------------------------------------------------------------ # # GET # ------------------------------------------------------------ # -def test_exception_response(): - app = Sanic('test_text') +exception_app = Sanic('test_exceptions') - @app.route('/') - def handler(request): - return text('OK') - @app.route('/error') - def handler_error(request): - raise ServerError("OK") +@exception_app.route('/') +def handler(request): + return text('OK') - @app.route('/404') - def handler_404(request): - raise NotFound("OK") - @app.route('/invalid') - def handler_invalid(request): - raise InvalidUsage("OK") +@exception_app.route('/error') +def handler_error(request): + raise ServerError("OK") - request, response = sanic_endpoint_test(app) - assert response.status == 200 - assert response.text == 'OK' - request, response = sanic_endpoint_test(app, uri='/error') - assert response.status == 500 +@exception_app.route('/404') +def handler_404(request): + raise NotFound("OK") - request, response = sanic_endpoint_test(app, uri='/invalid') - assert response.status == 400 - request, response = sanic_endpoint_test(app, uri='/404') - assert response.status == 404 +@exception_app.route('/invalid') +def handler_invalid(request): + raise InvalidUsage("OK") -def test_exception_handler(): - app = Sanic('test_text') - @app.route('/1') - def handler_1(request): - raise InvalidUsage("OK") - @app.route('/2') - def handler_2(request): - raise ServerError("OK") - @app.route('/3') - def handler_3(request): - raise NotFound("OK") +def test_no_exception(): + request, response = sanic_endpoint_test(exception_app) + assert response.status == 200 + assert response.text == 'OK' - @app.exception(NotFound, ServerError) - def handler_exception(request, exception): - return text("OK") - request, response = sanic_endpoint_test(app, uri='/1') - assert response.status == 400 +def test_server_error_exception(): + request, response = sanic_endpoint_test(exception_app, uri='/error') + assert response.status == 500 - request, response = sanic_endpoint_test(app, uri='/2') - assert response.status == 200 - assert response.text == 'OK' - request, response = sanic_endpoint_test(app, uri='/3') - assert response.status == 200 +def test_invalid_usage_exception(): + request, response = sanic_endpoint_test(exception_app, uri='/invalid') + assert response.status == 400 + + +def test_not_found_exception(): + request, response = sanic_endpoint_test(exception_app, uri='/404') + assert response.status == 404 + - request, response = sanic_endpoint_test(app, uri='/random') - assert response.status == 200 - assert response.text == 'OK' \ No newline at end of file diff --git a/tests/test_exceptions_handler.py b/tests/test_exceptions_handler.py new file mode 100644 index 00000000..2e8bc359 --- /dev/null +++ b/tests/test_exceptions_handler.py @@ -0,0 +1,49 @@ +from sanic import Sanic +from sanic.response import text +from sanic.exceptions import InvalidUsage, ServerError, NotFound +from sanic.utils import sanic_endpoint_test + +exception_handler_app = Sanic('test_exception_handler') + + +@exception_handler_app.route('/1') +def handler_1(request): + raise InvalidUsage("OK") + + +@exception_handler_app.route('/2') +def handler_2(request): + raise ServerError("OK") + + +@exception_handler_app.route('/3') +def handler_3(request): + raise NotFound("OK") + + +@exception_handler_app.exception(NotFound, ServerError) +def handler_exception(request, exception): + return text("OK") + + +def test_invalid_usage_exception_handler(): + request, response = sanic_endpoint_test(exception_handler_app, uri='/1') + assert response.status == 400 + + +def test_server_error_exception_handler(): + request, response = sanic_endpoint_test(exception_handler_app, uri='/2') + assert response.status == 200 + assert response.text == 'OK' + + +def test_not_found_exception_handler(): + request, response = sanic_endpoint_test(exception_handler_app, uri='/3') + assert response.status == 200 + + +def test_text_exception__handler(): + request, response = sanic_endpoint_test( + exception_handler_app, uri='/random') + assert response.status == 200 + assert response.text == 'OK'