Skip to content

Regression tests for repository URLs, the create flow and the repository form - #10

Merged
aevnsvi merged 4 commits into
mainfrom
tests-repository-regressions
Oct 29, 2026
Merged

aevnsvi merged 4 commits into
mainfrom
tests-repository-regressions

Conversation

@aevnsvi

@aevnsvi aevnsvi commented Oct 29, 2026

Copy link
Copy Markdown

Adds unit and component tests for how a repository's served URLs are found, the shared create flow, the repository form, the file repository create and edit pages, and the build stamp check.

  • repositoryDistributions: repository-, publication- and version-bound distributions with the server's base_url, the paged scan across pages, a failed load rejecting with a readable message instead of an empty list, the not-served rule for deb.
  • File Distributions tab: the base_url and the manifest line built from it.
  • createRepository: blocked before the first POST when the name or base path is taken or cannot be checked; repository then distribution in order; a refused distribution leaves the repository alone with the server's reason, no retry, no rollback.
  • Repository form: create-distribution box only on create and unticked, reserved base path prefixes, retained versions, double click on Save.
  • File repository pages: empty retained versions saves null, the server's refusal of 0 is shown, one POST for a double click, editing sends one PUT and creates nothing.
  • Build stamp: a malformed PULP_UI_COMMIT stops loading the settings module with a message naming the variable. The node test project also collects tests under config/.
  • The list handler of the test utilities can filter rows the way a server filter does.

No production source is changed. The suite also passes in shuffled order.

repositoryDistributions is tested against a mock server: the three kinds of
binding, the paged scan across pages, a failed load rejecting with a readable
message, and the not-served rule for deb. The file Distributions tab is tested
for the server's base_url and the manifest line built from it. The list
handler of the test utilities can now filter rows the way a server filter
does.
…mp check

The shared create flow is tested by the requests it sends: blocked before the
first POST when the name or base path is taken or cannot be checked, the
repository then the distribution in that order, and a refused distribution
leaving the repository alone with the server's reason and no retry or
rollback. The settings module is tested to refuse a malformed build commit
with a message naming PULP_UI_COMMIT. The node test project now also collects
tests under config/.
The create-distribution box is offered unticked on create only, a base path
under a configured reserved prefix is refused with Save blocked, retained
versions starts empty and shows the server's refusal, and a double click on
Save reaches the save handler once, including a second click that arrives
before the page has re-rendered.
The create page saves null retained versions by default, shows the server's
refusal of 0 and sends one POST for a double click. The edit page sends one
PUT and creates neither a repository nor a distribution.
@aevnsvi
aevnsvi merged commit b597215 into main Oct 29, 2026
6 of 7 checks passed
@aevnsvi
aevnsvi deleted the tests-repository-regressions branch October 29, 2026 17:45
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