Draft: Add E2E test to verify storage usage in pooled repos
Description of the test
Test case to verify that the reported storage usage is accurate for repositories using pooled storage. https://docs.gitlab.com/ee/administration/repository_storage_types.html#hashed-object-pools
https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/366599
Test Steps:
- Create a Project
- Add 50kb file to Project
- Fork Project
(In the background - pools are setup to share data between the 2 projects)
- Add 40kb file to Project
- Add 30kb file to Project-Fork
- Trigger HouseKeeping, and RepositorySize Checks to get an updated RepoSize value
- expect Project Size to be 0 kb --> All data in source project is moved to the pools
- expect Project-Fork Size to be ~30kb --> The original 50kb is in the pools and not counted, but the 30kb unique to the project is counted
Closes gitlab-org/quality/testcases#3224
Checklist
-
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 environment with and without the GITLAB_QA_ADMIN_ACCESS_TOKEN
provided.
Edited by John McDonnell