Skip to content

Browser tests for RPM and Python pages, sync detection, return URL and list order; stricter list-page and crawl checks - #35

Merged
aevnsvi merged 4 commits into
mainfrom
e2e-rpm-python-and-lists
Nov 2, 2026
Merged

aevnsvi merged 4 commits into
mainfrom
e2e-rpm-python-and-lists

Conversation

@aevnsvi

@aevnsvi aevnsvi commented Nov 2, 2026

Copy link
Copy Markdown

Adds browser tests that run against a real Pulp server and tightens two existing checks.

New tests (remote-admin project):

  • RPM and Python: a remote and a repository are created from the forms against a sync source the test publishes on the server itself, found in their lists by name filter, and the repository details show the URL the server reports for the distribution created with the checkbox. An RPM repository without a publication says it is not served. A sync started from the dialog is followed to its end and must have run for that repository and that remote.
  • Sync dialog: opening it sends the running-task question (exclusive_resources and state__in), the server answers 200 and Sync stays enabled when no task runs.
  • Return address: signing out on a list page with a query string and signing in again lands on the same address with the same query. The sessions the session tests open are now ended afterwards through the menu.
  • List order: the file repository list is in the name order of the server and the add form marks Name as required with Save disabled while it is empty.

Stricter checks:

  • The list-page table gains RPM repositories and remotes and Python repositories, remotes and packages. A list page fails on an error alert or the error state. Pages with a recorded defect run as expected failures, so a fix is noticed. A server without one of the expected plugins fails the run unless PULP_UI_E2E_ALLOW_MISSING_PLUGINS is set. For the limited account, a page its roles allow must show the title without an error, and an error elsewhere must come from a 403.
  • The crawler resolves object names for the RPM and Python detail and edit routes, records whether the user menu was shown for each screen, and fails every screen other than the login page that rendered signed out.

How it is tested: the new and changed specs and the whole remote-admin and remote-viewer suite pass on a test server (91 passed, 4 skipped for the container plugin that is not installed, nothing left behind under the test prefix). One crawl project (desktop, light theme) and the phone one pass with the new check. The signed-in check was shown to fail when the user menu selector matches nothing. The unit tests, type checks, lint and the public-content guard pass locally.

…motes and repositories

- remotes and repositories are created from the forms against a source the
  test publishes on the server itself
- the repository details show the URL the server reports for the
  distribution; an RPM repository without a publication says it is not served
- the sync started from the dialog is dispatched for the repository and its
  remote, and the task is followed to its end
… its query and the list order

- opening the sync dialog sends the running-task question the server accepts
  and leaves Sync usable when no task runs
- signing in again after signing out lands on the same list page with its
  query string
- sessions that a session test opens are ended afterwards through the menu
- the file repository list is in the server's name order and the add form
  marks Name as required
- RPM repositories and remotes and Python repositories, remotes and packages
  join the list-page table
- a list page fails when it shows an error alert or the error state
- pages with a recorded defect run as expected failures, so a fix is noticed
- a server that lacks one of the expected plugins fails the run unless
  PULP_UI_E2E_ALLOW_MISSING_PLUGINS is set
- the limited account must see the title without an error on the pages its
  roles allow, and an error elsewhere must come from a 403 answer
…creens rendered signed out

- the detail and edit routes of RPM and Python repositories and remotes are
  opened with the name of an existing object
- every report records whether the user menu was shown, and a screen other
  than the login page that rendered signed out fails the crawl
@aevnsvi
aevnsvi merged commit 77b548f into main Nov 2, 2026
6 checks passed
@aevnsvi
aevnsvi deleted the e2e-rpm-python-and-lists branch November 2, 2026 16:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant