This is an automated email from the ASF dual-hosted git repository.

sbp pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tooling-trusted-releases.git


The following commit(s) were added to refs/heads/main by this push:
     new 65dca05  Ensure that state is reset in test modules before starting
65dca05 is described below

commit 65dca054b7a1287c2601d34ceb76a5c6268592a1
Author: Sean B. Palmer <[email protected]>
AuthorDate: Wed Dec 17 17:02:10 2025 +0000

    Ensure that state is reset in test modules before starting
---
 tests/e2e/announce/conftest.py |  2 ++
 tests/e2e/compose/conftest.py  | 14 +-------------
 tests/e2e/helpers.py           | 12 ++++++++++++
 tests/e2e/report/conftest.py   | 14 +-------------
 tests/e2e/sbom/conftest.py     | 13 ++++++++-----
 tests/e2e/vote/conftest.py     |  2 ++
 tests/e2e/voting/conftest.py   | 14 +-------------
 7 files changed, 27 insertions(+), 44 deletions(-)

diff --git a/tests/e2e/announce/conftest.py b/tests/e2e/announce/conftest.py
index 1d1cdeb..1fbc4dd 100644
--- a/tests/e2e/announce/conftest.py
+++ b/tests/e2e/announce/conftest.py
@@ -50,6 +50,8 @@ def announce_context(browser: Browser) -> 
Generator[BrowserContext]:
 
     helpers.log_in(page)
 
+    helpers.delete_release_if_exists(page, PROJECT_NAME, VERSION_NAME)
+
     helpers.visit(page, f"/start/{PROJECT_NAME}")
     page.locator("input#version_name").fill(VERSION_NAME)
     page.get_by_role("button", name="Start new release").click()
diff --git a/tests/e2e/compose/conftest.py b/tests/e2e/compose/conftest.py
index 411d2f0..05fcc48 100644
--- a/tests/e2e/compose/conftest.py
+++ b/tests/e2e/compose/conftest.py
@@ -43,7 +43,7 @@ def compose_context(browser: Browser) -> 
Generator[BrowserContext]:
 
     helpers.log_in(page)
 
-    _delete_release_if_exists(page)
+    helpers.delete_release_if_exists(page, PROJECT_NAME, VERSION_NAME)
 
     helpers.visit(page, f"/start/{PROJECT_NAME}")
     page.locator("input#version_name").fill(VERSION_NAME)
@@ -74,18 +74,6 @@ def page_compose(compose_context: BrowserContext) -> 
Generator[Page]:
     page.close()
 
 
