mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Adding route tests
Removing status code from 404 title Removing status code from 503 title Adding id to 503 error box Indatation fix
This commit is contained in:
parent
f6744d3e39
commit
1d5827007f
5 changed files with 21 additions and 11 deletions
|
@ -1,17 +1,14 @@
|
||||||
from aurweb.templates import make_context, render_template
|
from aurweb.templates import make_context, render_template
|
||||||
from aurweb import l10n
|
|
||||||
|
|
||||||
|
|
||||||
async def not_found(request, exc):
|
async def not_found(request, exc):
|
||||||
_ = l10n.get_translator_for_request(request)
|
context = make_context(request, "Page Not Found")
|
||||||
context = make_context(request, f"404 - {_('Page Not Found')}")
|
return render_template("errors/404.html", context, 404)
|
||||||
return render_template("errors/404.html", context)
|
|
||||||
|
|
||||||
|
|
||||||
async def service_unavailable(request, exc):
|
async def service_unavailable(request, exc):
|
||||||
_ = l10n.get_translator_for_request(request)
|
context = make_context(request, "Service Unavailable")
|
||||||
context = make_context(request, "503 - {_('Service Unavailable')}")
|
return render_template("errors/503.html", context, 503)
|
||||||
return render_template("errors/503.html", context)
|
|
||||||
|
|
||||||
# Maps HTTP errors to functions
|
# Maps HTTP errors to functions
|
||||||
exceptions = {
|
exceptions = {
|
||||||
|
|
|
@ -4,7 +4,7 @@ own modules and imported here. """
|
||||||
from http import HTTPStatus
|
from http import HTTPStatus
|
||||||
from urllib.parse import unquote
|
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 fastapi.responses import HTMLResponse, RedirectResponse
|
||||||
|
|
||||||
from aurweb.templates import make_context, render_template
|
from aurweb.templates import make_context, render_template
|
||||||
|
@ -48,3 +48,9 @@ async def index(request: Request):
|
||||||
""" Homepage route. """
|
""" Homepage route. """
|
||||||
context = make_context(request, "Home")
|
context = make_context(request, "Home")
|
||||||
return render_template("index.html", context)
|
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)
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{% extends 'partials/layout.html' %}
|
{% extends 'partials/layout.html' %}
|
||||||
|
|
||||||
{% block pageContent %}
|
{% block pageContent %}
|
||||||
<div class="box 404">
|
<div id="error-page" class="box 404">
|
||||||
<h2>404 - {% trans %}Page Not Found{% endtrans %}</h2>
|
<h2>404 - {% trans %}Page Not Found{% endtrans %}</h2>
|
||||||
<p>{% trans %}Sorry, the page you've requested does not exist.{% endtrans %}</p>
|
<p>{% trans %}Sorry, the page you've requested does not exist.{% endtrans %}</p>
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{% extends 'partials/layout.html' %}
|
{% extends 'partials/layout.html' %}
|
||||||
|
|
||||||
{% block pageContent %}
|
{% block pageContent %}
|
||||||
<div class="box 404">
|
<div id="error-page" class="box 503">
|
||||||
<h2>503 - {% trans %}Service Unavailable{% endtrans %}</h2>
|
<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>
|
<p>{% trans %}Don't panic! This site is down due to maintenance. We will be back soon.{% endtrans %}</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -67,3 +67,10 @@ def test_language_query_params():
|
||||||
response = req.post("/language", data=post_data)
|
response = req.post("/language", data=post_data)
|
||||||
assert response.headers.get("location") == f"/?{q}"
|
assert response.headers.get("location") == f"/?{q}"
|
||||||
assert response.status_code == int(HTTPStatus.SEE_OTHER)
|
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)
|
Loading…
Add table
Reference in a new issue