Adding new e2e test for praefect sync repo mgmt commands
Description of the test
Adding a new E2E test to validate the behaviour of the praefect administration commands which have been added as part of the effort to rectify issues synchronizing the Gitaly filesystem with the Praefect database - &6723 (closed)
This E2E test resolves #341925 (closed) #341924 (closed) #342037 (closed)
Flow of test:
- Add 2 git repos to a gitaly node filesystem
- Validate that the
list-untracked-repositories
command detects the repos on the filesystem - Validate the the
track-repository
command can be used to add the 2 repos into the praefect database, which ultimately leads to the repo being added to the database, and then replicated to the other nodes - Validate that the
remove-repository
command can be used to remove 1 of the newly added repos, and it cleans up both filesystem and database
Testcase: gitlab-org/quality/testcases#2328 (closed)
Check-list
-
Confirm the test has a testcase:
tag linking to an existing test case in the test case project. -
Note if the test is intended to run in specific scenarios. If a scenario is new, add a link to the MR that adds the new scenario. -
Follow the end-to-end tests style guide and best practices. -
Use the appropriate RSpec metadata tag(s). -
Ensure that a created resource is removed after test execution. A Group
resource can be shared between multiple tests. Do not remove it unless it has a unique path. Note that we have a cleanup job that periodically removes groups undergitlab-qa-sandbox-group
. -
Ensure that no transient bugs are hidden accidentally due to the usage of waits
andreloads
. -
Verify the tags to ensure it runs on the desired test environments. -
If this MR has a dependency on another MR, such as a GitLab QA MR, specify the order in which the MRs should be merged. -
(If applicable) Create a follow-up issue to document the special setup necessary to run the test: ISSUE_LINK -
If the test requires an admin's personal access token, ensure that the test passes on your local with and without the GITLAB_QA_ADMIN_ACCESS_TOKEN
provided.
Edited by John McDonnell