Split up the exceptions tests

This commit is contained in:
Eli Uriegas 2016-10-14 17:36:58 -05:00
parent 4684083f2f
commit c9d63f4e31
2 changed files with 80 additions and 50 deletions

View File

@ -1,72 +1,53 @@
from json import loads as json_loads, dumps as json_dumps
from sanic import Sanic from sanic import Sanic
from sanic.response import json, text from sanic.response import text
from sanic.exceptions import InvalidUsage, ServerError, NotFound from sanic.exceptions import InvalidUsage, ServerError, NotFound
from helpers import sanic_endpoint_test from sanic.utils import sanic_endpoint_test
# ------------------------------------------------------------ # # ------------------------------------------------------------ #
# GET # GET
# ------------------------------------------------------------ # # ------------------------------------------------------------ #
def test_exception_response(): exception_app = Sanic('test_exceptions')
app = Sanic('test_text')
@app.route('/')
def handler(request): @exception_app.route('/')
def handler(request):
return text('OK') return text('OK')
@app.route('/error')
def handler_error(request): @exception_app.route('/error')
def handler_error(request):
raise ServerError("OK") raise ServerError("OK")
@app.route('/404')
def handler_404(request): @exception_app.route('/404')
def handler_404(request):
raise NotFound("OK") raise NotFound("OK")
@app.route('/invalid')
def handler_invalid(request): @exception_app.route('/invalid')
def handler_invalid(request):
raise InvalidUsage("OK") raise InvalidUsage("OK")
request, response = sanic_endpoint_test(app)
def test_no_exception():
request, response = sanic_endpoint_test(exception_app)
assert response.status == 200 assert response.status == 200
assert response.text == 'OK' assert response.text == 'OK'
request, response = sanic_endpoint_test(app, uri='/error')
def test_server_error_exception():
request, response = sanic_endpoint_test(exception_app, uri='/error')
assert response.status == 500 assert response.status == 500
request, response = sanic_endpoint_test(app, uri='/invalid')
def test_invalid_usage_exception():
request, response = sanic_endpoint_test(exception_app, uri='/invalid')
assert response.status == 400 assert response.status == 400
request, response = sanic_endpoint_test(app, uri='/404')
def test_not_found_exception():
request, response = sanic_endpoint_test(exception_app, uri='/404')
assert response.status == 404 assert response.status == 404
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")
@app.exception(NotFound, ServerError)
def handler_exception(request, exception):
return text("OK")
request, response = sanic_endpoint_test(app, uri='/1')
assert response.status == 400
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
request, response = sanic_endpoint_test(app, uri='/random')
assert response.status == 200
assert response.text == 'OK'

View File

@ -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'