This is an automated email from the ASF dual-hosted git repository.
sbp pushed a commit to branch sbp
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git
The following commit(s) were added to refs/heads/sbp by this push:
new ee6a1d9f Move the API endpoint to get a release policy
ee6a1d9f is described below
commit ee6a1d9f3c33d64a22d7e3a1c39e31d5bf365984
Author: Sean B. Palmer <[email protected]>
AuthorDate: Fri Mar 20 19:12:45 2026 +0000
Move the API endpoint to get a release policy
---
atr/api/__init__.py | 50 ++++++++++++++++++++++----------------------
atr/models/api.py | 4 ++--
tests/e2e/report/conftest.py | 2 +-
3 files changed, 28 insertions(+), 28 deletions(-)
diff --git a/atr/api/__init__.py b/atr/api/__init__.py
index 62d03f0c..7fcabc04 100644
--- a/atr/api/__init__.py
+++ b/atr/api/__init__.py
@@ -687,32 +687,13 @@ async def keys_user(
@api.typed
-@quart_schema.validate_response(models.api.ProjectGetResults, 200)
-async def project_get(
- _project_get: Literal["project/get"],
- project_key: safe.ProjectKey,
-) -> DictResponse:
- """
- URL: GET /project/get/<project_key>
-
- Get a project by name.
- """
- async with db.session() as data:
- project = await
data.project(key=str(project_key)).demand(exceptions.NotFound())
- return models.api.ProjectGetResults(
- endpoint="/project/get",
- project=project,
- ).model_dump(mode="json"), 200
-
-
[email protected]
-@quart_schema.validate_response(models.api.ProjectPolicyResults, 200)
-async def project_policy(
- _project_policy: Literal["project/policy"],
+@quart_schema.validate_response(models.api.PolicyGetResults, 200)
+async def policy_get(
+ _policy_get: Literal["policy/get"],
project_key: safe.ProjectKey,
) -> DictResponse:
"""
- URL: GET /project/policy/<project_key>
+ URL: GET /policy/get/<project_key>
Get project policy by name.
@@ -723,8 +704,8 @@ async def project_policy(
project = await data.project(key=str(project_key),
_release_policy=True, _committee=True).demand(
exceptions.NotFound()
)
- return models.api.ProjectPolicyResults(
- endpoint="/project/policy",
+ return models.api.PolicyGetResults(
+ endpoint="/policy/get",
project_key=project.safe_key,
policy_announce_release_subject=project.policy_announce_release_subject,
policy_announce_release_template=project.policy_announce_release_template,
@@ -749,6 +730,25 @@ async def project_policy(
).model_dump(mode="json"), 200
[email protected]
+@quart_schema.validate_response(models.api.ProjectGetResults, 200)
+async def project_get(
+ _project_get: Literal["project/get"],
+ project_key: safe.ProjectKey,
+) -> DictResponse:
+ """
+ URL: GET /project/get/<project_key>
+
+ Get a project by name.
+ """
+ async with db.session() as data:
+ project = await
data.project(key=str(project_key)).demand(exceptions.NotFound())
+ return models.api.ProjectGetResults(
+ endpoint="/project/get",
+ project=project,
+ ).model_dump(mode="json"), 200
+
+
@api.typed
@quart_schema.validate_response(models.api.ProjectReleasesResults, 200)
async def project_releases(
diff --git a/atr/models/api.py b/atr/models/api.py
index c33604c5..9b4fc74b 100644
--- a/atr/models/api.py
+++ b/atr/models/api.py
@@ -287,8 +287,8 @@ class ProjectGetResults(schema.Strict):
project: sql.Project
-class ProjectPolicyResults(schema.Strict):
- endpoint: Literal["/project/policy"] = schema.alias("endpoint")
+class PolicyGetResults(schema.Strict):
+ endpoint: Literal["/policy/get"] = schema.alias("endpoint")
project_key: safe.ProjectKey
policy_announce_release_subject: str
policy_announce_release_template: str
diff --git a/tests/e2e/report/conftest.py b/tests/e2e/report/conftest.py
index 61416a5a..dfa90d6b 100644
--- a/tests/e2e/report/conftest.py
+++ b/tests/e2e/report/conftest.py
@@ -131,7 +131,7 @@ def report_context(browser: Browser,
verify_license_check_mode: None) -> Generat
def verify_license_check_mode(browser: Browser) -> None:
"""Verify that the test project has the correct license check mode."""
context = browser.new_context(ignore_https_errors=True)
- policy = helpers.api_get(context.request,
f"/api/project/policy/{PROJECT_KEY}")
+ policy = helpers.api_get(context.request, f"/api/policy/get/{PROJECT_KEY}")
context.close()
mode = policy.get("policy_license_check_mode", "").upper()
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]