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]