Checks that archives of two different user projects with the same name aren't the same via checksum. I.E. a user can't download the archive of another's project by mistake.
To enable the test some enhancements were made. Namely updating the client module to handle more than one API instance and the creation a custom rest call method that downloads to tmp.
Uses `:requires_admin` metadata to specify that a test needs
an admin user.
Sets the push file size limit test to require an admin user.
With an admin access token set as the env var
GITLAB_QA_ADMIN_ACCESS_TOKEN, the push size
limit test now only uses the API and CLI
Add knapsack qa report and use it to run tests in parallel
Use the RSpec runner with knapsack
The way the Knapsack runner uses exec to start rspec seems
incompatible with the way we expect it to work. Plus, it requires
specifying KNAPSACK_TEST_DIR.
Instead, we use knapsacks AllocatorBuilder to select the spec
files to run, and then start rspec as normal, via
RSpec::Core::Runner.run
This also means we can incorporate tags.
Let the job run automatically
Include KNAPSACK_TEST_FILE_PATTERN in vars
Check all defined knapsack env vars before requiring knapsack
gitlab-qa accepts an env var named GITLAB_QA_ACCESS_TOKEN, but here we
only accepted PERSONAL_ACCESS_TOKEN.
This change replaces PERSONAL_ACCESS_TOKEN with GITLAB_QA_ACCESS_TOKEN
First attempt at allowing a feature flag to be set via the command line
when running tests. This will enable the flag, run the tests, and then
disable the flag.
Using OptionParser meant changing how scenarios get the instance
address, so this also allows the address to be set as a command line
option. It's backwards compatible (you can still provide the address
as the command line option after the scenario)
Adds a new end-to-end test to check that Git protocol v2 can be used to
push over SSH.
Includes a change in Git::Repository to use Runtime::Env.debug? to
enable logging instead of .verbose?