diff --git a/asu/main.py b/asu/main.py index 8602bac4..d8b021bd 100644 --- a/asu/main.py +++ b/asu/main.py @@ -127,8 +127,17 @@ def generate_latest(): @app.get("/json/v1/latest.json") def json_v1_latest(): + """Returns two lists: + + 1) A list of the latest releases on each branch that is still + under support, including any upcoming RC versions. Sorted by + release branch, with newest first. + + 2) A list of all available versions (both releases and snapshot), + sorted newest first. + """ latest = generate_latest() - return {"latest": latest} + return {"latest": latest, "versions": app.versions} def generate_branches(): diff --git a/tests/test_api.py b/tests/test_api.py index 5e35736b..10249595 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -264,6 +264,13 @@ def test_api_latest_default(client): response = client.get("/api/v1/latest", follow_redirects=False) assert response.status_code == 301 + response = client.get("/api/v1/latest", follow_redirects=True) + assert response.status_code == 200 + data = response.json() + assert data["latest"] == ["24.10.0-rc6", "23.05.5", "22.03.7"] + assert data["versions"][0] == "SNAPSHOT" + assert data["versions"][-1] == "1.2-SNAPSHOT" + def test_api_overview(client): response = client.get("/api/v1/overview", follow_redirects=False)