Commit 1d582700 authored by Marcus Andersson's avatar Marcus Andersson Committed by Kevin Morris
Browse files

Adding route tests

Removing status code from 404 title

Removing status code from 503 title

Adding id to 503 error box

Indatation fix
parent f6744d3e
from aurweb.templates import make_context, render_template
from aurweb import l10n
async def not_found(request, exc):
_ = l10n.get_translator_for_request(request)
context = make_context(request, f"404 - {_('Page Not Found')}")
return render_template("errors/404.html", context)
context = make_context(request, "Page Not Found")
return render_template("errors/404.html", context, 404)
async def service_unavailable(request, exc):
_ = l10n.get_translator_for_request(request)
context = make_context(request, "503 - {_('Service Unavailable')}")
return render_template("errors/503.html", context)
context = make_context(request, "Service Unavailable")
return render_template("errors/503.html", context, 503)
# Maps HTTP errors to functions
exceptions = {
......
......@@ -4,7 +4,7 @@ own modules and imported here. """
from http import HTTPStatus
from urllib.parse import unquote
from fastapi import APIRouter, Form, Request
from fastapi import APIRouter, Form, Request, HTTPException
from fastapi.responses import HTMLResponse, RedirectResponse
from aurweb.templates import make_context, render_template
......@@ -48,3 +48,9 @@ async def index(request: Request):
""" Homepage route. """
context = make_context(request, "Home")
return render_template("index.html", context)
# A route that returns a error 503. For testing purposes.
@router.get("/raisefivethree", response_class=HTMLResponse)
async def raise_service_unavailable(request: Request):
raise HTTPException(status_code=503)
{% extends 'partials/layout.html' %}
{% block pageContent %}
<div class="box 404">
<div id="error-page" class="box 404">
<h2>404 - {% trans %}Page Not Found{% endtrans %}</h2>
<p>{% trans %}Sorry, the page you've requested does not exist.{% endtrans %}</p>
</div>
{% endblock %}
{% endblock %}
{% extends 'partials/layout.html' %}
{% block pageContent %}
<div class="box 404">
<div id="error-page" class="box 503">
<h2>503 - {% trans %}Service Unavailable{% endtrans %}</h2>
<p>{% trans %}Don't panic! This site is down due to maintenance. We will be back soon.{% endtrans %}</p>
</div>
......
......@@ -67,3 +67,10 @@ def test_language_query_params():
response = req.post("/language", data=post_data)
assert response.headers.get("location") == f"/?{q}"
assert response.status_code == int(HTTPStatus.SEE_OTHER)
def test_error_messages():
response1 = client.get("/thisroutedoesnotexist")
response2 = client.get("/raisefivethree")
assert response1.status_code == int(HTTPStatus.NOT_FOUND)
assert response2.status_code == int(HTTPStatus.SERVICE_UNAVAILABLE)
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment