Skip to content

Draft: Add E2E test to verify storage usage in pooled repos

John McDonnell requested to merge jmd-add-pool-repo-storage-size-e2e into master

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 under gitlab-qa-sandbox-group.
  • Ensure that no transient bugs are hidden accidentally due to the usage of waits and reloads.
  • 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

Merge request reports