-def _delete_release_if_exists(page: Page) -> None:
-    """Delete the test release if it already exists."""
-    helpers.visit(page, COMPOSE_URL)
-    if not page.url.endswith(COMPOSE_URL.lstrip("/")):
-        return
-    delete_form = page.locator("#delete-draft-form form")
-    if delete_form.count() == 0:
-        return
-    delete_form.get_by_role("button").click()
-    page.wait_for_load_state()
-
-
 def _wait_for_tasks_banner_hidden(page: Page, timeout: int = 30000) -> None:
     """Wait for all background tasks to be completed."""
     page.wait_for_selector("#ongoing-tasks-banner", state="hidden", 
timeout=timeout)
diff --git a/tests/e2e/helpers.py b/tests/e2e/helpers.py
index fb891bd..56a244c 100644
--- a/tests/e2e/helpers.py
+++ b/tests/e2e/helpers.py
@@ -23,6 +23,18 @@ from playwright.sync_api import Page
 _ATR_BASE_URL: Final[str] = os.environ.get("ATR_BASE_URL", 
"https://localhost.apache.org:8080";)
 
 
+def delete_release_if_exists(page: Page, project_name: str, version_name: str) 
-> None:
+    release_name = f"{project_name}-{version_name}"
+    visit(page, "/admin/delete-release")
+    checkbox = 
page.locator(f'input[name="releases_to_delete"][value="{release_name}"]')
+    if checkbox.count() == 0:
+        return
+    checkbox.check()
+    page.locator('input[name="confirm_delete"]').fill("DELETE")
+    page.get_by_role("button", name="Delete selected releases 
permanently").click()
+    page.wait_for_load_state()
+
+
 def log_in(page: Page) -> None:
     page.goto(f"{_ATR_BASE_URL}/test/login")
     page.wait_for_load_state()
diff --git a/tests/e2e/report/conftest.py b/tests/e2e/report/conftest.py
index a84572d..4f62009 100644
--- a/tests/e2e/report/conftest.py
+++ b/tests/e2e/report/conftest.py
@@ -98,7 +98,7 @@ def report_context(browser: Browser) -> 
Generator[BrowserContext]:
 
     helpers.log_in(page)
 
-    _delete_release_if_exists(page)
+    helpers.delete_release_if_exists(page, PROJECT_NAME, VERSION_NAME)
 
     helpers.visit(page, f"/start/{PROJECT_NAME}")
     page.locator("input#version_name").fill(VERSION_NAME)
@@ -120,18 +120,6 @@ def report_context(browser: Browser) -> 
Generator[BrowserContext]:
     context.close()
 
 
-def _delete_release_if_exists(page: Page) -> None:
-    """Delete the test release if it already exists."""
-    helpers.visit(page, COMPOSE_URL)
-    if not page.url.endswith(COMPOSE_URL.lstrip("/")):
-        return
-    delete_form = page.locator("#delete-draft-form form")
-    if delete_form.count() == 0:
-        return
-    delete_form.get_by_role("button").click()
-    page.wait_for_load_state()
-
-
 def _wait_for_tasks_banner_hidden(page: Page, timeout: int = 30000) -> None:
     """Wait for all background tasks to be completed."""
     page.wait_for_selector("#ongoing-tasks-banner", state="hidden", 
timeout=timeout)
diff --git a/tests/e2e/sbom/conftest.py b/tests/e2e/sbom/conftest.py
index 01ba31d..6e8e003 100644
--- a/tests/e2e/sbom/conftest.py
+++ b/tests/e2e/sbom/conftest.py
@@ -18,7 +18,7 @@
 from __future__ import annotations
 
 import pathlib
-from typing import TYPE_CHECKING
+from typing import TYPE_CHECKING, Final
 
 import e2e.helpers as helpers
 import pytest
@@ -28,15 +28,18 @@ if TYPE_CHECKING:
 
     from playwright.sync_api import Page
 
-PROJECT_NAME = "test"
-VERSION_NAME = "0.1+e2e-sbom"
-FILE_NAME = "apache-test-0.2.tar.gz"
-CURRENT_DIR = pathlib.Path(__file__).parent.resolve()
+PROJECT_NAME: Final[str] = "test"
+VERSION_NAME: Final[str] = "0.1+e2e-sbom"
+FILE_NAME: Final[str] = "apache-test-0.2.tar.gz"
+CURRENT_DIR: Final[pathlib.Path] = pathlib.Path(__file__).parent.resolve()
 
 
 @pytest.fixture
 def page_release_with_file(page: Page) -> Generator[Page]:
     helpers.log_in(page)
+
+    helpers.delete_release_if_exists(page, PROJECT_NAME, VERSION_NAME)
+
     helpers.visit(page, f"/start/{PROJECT_NAME}")
     page.get_by_role("textbox").type(VERSION_NAME)
     page.get_by_role("button", name="Start new release").click()
diff --git a/tests/e2e/vote/conftest.py b/tests/e2e/vote/conftest.py
index 88199b3..2cdf1af 100644
--- a/tests/e2e/vote/conftest.py
+++ b/tests/e2e/vote/conftest.py
@@ -55,6 +55,8 @@ def vote_context(browser: Browser) -> 
Generator[BrowserContext]:
 
     helpers.log_in(page)
 
+    helpers.delete_release_if_exists(page, PROJECT_NAME, VERSION_NAME)
+
     helpers.visit(page, f"/start/{PROJECT_NAME}")
     page.locator("input#version_name").fill(VERSION_NAME)
     page.get_by_role("button", name="Start new release").click()
diff --git a/tests/e2e/voting/conftest.py b/tests/e2e/voting/conftest.py
index b13038b..50c20af 100644
--- a/tests/e2e/voting/conftest.py
+++ b/tests/e2e/voting/conftest.py
@@ -54,7 +54,7 @@ def voting_context(browser: Browser) -> 
Generator[BrowserContext]:
 
     helpers.log_in(page)
 
-    _delete_release_if_exists(page)
+    helpers.delete_release_if_exists(page, PROJECT_NAME, VERSION_NAME)
 
     helpers.visit(page, f"/start/{PROJECT_NAME}")
     page.locator("input#version_name").fill(VERSION_NAME)
@@ -76,18 +76,6 @@ def voting_context(browser: Browser) -> 
Generator[BrowserContext]:
     context.close()
 
 
-def _delete_release_if_exists(page: Page) -> None:
-    """Delete the test release if it already exists."""
-    helpers.visit(page, COMPOSE_URL)
-    if not page.url.endswith(COMPOSE_URL.lstrip("/")):
-        return
-    delete_form = page.locator("#delete-draft-form form")
-    if delete_form.count() == 0:
-        return
-    delete_form.get_by_role("button").click()
-    page.wait_for_load_state()
-
-
 def _wait_for_tasks_banner_hidden(page: Page, timeout: int = 30000) -> None:
     """Wait for all background tasks to be completed."""
     page.wait_for_selector("#ongoing-tasks-banner", state="hidden", 
timeout=timeout)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to