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 ae65d6e  Add a couple of simple public route tests
ae65d6e is described below

commit ae65d6eb68d8b717b705f531ec2ba371a742a0c3
Author: Sean B. Palmer <[email protected]>
AuthorDate: Sun Dec 7 12:40:15 2025 +0000

    Add a couple of simple public route tests
---
 atr/docs/code-conventions.md                      |  2 ++
 tests/Dockerfile.e2e                              |  2 +-
 tests/e2e/{test_hello.py => __init__.py}          |  4 ----
 tests/e2e/{test_hello.py => conftest.py}          |  7 +++++--
 tests/e2e/{test_hello.py => helpers.py}           | 12 ++++++++++--
 tests/e2e/{test_hello.py => public/__init__.py}   |  4 ----
 tests/e2e/{test_hello.py => public/conftest.py}   | 18 ++++++++++++++++--
 tests/e2e/{test_hello.py => public/test_index.py} | 11 +++++++++--
 8 files changed, 43 insertions(+), 17 deletions(-)

diff --git a/atr/docs/code-conventions.md b/atr/docs/code-conventions.md
index 2b5cbfb..0d54cce 100644
--- a/atr/docs/code-conventions.md
+++ b/atr/docs/code-conventions.md
@@ -166,6 +166,8 @@ import typing
 CONSTANT: typing.Final = "CONSTANT"
 ```
 
+In tests, only, `playwright.sync_api` is another exception. Use `from 
playwright.sync_api import expect`, for example.
+
 ### Use concise typing patterns
 
 Do not use `List` or `Optional` etc. from the typing module.
diff --git a/tests/Dockerfile.e2e b/tests/Dockerfile.e2e
index ca28ce8..a0c0ded 100644
--- a/tests/Dockerfile.e2e
+++ b/tests/Dockerfile.e2e
@@ -1,4 +1,4 @@
-FROM mcr.microsoft.com/playwright/python:v1.51.0-noble
+FROM mcr.microsoft.com/playwright/python:v1.56.0-noble
 
 RUN pip3 install --no-cache-dir --break-system-packages pytest 
pytest-playwright
 
diff --git a/tests/e2e/test_hello.py b/tests/e2e/__init__.py
similarity index 94%
copy from tests/e2e/test_hello.py
copy to tests/e2e/__init__.py
index b9d0ad8..13a8339 100644
--- a/tests/e2e/test_hello.py
+++ b/tests/e2e/__init__.py
@@ -14,7 +14,3 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-
-
-def test_hello() -> None:
-    assert True
diff --git a/tests/e2e/test_hello.py b/tests/e2e/conftest.py
similarity index 85%
copy from tests/e2e/test_hello.py
copy to tests/e2e/conftest.py
index b9d0ad8..9d9df8b 100644
--- a/tests/e2e/test_hello.py
+++ b/tests/e2e/conftest.py
@@ -15,6 +15,9 @@
 # specific language governing permissions and limitations
 # under the License.
 
+import pytest
 
-def test_hello() -> None:
-    assert True
+
[email protected](scope="session")
+def browser_context_args() -> dict[str, bool]:
+    return {"ignore_https_errors": True}
diff --git a/tests/e2e/test_hello.py b/tests/e2e/helpers.py
similarity index 74%
copy from tests/e2e/test_hello.py
copy to tests/e2e/helpers.py
index b9d0ad8..0330977 100644
--- a/tests/e2e/test_hello.py
+++ b/tests/e2e/helpers.py
@@ -15,6 +15,14 @@
 # specific language governing permissions and limitations
 # under the License.
 
+import os
+from typing import Final
 
-def test_hello() -> None:
-    assert True
+from playwright.sync_api import Page
+
+_ATR_BASE_URL: Final[str] = os.environ.get("ATR_BASE_URL", 
"https://localhost:8080";)
+
+
+def visit(page: Page, path: str) -> None:
+    page.goto(f"{_ATR_BASE_URL}{path}")
+    page.wait_for_load_state()
diff --git a/tests/e2e/test_hello.py b/tests/e2e/public/__init__.py
similarity index 94%
copy from tests/e2e/test_hello.py
copy to tests/e2e/public/__init__.py
index b9d0ad8..13a8339 100644
--- a/tests/e2e/test_hello.py
+++ b/tests/e2e/public/__init__.py
@@ -14,7 +14,3 @@
 # KIND, either express or implied.  See the License for the
 # specific language governing permissions and limitations
 # under the License.
-
-
-def test_hello() -> None:
-    assert True
diff --git a/tests/e2e/test_hello.py b/tests/e2e/public/conftest.py
similarity index 68%
copy from tests/e2e/test_hello.py
copy to tests/e2e/public/conftest.py
index b9d0ad8..1d9b808 100644
--- a/tests/e2e/test_hello.py
+++ b/tests/e2e/public/conftest.py
@@ -15,6 +15,20 @@
 # specific language governing permissions and limitations
 # under the License.
 
+from __future__ import annotations
 
-def test_hello() -> None:
-    assert True
+from typing import TYPE_CHECKING
+
+import e2e.helpers as helpers  # type: ignore[reportMissingImports]
+import pytest
+
+if TYPE_CHECKING:
+    from collections.abc import Generator
+
+    from playwright.sync_api import Page
+
+
[email protected]
+def page_index(page: Page) -> Generator[Page]:
+    helpers.visit(page, "/")
+    yield page
diff --git a/tests/e2e/test_hello.py b/tests/e2e/public/test_index.py
similarity index 71%
rename from tests/e2e/test_hello.py
rename to tests/e2e/public/test_index.py
index b9d0ad8..fe71808 100644
--- a/tests/e2e/test_hello.py
+++ b/tests/e2e/public/test_index.py
@@ -15,6 +15,13 @@
 # specific language governing permissions and limitations
 # under the License.
 
+from playwright.sync_api import Page, expect
 
-def test_hello() -> None:
-    assert True
+
+def test_index_has_login_link(page_index: Page) -> None:
+    login_link = page_index.get_by_role("link", name="Log in")
+    expect(login_link).to_be_visible()
+
+
+def test_index_loads(page_index: Page) -> None:
+    expect(page_index).to_have_title("Apache Trusted Releases")


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

Reply via email to