Skip to content

Commit

Permalink
test: Test how long pages take to load, optionally against a remote url
Browse files Browse the repository at this point in the history
  • Loading branch information
Bjwebb committed Feb 20, 2025
1 parent 48cf554 commit 0560401
Showing 1 changed file with 91 additions and 0 deletions.
91 changes: 91 additions & 0 deletions iati_dashboard/tests/test_page_speed.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
import os
import pytest
import requests

EXAMPLE_PAGES = [
"",
"publishers/",
"publishers/zsl/",
"errors/",
"publishing-statistics/",
"exploring-data/",
"faq/",
"errors/download-errors/",
"data/download_errors.json",
"errors/xml-errors/",
"errors/validation/",
"errors/identifiers/",
"errors/reporting-orgs/",
"exploring-data/files/",
"exploring-data/activities/",
"exploring-data/elements/",
"exploring-data/elements/iati-activity_activity-date_@iso-date/",
"exploring-data/codelists/",
"exploring-data/codelists/2/@default-currency/",
"exploring-data/booleans/",
"exploring-data/dates/",
"exploring-data/versions/",
"exploring-data/organisation/",
"exploring-data/licenses/",
"exploring-data/licenses/cc-by/",
"exploring-data/codelists/2/document-link_@format/",
"exploring-data/traceability/",
"exploring-data/organisation-identifiers/",
"exploring-data/organisation-type/receiver_org/",
"publishing-statistics/timeliness-frequency/",
"publishing-statistics/timeliness-timelag/",
"publishing-statistics/forward-looking/",
"publishing-statistics/comprehensiveness-summary/",
"publishing-statistics/comprehensiveness-core/",
"publishing-statistics/comprehensiveness-financials/",
"publishing-statistics/comprehensiveness-value-added/",
"publishing-statistics/summary-statistics/",
"publishing-statistics/humanitarian-reporting/",
"registration-agencies/",
"index.html",
"headlines.html",
"data_quality.html",
"exploring_data.html",
"publishers.html",
"publishing_stats.html",
"timeliness.html",
"timeliness_timelag.html",
"forwardlooking.html",
"comprehensiveness.html",
"comprehensiveness_core.html",
"comprehensiveness_financials.html",
"comprehensiveness_valueadded.html",
"summary_stats.html",
"humanitarian.html",
"files.html",
"activities.html",
"download.html",
"xml.html",
"validation.html",
"versions.html",
"organisation.html",
"identifiers.html",
"reporting_orgs.html",
"elements.html",
"codelists.html",
"booleans.html",
"dates.html",
"traceability.html",
"org_ids.html",
"faq.html",
"licenses.html",
"license/cc-by.html",
"publisher/zsl.html",
"codelist/2/[email protected]",
"element/[email protected]",
"org_type/.html",
"registration_agencies.html",
]


@pytest.mark.parametrize("page", EXAMPLE_PAGES)
def test_page_speed(page, live_server):
host = os.environ.get("DASHBOARD_ROOT_URL", live_server.url)
r = requests.get(f"{host}/{page}")
assert r.status_code == 200
assert r.elapsed.total_seconds() < 2

0 comments on commit 0560401

Please sign in to comment.