Commit 331a0a08 authored by Sanad Liaquat's avatar Sanad Liaquat

Merge branch 'qa-update-all-test-case-links' into 'master'

Update issue links to test case links for e2e specs

See merge request gitlab-org/gitlab!68677
parents a2d37b2e 9c39dbc4
...@@ -14,27 +14,27 @@ The QA framework uses [Zeitwerk](https://github.com/fxn/zeitwerk) for class and ...@@ -14,27 +14,27 @@ The QA framework uses [Zeitwerk](https://github.com/fxn/zeitwerk) for class and
In case custom inflection logic is needed, custom inflectors are added in the [qa.rb](https://gitlab.com/gitlab-org/gitlab/-/blob/master/qa/qa.rb) file in the `loader.inflector.inflect` method invocation. In case custom inflection logic is needed, custom inflectors are added in the [qa.rb](https://gitlab.com/gitlab-org/gitlab/-/blob/master/qa/qa.rb) file in the `loader.inflector.inflect` method invocation.
## Link a test to its test-case issue ## Link a test to its test case
Every test should have a corresponding issue in the [Quality Test Cases project](https://gitlab.com/gitlab-org/quality/testcases/). Every test should have a corresponding test case as well as a results issue in the [Quality Test Cases project](https://gitlab.com/gitlab-org/quality/testcases/).
It's recommended that you reuse the issue created to plan the test. If one does not already exist you It's recommended that you reuse the issue created to plan the test as the results issue. If a test case or results issue does not already exist you
can create the issue yourself. Alternatively, you can run the test in a pipeline that has reporting can create them yourself. Alternatively, you can run the test in a pipeline that has reporting
enabled and the test-case issue reporter will automatically create a new issue. enabled and the test-case reporter will automatically create a new test case and/or results issue and link the results issue to it's corresponding test case.
Whether you create a new test-case issue or one is created automatically, you will need to manually add Whether you create a new test case or one is created automatically, you will need to manually add
a `testcase` RSpec metadata tag. In most cases, a single test will be associated with a single test-case a `testcase` RSpec metadata tag. In most cases, a single test will be associated with a single test case
issue ([see below for exceptions](#exceptions)). ([see below for exceptions](#exceptions)).
For example: For example:
```ruby ```ruby
RSpec.describe 'Stage' do RSpec.describe 'Stage' do
describe 'General description of the feature under test' do describe 'General description of the feature under test' do
it 'test name', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/:issue_id' do it 'test name', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/:test_case_id' do
... ...
end end
it 'another test', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/:another_issue_id' do it 'another test', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/:another_test_case_id' do
... ...
end end
end end
...@@ -44,10 +44,10 @@ end ...@@ -44,10 +44,10 @@ end
### Exceptions ### Exceptions
Most tests are defined by a single line of a `spec` file, which is why those tests can be linked to a Most tests are defined by a single line of a `spec` file, which is why those tests can be linked to a
single test-case issue via the `testcase` tag. single test case via the `testcase` tag.
However, some tests don't have a one-to-one relationship between a line of a `spec` file and a test-case However, some tests don't have a one-to-one relationship between a line of a `spec` file and a test case.
issue. This is because some tests are defined in a way that means a single line is associated with This is because some tests are defined in a way that means a single line is associated with
multiple tests, including: multiple tests, including:
- Parallelized tests. - Parallelized tests.
...@@ -55,13 +55,13 @@ multiple tests, including: ...@@ -55,13 +55,13 @@ multiple tests, including:
- Tests in shared examples that include more than one example. - Tests in shared examples that include more than one example.
In those and similar cases we can't assign a single `testcase` tag and so we rely on the test-case In those and similar cases we can't assign a single `testcase` tag and so we rely on the test-case
reporter to programmatically determine the correct test-case issue based on the name and description of reporter to programmatically determine the correct test case based on the name and description of
the test. In such cases, the test-case reporter will automatically create a test-case issue the first time the test. In such cases, the test-case reporter will automatically create a test case and/or results issue
the test runs, if no issue exists already. the first time the test runs, if none exist already.
In such a case, if you create the issue yourself or want to reuse an existing issue, In such a case, if you create the test case or results issue yourself or want to reuse an existing issue,
you must use this [end-to-end test issue template](https://gitlab.com/gitlab-org/quality/testcases/-/blob/master/.gitlab/issue_templates/End-to-end%20Test.md) you must use this [end-to-end test issue template](https://gitlab.com/gitlab-org/quality/testcases/-/blob/master/.gitlab/issue_templates/End-to-end%20Test.md)
to format the issue description. to format the issue description. (Note you must copy/paste this for test cases as templates aren't currently available.)
To illustrate, there are two tests in the shared examples in [`qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb`](https://gitlab.com/gitlab-org/gitlab/-/blob/47b17db82c38ab704a23b5ba5d296ea0c6a732c8/qa/qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb): To illustrate, there are two tests in the shared examples in [`qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb`](https://gitlab.com/gitlab-org/gitlab/-/blob/47b17db82c38ab704a23b5ba5d296ea0c6a732c8/qa/qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb):
...@@ -90,9 +90,9 @@ RSpec.describe 'Create' do ...@@ -90,9 +90,9 @@ RSpec.describe 'Create' do
end end
``` ```
There would be two associated test-case issues, one for each shared example, with the following content: There would be two associated test cases, one for each shared example, with the following content:
[Test 1](https://gitlab.com/gitlab-org/quality/testcases/-/issues/600): [Test 1 Test Case](https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1491):
````markdown ````markdown
```markdown ```markdown
...@@ -111,10 +111,66 @@ pushes and merges ...@@ -111,10 +111,66 @@ pushes and merges
./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb ./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb
### DO NOT EDIT BELOW THIS LINE
Active and historical test results:
https://gitlab.com/gitlab-org/quality/testcases/-/issues/600
```
````
[Test 1 Results Issue](https://gitlab.com/gitlab-org/quality/testcases/-/issues/600):
````markdown
```markdown
Title: browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb | Create Restricted
protected branch push and merge when only one user is allowed to merge and push to a protected
branch behaves like only user with access pushes and merges selecte...
Description:
### Full description
Create Restricted protected branch push and merge when only one user is allowed to merge and push
to a protected branch behaves like only user with access pushes and merges selected developer user
pushes and merges
### File path
./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb
```
````
[Test 2 Test Case](https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/602):
````markdown
```markdown
Title: browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb | Create Restricted
protected branch push and merge when only one user is allowed to merge and push to a protected
branch behaves like only user with access pushes and merges unselec...
Description:
### Full description
Create Restricted protected branch push and merge when only one user is allowed to merge and push
to a protected branch behaves like only user with access pushes and merges unselected maintainer
user fails to push
### File path
./qa/specs/features/ee/browser_ui/3_create/repository/restrict_push_protected_branch_spec.rb
### DO NOT EDIT BELOW THIS LINE
Active and historical test results:
https://gitlab.com/gitlab-org/quality/testcases/-/issues/602
``` ```
```` ````
[Test 2](https://gitlab.com/gitlab-org/quality/testcases/-/issues/602): [Test 2 Results Issue](https://gitlab.com/gitlab-org/quality/testcases/-/issues/602):
````markdown ````markdown
```markdown ```markdown
......
...@@ -73,7 +73,7 @@ module QA ...@@ -73,7 +73,7 @@ module QA
it( it(
'imports group with subgroups and labels', 'imports group with subgroups and labels',
testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1871' testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1873'
) do ) do
expect { imported_group.import_status }.to( expect { imported_group.import_status }.to(
eventually_eq('finished').within(max_duration: 300, sleep_interval: 2) eventually_eq('finished').within(max_duration: 300, sleep_interval: 2)
......
...@@ -30,7 +30,7 @@ module QA ...@@ -30,7 +30,7 @@ module QA
user.remove_via_api! user.remove_via_api!
end end
it 'imports Github repo via api', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1858' do it 'imports Github repo via api', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1878' do
imported_project # import the project imported_project # import the project
expect { imported_project.reload!.import_status }.to eventually_eq('finished').within(max_duration: 90) expect { imported_project.reload!.import_status }.to eventually_eq('finished').within(max_duration: 90)
......
...@@ -128,7 +128,7 @@ module QA ...@@ -128,7 +128,7 @@ module QA
) )
end end
it 'imports large Github repo via api' do it 'imports large Github repo via api', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1880' do
start = Time.now start = Time.now
Runtime::Logger.info("Importing project '#{imported_project.full_path}'") # import the project and log path Runtime::Logger.info("Importing project '#{imported_project.full_path}'") # import the project and log path
......
...@@ -9,7 +9,7 @@ module QA ...@@ -9,7 +9,7 @@ module QA
end end
context 'for the same project' do context 'for the same project' do
it 'can be used to create a file via the project API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1734' do it 'can be used to create a file via the project API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1823' do
expect do expect do
Resource::File.fabricate_via_api! do |file| Resource::File.fabricate_via_api! do |file|
file.api_client = @user_api_client file.api_client = @user_api_client
...@@ -22,7 +22,7 @@ module QA ...@@ -22,7 +22,7 @@ module QA
end.not_to raise_error end.not_to raise_error
end end
it 'can be used to commit via the API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1735' do it 'can be used to commit via the API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1822' do
expect do expect do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.api_client = @user_api_client commit.api_client = @user_api_client
...@@ -43,7 +43,7 @@ module QA ...@@ -43,7 +43,7 @@ module QA
@different_project = Resource::Project.fabricate! @different_project = Resource::Project.fabricate!
end end
it 'cannot be used to create a file via the project API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1736' do it 'cannot be used to create a file via the project API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1821' do
expect do expect do
Resource::File.fabricate_via_api! do |file| Resource::File.fabricate_via_api! do |file|
file.api_client = @user_api_client file.api_client = @user_api_client
...@@ -56,7 +56,7 @@ module QA ...@@ -56,7 +56,7 @@ module QA
end.to raise_error(Resource::ApiFabricator::ResourceFabricationFailedError, /403 Forbidden/) end.to raise_error(Resource::ApiFabricator::ResourceFabricationFailedError, /403 Forbidden/)
end end
it 'cannot be used to commit via the API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1737' do it 'cannot be used to commit via the API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1820' do
expect do expect do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.api_client = @user_api_client commit.api_client = @user_api_client
......
...@@ -8,7 +8,7 @@ module QA ...@@ -8,7 +8,7 @@ module QA
let(:api_client) { Runtime::API::Client.new(:gitlab, ip_limits: true) } let(:api_client) { Runtime::API::Client.new(:gitlab, ip_limits: true) }
let(:request) { Runtime::API::Request.new(api_client, '/users') } let(:request) { Runtime::API::Request.new(api_client, '/users') }
it 'GET /users', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/441' do it 'GET /users', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1567' do
5.times do 5.times do
get request.url get request.url
expect_status(200) expect_status(200)
......
...@@ -30,7 +30,7 @@ module QA ...@@ -30,7 +30,7 @@ module QA
@group.sandbox.remove_member(@user) @group.sandbox.remove_member(@user)
end end
it 'is not allowed to push code via the CLI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1660' do it 'is not allowed to push code via the CLI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1712' do
expect do expect do
Resource::Repository::Push.fabricate! do |push| Resource::Repository::Push.fabricate! do |push|
push.repository_http_uri = @project.repository_http_location.uri push.repository_http_uri = @project.repository_http_location.uri
...@@ -43,7 +43,7 @@ module QA ...@@ -43,7 +43,7 @@ module QA
end.to raise_error(QA::Support::Run::CommandError, /You are not allowed to push code to this project/) end.to raise_error(QA::Support::Run::CommandError, /You are not allowed to push code to this project/)
end end
it 'is not allowed to create a file via the API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1661' do it 'is not allowed to create a file via the API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1711' do
expect do expect do
Resource::File.fabricate_via_api! do |file| Resource::File.fabricate_via_api! do |file|
file.api_client = @user_api_client file.api_client = @user_api_client
...@@ -56,7 +56,7 @@ module QA ...@@ -56,7 +56,7 @@ module QA
end.to raise_error(Resource::ApiFabricator::ResourceFabricationFailedError, /403 Forbidden/) end.to raise_error(Resource::ApiFabricator::ResourceFabricationFailedError, /403 Forbidden/)
end end
it 'is not allowed to commit via the API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1662' do it 'is not allowed to commit via the API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1710' do
expect do expect do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.api_client = @user_api_client commit.api_client = @user_api_client
......
...@@ -8,13 +8,13 @@ module QA ...@@ -8,13 +8,13 @@ module QA
let(:api_client) { Runtime::API::Client.new(:gitlab) } let(:api_client) { Runtime::API::Client.new(:gitlab) }
let(:request) { Runtime::API::Request.new(api_client, '/users') } let(:request) { Runtime::API::Request.new(api_client, '/users') }
it 'GET /users', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/460' do it 'GET /users', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1552' do
get request.url get request.url
expect_status(200) expect_status(200)
end end
it 'GET /users/:username with a valid username', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/480' do it 'GET /users/:username with a valid username', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1544' do
get request.url, { params: { username: Runtime::User.username } } get request.url, { params: { username: Runtime::User.username } }
expect_status(200) expect_status(200)
...@@ -23,7 +23,7 @@ module QA ...@@ -23,7 +23,7 @@ module QA
) )
end end
it 'GET /users/:username with an invalid username', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/462' do it 'GET /users/:username with an invalid username', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1551' do
get request.url, { params: { username: SecureRandom.hex(10) } } get request.url, { params: { username: SecureRandom.hex(10) } }
expect_status(200) expect_status(200)
......
...@@ -22,7 +22,7 @@ module QA ...@@ -22,7 +22,7 @@ module QA
push_commit('Initial commit') push_commit('Initial commit')
end end
it 'closes via pushing a commit', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/423' do it 'closes via pushing a commit', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1579' do
push_commit("Closes ##{issue_id}", false) push_commit("Closes ##{issue_id}", false)
Support::Retrier.retry_until(max_duration: 10, sleep_interval: 1) do Support::Retrier.retry_until(max_duration: 10, sleep_interval: 1) do
......
...@@ -28,7 +28,7 @@ module QA ...@@ -28,7 +28,7 @@ module QA
praefect_manager.reset_primary_to_original praefect_manager.reset_primary_to_original
end end
it 'automatically fails over', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/976' do it 'automatically fails over', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1267' do
# Create a new project with a commit and wait for it to replicate # Create a new project with a commit and wait for it to replicate
Resource::Repository::ProjectPush.fabricate! do |push| Resource::Repository::ProjectPush.fabricate! do |push|
push.project = project push.project = project
...@@ -66,7 +66,7 @@ module QA ...@@ -66,7 +66,7 @@ module QA
end end
context 'when recovering from dataloss after failover' do context 'when recovering from dataloss after failover' do
it 'automatically reconciles', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/238187', type: :stale }, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/977' do it 'automatically reconciles', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/238187', type: :stale }, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1266' do
# Start the old primary node again # Start the old primary node again
praefect_manager.start_primary_node praefect_manager.start_primary_node
praefect_manager.wait_for_health_check_current_primary_node praefect_manager.wait_for_health_check_current_primary_node
......
...@@ -22,7 +22,7 @@ module QA ...@@ -22,7 +22,7 @@ module QA
praefect_manager.reset_primary_to_original praefect_manager.reset_primary_to_original
end end
it 'recovers from dataloss', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/978' do it 'recovers from dataloss', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1265' do
# Create a new project with a commit and wait for it to replicate # Create a new project with a commit and wait for it to replicate
praefect_manager.wait_for_replication(project.id) praefect_manager.wait_for_replication(project.id)
......
...@@ -24,7 +24,7 @@ module QA ...@@ -24,7 +24,7 @@ module QA
end end
end end
context 'when moving from one Gitaly storage to another', :orchestrated, :repository_storage, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/973' do context 'when moving from one Gitaly storage to another', :orchestrated, :repository_storage, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1270' do
let(:source_storage) { { type: :gitaly, name: 'default' } } let(:source_storage) { { type: :gitaly, name: 'default' } }
let(:destination_storage) { { type: :gitaly, name: QA::Runtime::Env.additional_repository_storage } } let(:destination_storage) { { type: :gitaly, name: QA::Runtime::Env.additional_repository_storage } }
let(:project) do let(:project) do
...@@ -45,7 +45,7 @@ module QA ...@@ -45,7 +45,7 @@ module QA
# Note: This test doesn't have the :orchestrated tag because it runs in the Test::Integration::Praefect # Note: This test doesn't have the :orchestrated tag because it runs in the Test::Integration::Praefect
# scenario with other tests that aren't considered orchestrated. # scenario with other tests that aren't considered orchestrated.
# It also runs on staging using nfs-file07 as non-cluster storage and nfs-file22 as cluster/praefect storage # It also runs on staging using nfs-file07 as non-cluster storage and nfs-file22 as cluster/praefect storage
context 'when moving from Gitaly to Gitaly Cluster', :requires_praefect, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1755', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/284645', type: :investigating } do context 'when moving from Gitaly to Gitaly Cluster', :requires_praefect, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1269', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/284645', type: :investigating } do
let(:source_storage) { { type: :gitaly, name: QA::Runtime::Env.non_cluster_repository_storage } } let(:source_storage) { { type: :gitaly, name: QA::Runtime::Env.non_cluster_repository_storage } }
let(:destination_storage) { { type: :praefect, name: QA::Runtime::Env.praefect_repository_storage } } let(:destination_storage) { { type: :praefect, name: QA::Runtime::Env.praefect_repository_storage } }
let(:project) do let(:project) do
......
...@@ -19,7 +19,7 @@ module QA ...@@ -19,7 +19,7 @@ module QA
praefect_manager.wait_for_replication(project.id) praefect_manager.wait_for_replication(project.id)
end end
it 'reads from each node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/979' do it 'reads from each node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1264' do
pre_read_data = praefect_manager.query_read_distribution pre_read_data = praefect_manager.query_read_distribution
wait_for_reads_to_increase(project, number_of_reads_per_loop, pre_read_data) wait_for_reads_to_increase(project, number_of_reads_per_loop, pre_read_data)
...@@ -47,7 +47,7 @@ module QA ...@@ -47,7 +47,7 @@ module QA
praefect_manager.wait_for_reliable_connection praefect_manager.wait_for_reliable_connection
end end
it 'does not read from the unhealthy node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/980' do it 'does not read from the unhealthy node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1263' do
pre_read_data = praefect_manager.query_read_distribution pre_read_data = praefect_manager.query_read_distribution
read_from_project(project, number_of_reads_per_loop * 10) read_from_project(project, number_of_reads_per_loop * 10)
......
...@@ -8,7 +8,7 @@ module QA ...@@ -8,7 +8,7 @@ module QA
let(:first_added_commit_message) { 'commit over git' } let(:first_added_commit_message) { 'commit over git' }
let(:second_added_commit_message) { 'commit over api' } let(:second_added_commit_message) { 'commit over api' }
it 'pushes to gitaly', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1118' do it 'pushes to gitaly', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1843' do
project = Resource::Project.fabricate! do |project| project = Resource::Project.fabricate! do |project|
project.name = "mTLS" project.name = "mTLS"
project.initialize_with_readme = true project.initialize_with_readme = true
......
...@@ -19,7 +19,7 @@ module QA ...@@ -19,7 +19,7 @@ module QA
praefect_manager.clear_replication_queue praefect_manager.clear_replication_queue
end end
it 'allows replication of different repository after interruption', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/975' do it 'allows replication of different repository after interruption', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1268' do
# We want to fill the replication queue with 10 `in_progress` jobs, # We want to fill the replication queue with 10 `in_progress` jobs,
# while a lock has been acquired, which is when the problem occurred # while a lock has been acquired, which is when the problem occurred
# as reported in https://gitlab.com/gitlab-org/gitaly/-/issues/2801 # as reported in https://gitlab.com/gitlab-org/gitaly/-/issues/2801
......
...@@ -31,7 +31,7 @@ module QA ...@@ -31,7 +31,7 @@ module QA
end end
end end
it 'sets labels', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1032' do it 'sets labels', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1244' do
create_new_mr_via_push create_new_mr_via_push
merge_request = project.merge_request_with_title(title) merge_request = project.merge_request_with_title(title)
...@@ -45,7 +45,7 @@ module QA ...@@ -45,7 +45,7 @@ module QA
create_new_mr_via_push create_new_mr_via_push
end end
it 'removes them on subsequent push', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1033' do it 'removes them on subsequent push', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1243' do
Resource::Repository::ProjectPush.fabricate! do |push| Resource::Repository::ProjectPush.fabricate! do |push|
push.project = project push.project = project
push.file_content = "Unlabel test #{SecureRandom.hex(8)}" push.file_content = "Unlabel test #{SecureRandom.hex(8)}"
......
...@@ -29,7 +29,7 @@ module QA ...@@ -29,7 +29,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it 'sets merge when pipeline succeeds', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1037' do it 'sets merge when pipeline succeeds', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1240' do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.project = project commit.project = project
commit.commit_message = 'Add .gitlab-ci.yml' commit.commit_message = 'Add .gitlab-ci.yml'
...@@ -72,7 +72,7 @@ module QA ...@@ -72,7 +72,7 @@ module QA
expect(merge_request.merge_when_pipeline_succeeds).to be true expect(merge_request.merge_when_pipeline_succeeds).to be true
end end
it 'merges when pipeline succeeds', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1036' do it 'merges when pipeline succeeds', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1241' do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.project = project commit.project = project
commit.commit_message = 'Add .gitlab-ci.yml' commit.commit_message = 'Add .gitlab-ci.yml'
......
...@@ -17,7 +17,7 @@ module QA ...@@ -17,7 +17,7 @@ module QA
end end
end end
it 'removes the source branch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1035' do it 'removes the source branch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1242' do
Resource::Repository::ProjectPush.fabricate! do |push| Resource::Repository::ProjectPush.fabricate! do |push|
push.project = project push.project = project
push.branch_name = branch push.branch_name = branch
......
...@@ -16,7 +16,7 @@ module QA ...@@ -16,7 +16,7 @@ module QA
end end
end end
it 'sets a target branch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1034' do it 'sets a target branch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1646' do
target_branch = "push-options-test-target-#{SecureRandom.hex(8)}" target_branch = "push-options-test-target-#{SecureRandom.hex(8)}"
Resource::Repository::ProjectPush.fabricate! do |push| Resource::Repository::ProjectPush.fabricate! do |push|
......
...@@ -14,7 +14,7 @@ module QA ...@@ -14,7 +14,7 @@ module QA
end end
end end
it 'sets title and description', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1038' do it 'sets title and description', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1239' do
description = "This is a test of MR push options" description = "This is a test of MR push options"
title = "MR push options test #{SecureRandom.hex(8)}" title = "MR push options test #{SecureRandom.hex(8)}"
......
...@@ -11,7 +11,7 @@ module QA ...@@ -11,7 +11,7 @@ module QA
Runtime::ApplicationSettings.restore_application_settings(:default_branch_name) Runtime::ApplicationSettings.restore_application_settings(:default_branch_name)
end end
it 'sets the default branch name for a new project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1018' do it 'sets the default branch name for a new project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1247' do
project = Resource::Project.fabricate_via_api! do |project| project = Resource::Project.fabricate_via_api! do |project|
project.name = "default-branch-name" project.name = "default-branch-name"
project.initialize_with_readme = true project.initialize_with_readme = true
...@@ -30,7 +30,7 @@ module QA ...@@ -30,7 +30,7 @@ module QA
end end
end end
it 'allows a project to be created via the CLI with a different default branch name', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1019' do it 'allows a project to be created via the CLI with a different default branch name', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1246' do
project_name = "default-branch-name-via-cli-#{SecureRandom.hex(8)}" project_name = "default-branch-name-via-cli-#{SecureRandom.hex(8)}"
group = Resource::Group.fabricate_via_api! group = Resource::Group.fabricate_via_api!
......
...@@ -11,7 +11,7 @@ module QA ...@@ -11,7 +11,7 @@ module QA
let(:project_name) { "api-basics-#{SecureRandom.hex(8)}" } let(:project_name) { "api-basics-#{SecureRandom.hex(8)}" }
let(:sanitized_project_path) { CGI.escape("#{Runtime::User.username}/#{project_name}") } let(:sanitized_project_path) { CGI.escape("#{Runtime::User.username}/#{project_name}") }
it 'user creates a project with a file and deletes them afterwards', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/420' do it 'user creates a project with a file and deletes them afterwards', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1581' do
create_project_request = Runtime::API::Request.new(@api_client, '/projects') create_project_request = Runtime::API::Request.new(@api_client, '/projects')
post create_project_request.url, path: project_name, name: project_name post create_project_request.url, path: project_name, name: project_name
...@@ -77,7 +77,7 @@ module QA ...@@ -77,7 +77,7 @@ module QA
SVG SVG
end end
it 'sets no-cache headers as expected', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/421' do it 'sets no-cache headers as expected', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1580' do
create_project_request = Runtime::API::Request.new(@api_client, '/projects') create_project_request = Runtime::API::Request.new(@api_client, '/projects')
post create_project_request.url, path: project_name, name: project_name post create_project_request.url, path: project_name, name: project_name
......
...@@ -27,7 +27,7 @@ module QA ...@@ -27,7 +27,7 @@ module QA
end end
end end
it 'download archives of each user project then check they are different', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/427' do it 'download archives of each user project then check they are different', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1575' do
archive_checksums = {} archive_checksums = {}
users.each do |user_key, user_info| users.each do |user_key, user_info|
......
...@@ -17,11 +17,11 @@ module QA ...@@ -17,11 +17,11 @@ module QA
project&.remove_via_api! project&.remove_via_api!
end end
it 'pushes and creates a single push event three times', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1744' do it 'pushes and creates a single push event three times', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1840' do
verify_single_event_per_push(repeat: 3) verify_single_event_per_push(repeat: 3)
end end
it 'repeatedly pushes and creates a single push event several times', :transient, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1744' do it 'repeatedly pushes and creates a single push event several times', :transient, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1915' do
verify_single_event_per_push(repeat: Runtime::Env.transient_trials) do |i| verify_single_event_per_push(repeat: Runtime::Env.transient_trials) do |i|
QA::Runtime::Logger.info("Transient bug test action - Trial #{i}") QA::Runtime::Logger.info("Transient bug test action - Trial #{i}")
end end
......
...@@ -21,7 +21,7 @@ module QA ...@@ -21,7 +21,7 @@ module QA
praefect_manager.gitlab = 'gitlab' praefect_manager.gitlab = 'gitlab'
end end
it 'moves snippet repository from one Gitaly storage to another', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1700' do it 'moves snippet repository from one Gitaly storage to another', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1912' do
expect(snippet).to have_file('original_file') expect(snippet).to have_file('original_file')
expect { snippet.change_repository_storage(destination_storage[:name]) }.not_to raise_error expect { snippet.change_repository_storage(destination_storage[:name]) }.not_to raise_error
expect { praefect_manager.verify_storage_move(source_storage, destination_storage, repo_type: :snippet) }.not_to raise_error expect { praefect_manager.verify_storage_move(source_storage, destination_storage, repo_type: :snippet) }.not_to raise_error
......
...@@ -34,7 +34,7 @@ module QA ...@@ -34,7 +34,7 @@ module QA
project.remove_via_api! project.remove_via_api!
end end
it 'pipeline schedule is canceled', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1730' do it 'pipeline schedule is canceled', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1825' do
user.block! user.block!
expect(pipeline_schedule[:active]).not_to be_truthy, "Expected schedule active state to be false - active state #{pipeline_schedule[:active]}" expect(pipeline_schedule[:active]).not_to be_truthy, "Expected schedule active state to be false - active state #{pipeline_schedule[:active]}"
......
...@@ -72,7 +72,7 @@ module QA ...@@ -72,7 +72,7 @@ module QA
registry&.remove_via_api! registry&.remove_via_api!
end end
it 'pushes, pulls image to the registry and deletes image blob, manifest and tag', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1738' do it 'pushes, pulls image to the registry and deletes image blob, manifest and tag', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1819' do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.api_client = api_client commit.api_client = api_client
commit.commit_message = 'Add .gitlab-ci.yml' commit.commit_message = 'Add .gitlab-ci.yml'
......
...@@ -56,7 +56,7 @@ module QA ...@@ -56,7 +56,7 @@ module QA
it( it(
'imports group from UI', 'imports group from UI',
testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1785', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1806',
issue_1: 'https://gitlab.com/gitlab-org/gitlab/-/issues/331252', issue_1: 'https://gitlab.com/gitlab-org/gitlab/-/issues/331252',
issue_2: 'https://gitlab.com/gitlab-org/gitlab/-/issues/333678', issue_2: 'https://gitlab.com/gitlab-org/gitlab/-/issues/333678',
# mostly impacts testing as it makes small groups import slower # mostly impacts testing as it makes small groups import slower
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Configure', :orchestrated, :mattermost do RSpec.describe 'Configure', :orchestrated, :mattermost do
describe 'Mattermost support' do describe 'Mattermost support' do
it 'user creates a group with a mattermost team', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/665' do it 'user creates a group with a mattermost team', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1459' do
Flow::Login.sign_in Flow::Login.sign_in
Page::Main::Menu.perform(&:go_to_groups) Page::Main::Menu.perform(&:go_to_groups)
......
...@@ -28,7 +28,7 @@ module QA ...@@ -28,7 +28,7 @@ module QA
end end
it 'transfers a subgroup to another group', it 'transfers a subgroup to another group',
testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1724' do testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1828' do
Page::Group::Menu.perform(&:click_group_general_settings_item) Page::Group::Menu.perform(&:click_group_general_settings_item)
Page::Group::Settings::General.perform do |general| Page::Group::Settings::General.perform do |general|
general.transfer_group(target_group.path) general.transfer_group(target_group.path)
......
...@@ -44,7 +44,7 @@ module QA ...@@ -44,7 +44,7 @@ module QA
end end
it 'user transfers a project between groups', it 'user transfers a project between groups',
testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1703' do testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1592' do
# Retry is needed here as the target group is not avaliable for transfer right away. # Retry is needed here as the target group is not avaliable for transfer right away.
QA::Support::Retrier.retry_on_exception(reload_page: page) do QA::Support::Retrier.retry_on_exception(reload_page: page) do
Page::File::Show.perform(&:go_to_general_settings) Page::File::Show.perform(&:go_to_general_settings)
......
...@@ -33,7 +33,7 @@ module QA ...@@ -33,7 +33,7 @@ module QA
group.add_member(developer_user, Resource::Members::AccessLevel::DEVELOPER) group.add_member(developer_user, Resource::Members::AccessLevel::DEVELOPER)
end end
it 'allows using 2FA recovery code once only', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/972' do it 'allows using 2FA recovery code once only', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1271' do
recovery_code = enable_2fa_for_user_and_fetch_recovery_code(developer_user) recovery_code = enable_2fa_for_user_and_fetch_recovery_code(developer_user)
Flow::Login.sign_in(as: developer_user, skip_page_validation: true) Flow::Login.sign_in(as: developer_user, skip_page_validation: true)
......
...@@ -19,7 +19,7 @@ module QA ...@@ -19,7 +19,7 @@ module QA
enable_2fa_for_user(user) enable_2fa_for_user(user)
end end
it 'allows 2FA code recovery via ssh' do it 'allows 2FA code recovery via ssh', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1227' do
recovery_code = Support::SSH.perform do |ssh| recovery_code = Support::SSH.perform do |ssh|
ssh.key = ssh_key ssh.key = ssh_key
ssh.uri = address.gsub(/(?<=:)(#{uri.port})/, ssh_port) ssh.uri = address.gsub(/(?<=:)(#{uri.port})/, ssh_port)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Manage', :smoke do RSpec.describe 'Manage', :smoke do
describe 'basic user login' do describe 'basic user login' do
it 'user logs in using basic credentials and logs out', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1690' do it 'user logs in using basic credentials and logs out', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1578' do
Flow::Login.sign_in Flow::Login.sign_in
Page::Main::Menu.perform do |menu| Page::Main::Menu.perform do |menu|
......
...@@ -35,7 +35,7 @@ module QA ...@@ -35,7 +35,7 @@ module QA
group.add_member(developer_user, Resource::Members::AccessLevel::DEVELOPER) group.add_member(developer_user, Resource::Members::AccessLevel::DEVELOPER)
end end
it 'allows enforcing 2FA via UI and logging in with 2FA', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/898' do it 'allows enforcing 2FA via UI and logging in with 2FA', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1320' do
enforce_two_factor_authentication_on_group(group) enforce_two_factor_authentication_on_group(group)
enable_two_factor_authentication_for_user(developer_user) enable_two_factor_authentication_for_user(developer_user)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Manage', :orchestrated, :ldap_no_tls, :ldap_tls do RSpec.describe 'Manage', :orchestrated, :ldap_no_tls, :ldap_tls do
describe 'LDAP login' do describe 'LDAP login' do
it 'user logs into GitLab using LDAP credentials', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/668' do it 'user logs into GitLab using LDAP credentials', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1456' do
Flow::Login.sign_in Flow::Login.sign_in
Page::Main::Menu.perform do |menu| Page::Main::Menu.perform do |menu|
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Manage', :orchestrated, :mattermost do RSpec.describe 'Manage', :orchestrated, :mattermost do
describe 'Mattermost login' do describe 'Mattermost login' do
it 'user logs into Mattermost using GitLab OAuth', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/666' do it 'user logs into Mattermost using GitLab OAuth', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1458' do
Flow::Login.sign_in Flow::Login.sign_in
Support::Retrier.retry_on_exception do Support::Retrier.retry_on_exception do
......
...@@ -5,7 +5,7 @@ module QA ...@@ -5,7 +5,7 @@ module QA
describe 'Instance wide SAML SSO' do describe 'Instance wide SAML SSO' do
it( it(
'user logs in to gitlab with SAML SSO', 'user logs in to gitlab with SAML SSO',
testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/671' testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1453'
) do ) do
Runtime::Browser.visit(:gitlab, Page::Main::Login) Runtime::Browser.visit(:gitlab, Page::Main::Login)
......
...@@ -14,7 +14,7 @@ module QA ...@@ -14,7 +14,7 @@ module QA
end end
RSpec.describe 'Manage', :skip_signup_disabled, :requires_admin do RSpec.describe 'Manage', :skip_signup_disabled, :requires_admin do
describe 'while LDAP is enabled', :orchestrated, :ldap_no_tls, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/935' do describe 'while LDAP is enabled', :orchestrated, :ldap_no_tls, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1300' do
before do before do
# When LDAP is enabled, a previous test might have created a token for the LDAP 'tanuki' user who is not an admin # When LDAP is enabled, a previous test might have created a token for the LDAP 'tanuki' user who is not an admin
# So we need to set it to nil in order to create a new token for admin user so that we are able to set_application_settings # So we need to set it to nil in order to create a new token for admin user so that we are able to set_application_settings
...@@ -39,7 +39,7 @@ module QA ...@@ -39,7 +39,7 @@ module QA
end end
end end
describe 'standard', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/936' do describe 'standard', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1652' do
context 'when admin approval is not required' do context 'when admin approval is not required' do
before(:all) do before(:all) do
set_require_admin_approval_after_user_signup_via_api(false) set_require_admin_approval_after_user_signup_via_api(false)
...@@ -66,7 +66,7 @@ module QA ...@@ -66,7 +66,7 @@ module QA
end end
end end
it 'allows recreating with same credentials', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/937' do it 'allows recreating with same credentials', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1651' do
expect(Page::Main::Menu.perform(&:signed_in?)).to be_falsy expect(Page::Main::Menu.perform(&:signed_in?)).to be_falsy
Flow::Login.sign_in(as: user, skip_page_validation: true) Flow::Login.sign_in(as: user, skip_page_validation: true)
...@@ -106,7 +106,7 @@ module QA ...@@ -106,7 +106,7 @@ module QA
end end
end end
it 'allows user login after approval', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1076' do it 'allows user login after approval', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1639' do
expect(page).to have_text(signed_up_waiting_approval_text) expect(page).to have_text(signed_up_waiting_approval_text)
Flow::Login.sign_in(as: @user, skip_page_validation: true) Flow::Login.sign_in(as: @user, skip_page_validation: true)
......
...@@ -7,7 +7,7 @@ module QA ...@@ -7,7 +7,7 @@ module QA
Runtime::Feature.enable(:invite_members_group_modal) Runtime::Feature.enable(:invite_members_group_modal)
end end
it 'user adds project member', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/482' do it 'user adds project member', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1543' do
Flow::Login.sign_in Flow::Login.sign_in
user = Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1) user = Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1)
......
...@@ -21,7 +21,7 @@ module QA ...@@ -21,7 +21,7 @@ module QA
project project
end end
context 'in group', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1857' do context 'in group', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1620' do
let(:project_name) { "project-in-group-#{SecureRandom.hex(8)}" } let(:project_name) { "project-in-group-#{SecureRandom.hex(8)}" }
let(:project) do let(:project) do
Resource::Project.fabricate_via_browser_ui! do |project| Resource::Project.fabricate_via_browser_ui! do |project|
...@@ -33,7 +33,7 @@ module QA ...@@ -33,7 +33,7 @@ module QA
it_behaves_like 'successful project creation' it_behaves_like 'successful project creation'
end end
context 'in personal namespace', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1888' do context 'in personal namespace', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1914' do
let(:project_name) { "project-in-personal-namespace-#{SecureRandom.hex(8)}" } let(:project_name) { "project-in-personal-namespace-#{SecureRandom.hex(8)}" }
let(:project) do let(:project) do
Resource::Project.fabricate_via_browser_ui! do |project| Resource::Project.fabricate_via_browser_ui! do |project|
......
...@@ -39,13 +39,13 @@ module QA ...@@ -39,13 +39,13 @@ module QA
end end
end end
context 'when logged in as a new user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1693' do context 'when logged in as a new user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1549' do
it_behaves_like 'loads all images' do it_behaves_like 'loads all images' do
let(:new_user) { @new_user } let(:new_user) { @new_user }
end end
end end
context 'when logged in as a new admin', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1727' do context 'when logged in as a new admin', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1550' do
it_behaves_like 'loads all images' do it_behaves_like 'loads all images' do
let(:new_user) { @new_admin } let(:new_user) { @new_admin }
end end
......
...@@ -40,7 +40,7 @@ module QA ...@@ -40,7 +40,7 @@ module QA
user.remove_via_api! user.remove_via_api!
end end
it 'imports a GitHub repo', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1762' do it 'imports a GitHub repo', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1607' do
Page::Project::Import::Github.perform do |import_page| Page::Project::Import::Github.perform do |import_page|
import_page.add_personal_access_token(Runtime::Env.github_access_token) import_page.add_personal_access_token(Runtime::Env.github_access_token)
import_page.import!(github_repo, group.full_path, imported_project_name) import_page.import!(github_repo, group.full_path, imported_project_name)
......
...@@ -5,7 +5,7 @@ module QA ...@@ -5,7 +5,7 @@ module QA
describe 'Project access tokens' do describe 'Project access tokens' do
let(:project_access_token) {QA::Resource::ProjectAccessToken.fabricate_via_browser_ui!} let(:project_access_token) {QA::Resource::ProjectAccessToken.fabricate_via_browser_ui!}
it 'can be created and revoked via the UI' do it 'can be created and revoked via the UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1832' do
expect(project_access_token.token).not_to be_nil expect(project_access_token.token).not_to be_nil
project_access_token.revoke_via_ui! project_access_token.revoke_via_ui!
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Manage' do RSpec.describe 'Manage' do
describe 'Project activity' do describe 'Project activity' do
it 'user creates an event in the activity page upon Git push', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/407' do it 'user creates an event in the activity page upon Git push', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1591' do
Flow::Login.sign_in Flow::Login.sign_in
project = Resource::Repository::ProjectPush.fabricate! do |push| project = Resource::Repository::ProjectPush.fabricate! do |push|
......
...@@ -61,7 +61,7 @@ module QA ...@@ -61,7 +61,7 @@ module QA
user_api_client.personal_access_token user_api_client.personal_access_token
end end
it 'can be followed and their activity seen', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1773' do it 'can be followed and their activity seen', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1842' do
Flow::Login.sign_in Flow::Login.sign_in
page.visit Runtime::Scenario.gitlab_address + "/#{user.username}" page.visit Runtime::Scenario.gitlab_address + "/#{user.username}"
Page::User::Show.perform(&:click_follow_user_link) Page::User::Show.perform(&:click_follow_user_link)
......
...@@ -39,7 +39,7 @@ module QA ...@@ -39,7 +39,7 @@ module QA
end end
end end
it 'is not allowed to edit the project files', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1663' do it 'is not allowed to edit the project files', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1709' do
Flow::Login.sign_in(as: user) Flow::Login.sign_in(as: user)
project.visit! project.visit!
......
...@@ -20,7 +20,7 @@ module QA ...@@ -20,7 +20,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'is received by a user for project invitation', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/676' do it 'is received by a user for project invitation', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1448' do
project.visit! project.visit!
Page::Project::Menu.perform(&:click_members) Page::Project::Menu.perform(&:click_members)
......
...@@ -33,7 +33,7 @@ module QA ...@@ -33,7 +33,7 @@ module QA
user&.remove_via_api! user&.remove_via_api!
end end
it 'mentions a user in a comment', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/452' do it 'mentions a user in a comment', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1559' do
Page::Project::Issue::Show.perform do |show| Page::Project::Issue::Show.perform do |show|
show.select_all_activities_filter show.select_all_activities_filter
show.comment("cc-ing you here @#{user.username}") show.comment("cc-ing you here @#{user.username}")
......
...@@ -13,7 +13,7 @@ module QA ...@@ -13,7 +13,7 @@ module QA
issue.visit! issue.visit!
end end
it 'collapses and expands reply for comments in an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1163' do it 'collapses and expands reply for comments in an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1189' do
Page::Project::Issue::Show.perform do |show| Page::Project::Issue::Show.perform do |show|
show.select_all_activities_filter show.select_all_activities_filter
show.start_discussion('My first discussion') show.start_discussion('My first discussion')
......
...@@ -9,7 +9,7 @@ module QA ...@@ -9,7 +9,7 @@ module QA
Resource::Issue.fabricate_via_api!.visit! Resource::Issue.fabricate_via_api!.visit!
end end
it 'comments on an issue and edits the comment', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1151' do it 'comments on an issue and edits the comment', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1200' do
Page::Project::Issue::Show.perform do |show| Page::Project::Issue::Show.perform do |show|
first_version_of_comment = 'First version of the comment' first_version_of_comment = 'First version of the comment'
second_version_of_comment = 'Second version of the comment' second_version_of_comment = 'Second version of the comment'
......
...@@ -9,7 +9,7 @@ module QA ...@@ -9,7 +9,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'creates an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1793' do it 'creates an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1185' do
issue = Resource::Issue.fabricate_via_browser_ui! issue = Resource::Issue.fabricate_via_browser_ui!
Page::Project::Menu.perform(&:click_issues) Page::Project::Menu.perform(&:click_issues)
...@@ -19,7 +19,7 @@ module QA ...@@ -19,7 +19,7 @@ module QA
end end
end end
it 'closes an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1792' do it 'closes an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1222' do
closed_issue.visit! closed_issue.visit!
Page::Project::Issue::Show.perform do |issue_page| Page::Project::Issue::Show.perform do |issue_page|
...@@ -51,7 +51,7 @@ module QA ...@@ -51,7 +51,7 @@ module QA
# The following example is excluded from running in `review-qa-smoke` job # The following example is excluded from running in `review-qa-smoke` job
# as it proved to be flaky when running against Review App # as it proved to be flaky when running against Review App
# See https://gitlab.com/gitlab-com/www-gitlab-com/-/issues/11568#note_621999351 # See https://gitlab.com/gitlab-com/www-gitlab-com/-/issues/11568#note_621999351
it 'comments on an issue with an attachment', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1742', except: { job: 'review-qa-smoke' } do it 'comments on an issue with an attachment', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1599', except: { job: 'review-qa-smoke' } do
Page::Project::Issue::Show.perform do |show| Page::Project::Issue::Show.perform do |show|
show.comment('See attached image for scale', attachment: file_to_attach) show.comment('See attached image for scale', attachment: file_to_attach)
......
...@@ -28,7 +28,7 @@ module QA ...@@ -28,7 +28,7 @@ module QA
end end
end end
it 'creates an issue via custom template', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1229' do it 'creates an issue via custom template', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1612' do
Resource::Issue.fabricate_via_browser_ui! do |issue| Resource::Issue.fabricate_via_browser_ui! do |issue|
issue.project = template_project issue.project = template_project
issue.template = template_name issue.template = template_name
......
...@@ -22,7 +22,7 @@ module QA ...@@ -22,7 +22,7 @@ module QA
Page::Project::Menu.perform(&:click_issues) Page::Project::Menu.perform(&:click_issues)
end end
it 'successfully exports issues list as CSV', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1141' do it 'successfully exports issues list as CSV', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1210' do
Page::Project::Issue::Index.perform do |index| Page::Project::Issue::Index.perform do |index|
index.click_export_as_csv_button index.click_export_as_csv_button
......
...@@ -9,7 +9,7 @@ module QA ...@@ -9,7 +9,7 @@ module QA
Resource::Issue.fabricate_via_api!.visit! Resource::Issue.fabricate_via_api!.visit!
end end
it 'filters comments and activities in an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/425' do it 'filters comments and activities in an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1577' do
Page::Project::Issue::Show.perform do |show| Page::Project::Issue::Show.perform do |show|
my_own_comment = "My own comment" my_own_comment = "My own comment"
made_the_issue_confidential = "made the issue confidential" made_the_issue_confidential = "made the issue confidential"
......
...@@ -13,7 +13,7 @@ module QA ...@@ -13,7 +13,7 @@ module QA
end.project.visit! end.project.visit!
end end
it 'shows issue suggestions when creating a new issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1175' do it 'shows issue suggestions when creating a new issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1179' do
Page::Project::Show.perform(&:go_to_new_issue) Page::Project::Show.perform(&:go_to_new_issue)
Page::Project::Issue::New.perform do |new_page| Page::Project::Issue::New.perform do |new_page|
new_page.fill_title("issue") new_page.fill_title("issue")
......
...@@ -14,7 +14,7 @@ module QA ...@@ -14,7 +14,7 @@ module QA
end end
end end
it 'imports issues from Jira', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/896' do it 'imports issues from Jira', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1321' do
set_up_jira_integration set_up_jira_integration
import_jira_issues import_jira_issues
......
...@@ -23,7 +23,7 @@ module QA ...@@ -23,7 +23,7 @@ module QA
end.visit! end.visit!
end end
it 'mentions another user in an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1166' do it 'mentions another user in an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1186' do
Page::Project::Issue::Show.perform do |show| Page::Project::Issue::Show.perform do |show|
at_username = "@#{user.username}" at_username = "@#{user.username}"
......
...@@ -28,7 +28,7 @@ module QA ...@@ -28,7 +28,7 @@ module QA
Runtime::Feature.disable(:invite_members_group_modal, project: project) Runtime::Feature.disable(:invite_members_group_modal, project: project)
end end
it 'update without refresh', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1048' do it 'update without refresh', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1644' do
issue = Resource::Issue.fabricate_via_api! do |issue| issue = Resource::Issue.fabricate_via_api! do |issue|
issue.project = project issue.project = project
issue.assignee_ids = [user1.id] issue.assignee_ids = [user1.id]
......
...@@ -13,7 +13,7 @@ module QA ...@@ -13,7 +13,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'focuses on issue board', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1176' do it 'focuses on issue board', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1178' do
project.visit! project.visit!
Page::Project::Menu.perform(&:go_to_boards) Page::Project::Menu.perform(&:go_to_boards)
......
...@@ -14,7 +14,7 @@ module QA ...@@ -14,7 +14,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'creates a group milestone', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1148' do it 'creates a group milestone', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1203' do
group_milestone = Resource::GroupMilestone.fabricate_via_browser_ui! do |milestone| group_milestone = Resource::GroupMilestone.fabricate_via_browser_ui! do |milestone|
milestone.title = title milestone.title = title
milestone.description = description milestone.description = description
......
...@@ -14,7 +14,7 @@ module QA ...@@ -14,7 +14,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'creates a project milestone', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1165' do it 'creates a project milestone', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1187' do
project_milestone = Resource::ProjectMilestone.fabricate_via_browser_ui! do |milestone| project_milestone = Resource::ProjectMilestone.fabricate_via_browser_ui! do |milestone|
milestone.title = title milestone.title = title
milestone.description = description milestone.description = description
......
...@@ -25,7 +25,7 @@ module QA ...@@ -25,7 +25,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'relates and unrelates one issue to/from another', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1172' do it 'relates and unrelates one issue to/from another', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1180' do
issue_1.visit! issue_1.visit!
Page::Project::Issue::Show.perform do |show| Page::Project::Issue::Show.perform do |show|
......
...@@ -16,7 +16,7 @@ module QA ...@@ -16,7 +16,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'comments with mention on a discussion in an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1753' do it 'comments with mention on a discussion in an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1816' do
Runtime::Env.transient_trials.times do |i| Runtime::Env.transient_trials.times do |i|
QA::Runtime::Logger.info("Transient bug test action - Trial #{i}") QA::Runtime::Logger.info("Transient bug test action - Trial #{i}")
......
...@@ -12,7 +12,7 @@ module QA ...@@ -12,7 +12,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'user adds a design and annotates it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1692' do it 'user adds a design and annotates it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1290' do
issue.visit! issue.visit!
Page::Project::Issue::Show.perform do |issue| Page::Project::Issue::Show.perform do |issue|
......
...@@ -23,7 +23,7 @@ module QA ...@@ -23,7 +23,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'user archives a design', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1761' do it 'user archives a design', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1812' do
third_design.issue.visit! third_design.issue.visit!
Page::Project::Issue::Show.perform do |issue| Page::Project::Issue::Show.perform do |issue|
......
...@@ -13,7 +13,7 @@ module QA ...@@ -13,7 +13,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'user adds a design and modifies it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1760' do it 'user adds a design and modifies it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1813' do
design.issue.visit! design.issue.visit!
Page::Project::Issue::Show.perform do |issue| Page::Project::Issue::Show.perform do |issue|
......
...@@ -25,7 +25,7 @@ module QA ...@@ -25,7 +25,7 @@ module QA
setup_jenkins setup_jenkins
end end
it 'integrates and displays build status for MR pipeline in GitLab', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/719' do it 'integrates and displays build status for MR pipeline in GitLab', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1410' do
login_to_gitlab login_to_gitlab
setup_project_integration_with_jenkins setup_project_integration_with_jenkins
......
...@@ -36,7 +36,7 @@ module QA ...@@ -36,7 +36,7 @@ module QA
expect(page).not_to have_text("Requests to the local network are not allowed") expect(page).not_to have_text("Requests to the local network are not allowed")
end end
it 'closes an issue via pushing a commit', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/827' do it 'closes an issue via pushing a commit', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1362' do
issue_key = Vendor::Jira::JiraAPI.perform do |jira_api| issue_key = Vendor::Jira::JiraAPI.perform do |jira_api|
jira_api.create_issue(jira_project_key) jira_api.create_issue(jira_project_key)
end end
...@@ -46,7 +46,7 @@ module QA ...@@ -46,7 +46,7 @@ module QA
expect_issue_done(issue_key) expect_issue_done(issue_key)
end end
it 'closes an issue via a merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/828' do it 'closes an issue via a merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1361' do
issue_key = Vendor::Jira::JiraAPI.perform do |jira_api| issue_key = Vendor::Jira::JiraAPI.perform do |jira_api|
jira_api.create_issue(jira_project_key) jira_api.create_issue(jira_project_key)
end end
......
...@@ -22,7 +22,7 @@ module QA ...@@ -22,7 +22,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'creates a merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1616' do it 'creates a merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1836' do
feature_mr.visit! feature_mr.visit!
Page::MergeRequest::Show.perform do |merge_request| Page::MergeRequest::Show.perform do |merge_request|
......
...@@ -29,7 +29,7 @@ module QA ...@@ -29,7 +29,7 @@ module QA
commit.visit! commit.visit!
end end
it 'creates a merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1752' do it 'creates a merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1817' do
Page::Project::Commit::Show.perform(&:cherry_pick_commit) Page::Project::Commit::Show.perform(&:cherry_pick_commit)
Page::MergeRequest::New.perform(&:create_merge_request) Page::MergeRequest::New.perform(&:create_merge_request)
......
...@@ -19,7 +19,7 @@ module QA ...@@ -19,7 +19,7 @@ module QA
it( it(
'creates a basic merge request', 'creates a basic merge request',
:smoke, :smoke,
testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1850' testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1590'
) do ) do
Resource::MergeRequest.fabricate_via_browser_ui! do |merge_request| Resource::MergeRequest.fabricate_via_browser_ui! do |merge_request|
merge_request.project = project merge_request.project = project
...@@ -35,7 +35,7 @@ module QA ...@@ -35,7 +35,7 @@ module QA
it( it(
'creates a merge request with a milestone and label', 'creates a merge request with a milestone and label',
testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/514' testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1542'
) do ) do
gitlab_account_username = "@#{Runtime::User.username}" gitlab_account_username = "@#{Runtime::User.username}"
......
...@@ -29,7 +29,7 @@ module QA ...@@ -29,7 +29,7 @@ module QA
end end
end end
it 'creates a merge request via custom template', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1230' do it 'creates a merge request via custom template', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1680' do
Resource::MergeRequest.fabricate_via_browser_ui! do |merge_request| Resource::MergeRequest.fabricate_via_browser_ui! do |merge_request|
merge_request.project = template_project merge_request.project = template_project
merge_request.title = merge_request_title merge_request.title = merge_request_title
......
...@@ -4,7 +4,7 @@ module QA ...@@ -4,7 +4,7 @@ module QA
RSpec.describe 'Create', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/332588', type: :investigating } do RSpec.describe 'Create', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/332588', type: :investigating } do
describe 'Merge request creation from fork' do describe 'Merge request creation from fork' do
# TODO: Please add this back to :smoke suite as soon as https://gitlab.com/gitlab-org/gitlab/-/issues/332588 is addressed # TODO: Please add this back to :smoke suite as soon as https://gitlab.com/gitlab-org/gitlab/-/issues/332588 is addressed
it 'can merge feature branch fork to mainline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1701' do it 'can merge feature branch fork to mainline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1305' do
merge_request = Resource::MergeRequestFromFork.fabricate_via_browser_ui! do |merge_request| merge_request = Resource::MergeRequestFromFork.fabricate_via_browser_ui! do |merge_request|
merge_request.fork_branch = 'feature-branch' merge_request.fork_branch = 'feature-branch'
end end
......
...@@ -87,11 +87,11 @@ module QA ...@@ -87,11 +87,11 @@ module QA
end end
end end
context 'when merging once', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1684' do context 'when merging once', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1834' do
it_behaves_like 'merge when pipeline succeeds' it_behaves_like 'merge when pipeline succeeds'
end end
context 'when merging several times', :transient, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1684' do context 'when merging several times', :transient, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1917' do
it_behaves_like 'merge when pipeline succeeds', repeat: Runtime::Env.transient_trials it_behaves_like 'merge when pipeline succeeds', repeat: Runtime::Env.transient_trials
end end
end end
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Create', quarantine: { only: { subdomain: :staging }, issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/323990', type: :flaky } do RSpec.describe 'Create', quarantine: { only: { subdomain: :staging }, issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/323990', type: :flaky } do
describe 'Merge request rebasing' do describe 'Merge request rebasing' do
it 'user rebases source branch of merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1800' do it 'user rebases source branch of merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1596' do
Flow::Login.sign_in Flow::Login.sign_in
project = Resource::Project.fabricate_via_api! do |project| project = Resource::Project.fabricate_via_api! do |project|
......
...@@ -27,7 +27,7 @@ module QA ...@@ -27,7 +27,7 @@ module QA
commit.visit! commit.visit!
end end
it 'creates a merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1784' do it 'creates a merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1807' do
Page::Project::Commit::Show.perform(&:revert_commit) Page::Project::Commit::Show.perform(&:revert_commit)
Page::MergeRequest::New.perform(&:create_merge_request) Page::MergeRequest::New.perform(&:create_merge_request)
......
...@@ -23,7 +23,7 @@ module QA ...@@ -23,7 +23,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'can be reverted', :can_use_large_setup, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1745' do it 'can be reverted', :can_use_large_setup, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1818' do
revertable_merge_request.visit! revertable_merge_request.visit!
Page::MergeRequest::Show.perform do |merge_request| Page::MergeRequest::Show.perform do |merge_request|
......
...@@ -31,7 +31,7 @@ module QA ...@@ -31,7 +31,7 @@ module QA
merge_request.visit! merge_request.visit!
end end
it 'user squashes commits while merging', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/418' do it 'user squashes commits while merging', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1583' do
Page::MergeRequest::Show.perform do |merge_request_page| Page::MergeRequest::Show.perform do |merge_request_page|
merge_request_page.retry_on_exception(reload: true) do merge_request_page.retry_on_exception(reload: true) do
expect(merge_request_page).to have_text('to be squashed') expect(merge_request_page).to have_text('to be squashed')
......
...@@ -46,7 +46,7 @@ module QA ...@@ -46,7 +46,7 @@ module QA
merge_request.visit! merge_request.visit!
end end
it 'applies multiple suggestions', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1177' do it 'applies multiple suggestions', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1838' do
Page::MergeRequest::Show.perform do |merge_request| Page::MergeRequest::Show.perform do |merge_request|
merge_request.click_diffs_tab merge_request.click_diffs_tab
4.times { merge_request.add_suggestion_to_batch } 4.times { merge_request.add_suggestion_to_batch }
......
...@@ -43,7 +43,7 @@ module QA ...@@ -43,7 +43,7 @@ module QA
merge_request.visit! merge_request.visit!
end end
it 'applies a single suggestion with a custom message' do it 'applies a single suggestion with a custom message', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1815' do
Page::MergeRequest::Show.perform do |merge_request| Page::MergeRequest::Show.perform do |merge_request|
merge_request.click_diffs_tab merge_request.click_diffs_tab
merge_request.apply_suggestion_with_message(commit_message) merge_request.apply_suggestion_with_message(commit_message)
......
...@@ -15,7 +15,7 @@ module QA ...@@ -15,7 +15,7 @@ module QA
merge_request.visit! merge_request.visit!
end end
it 'views the merge request email patches', :can_use_large_setup, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1689' do it 'views the merge request email patches', :can_use_large_setup, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1585' do
Page::MergeRequest::Show.perform(&:view_email_patches) Page::MergeRequest::Show.perform(&:view_email_patches)
expect(page.text).to start_with('From') expect(page.text).to start_with('From')
...@@ -23,7 +23,7 @@ module QA ...@@ -23,7 +23,7 @@ module QA
expect(page).to have_content("diff --git a/#{merge_request.file_name} b/#{merge_request.file_name}") expect(page).to have_content("diff --git a/#{merge_request.file_name} b/#{merge_request.file_name}")
end end
it 'views the merge request plain diff', :can_use_large_setup, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/417' do it 'views the merge request plain diff', :can_use_large_setup, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1584' do
Page::MergeRequest::Show.perform(&:view_plain_diff) Page::MergeRequest::Show.perform(&:view_plain_diff)
expect(page.text).to start_with('diff') expect(page.text).to start_with('diff')
......
...@@ -32,7 +32,7 @@ module QA ...@@ -32,7 +32,7 @@ module QA
merge_request.visit! merge_request.visit!
end end
it 'views the merge-ref diff by default' do it 'views the merge-ref diff by default', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1902' do
Page::MergeRequest::Show.perform do |mr_page| Page::MergeRequest::Show.perform do |mr_page|
mr_page.click_diffs_tab mr_page.click_diffs_tab
mr_page.click_target_version_dropdown mr_page.click_target_version_dropdown
...@@ -57,7 +57,7 @@ module QA ...@@ -57,7 +57,7 @@ module QA
merge_request.visit! merge_request.visit!
end end
it 'views the merge-base diff by default' do it 'views the merge-base diff by default', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1903' do
Page::MergeRequest::Show.perform do |mr_page| Page::MergeRequest::Show.perform do |mr_page|
mr_page.click_diffs_tab mr_page.click_diffs_tab
mr_page.click_target_version_dropdown mr_page.click_target_version_dropdown
......
...@@ -61,7 +61,7 @@ module QA ...@@ -61,7 +61,7 @@ module QA
project.visit! project.visit!
end end
it 'lists branches correctly after CRUD operations', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1688' do it 'lists branches correctly after CRUD operations', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1588' do
Page::Project::Menu.perform(&:go_to_repository_branches) Page::Project::Menu.perform(&:go_to_repository_branches)
expect(page).to have_content(master_branch) expect(page).to have_content(master_branch)
......
...@@ -16,7 +16,7 @@ module QA ...@@ -16,7 +16,7 @@ module QA
end end
context 'when branch name contains slash, hash, double dash, and capital letter' do context 'when branch name contains slash, hash, double dash, and capital letter' do
it 'renders repository file tree correctly', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1780' do it 'renders repository file tree correctly', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1809' do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.project = project commit.project = project
commit.branch = branch_name commit.branch = branch_name
......
...@@ -28,7 +28,7 @@ module QA ...@@ -28,7 +28,7 @@ module QA
project.wait_for_push_new_branch project.wait_for_push_new_branch
end end
it 'user performs a deep clone', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/475' do it 'user performs a deep clone', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1546' do
Git::Repository.perform do |repository| Git::Repository.perform do |repository|
repository.uri = project.repository_http_location.uri repository.uri = project.repository_http_location.uri
repository.use_default_credentials repository.use_default_credentials
...@@ -39,7 +39,7 @@ module QA ...@@ -39,7 +39,7 @@ module QA
end end
end end
it 'user performs a shallow clone', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/411' do it 'user performs a shallow clone', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1589' do
Git::Repository.perform do |repository| Git::Repository.perform do |repository|
repository.uri = project.repository_http_location.uri repository.uri = project.repository_http_location.uri
repository.use_default_credentials repository.use_default_credentials
......
...@@ -11,7 +11,7 @@ module QA ...@@ -11,7 +11,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'user creates a file via the Web', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1093' do it 'user creates a file via the Web', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1633' do
Resource::File.fabricate_via_browser_ui! do |file| Resource::File.fabricate_via_browser_ui! do |file|
file.name = file_name file.name = file_name
file.content = file_content file.content = file_content
......
...@@ -12,7 +12,7 @@ module QA ...@@ -12,7 +12,7 @@ module QA
file.visit! file.visit!
end end
it 'user deletes a file via the Web', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1095' do it 'user deletes a file via the Web', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1631' do
Page::File::Show.perform do |file| Page::File::Show.perform do |file|
file.click_delete file.click_delete
file.add_commit_message(commit_message_for_delete) file.add_commit_message(commit_message_for_delete)
......
...@@ -13,7 +13,7 @@ module QA ...@@ -13,7 +13,7 @@ module QA
file.visit! file.visit!
end end
it 'user edits a file via the Web', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1094' do it 'user edits a file via the Web', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1632' do
Page::File::Show.perform(&:click_edit) Page::File::Show.perform(&:click_edit)
Page::File::Form.perform do |file| Page::File::Form.perform do |file|
......
...@@ -16,7 +16,7 @@ module QA ...@@ -16,7 +16,7 @@ module QA
end end
context 'when file name starts with a dash and contains hash, semicolon, colon, and question mark' do context 'when file name starts with a dash and contains hash, semicolon, colon, and question mark' do
it 'renders repository file tree correctly', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1779' do it 'renders repository file tree correctly', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1810' do
Resource::File.fabricate_via_api! do |file| Resource::File.fabricate_via_api! do |file|
file.project = project file.project = project
file.commit_message = 'Add new file' file.commit_message = 'Add new file'
......
...@@ -23,7 +23,7 @@ module QA ...@@ -23,7 +23,7 @@ module QA
parent_project.add_member(user) parent_project.add_member(user)
end end
it 'creates a 2nd fork after moving the parent project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/713' do it 'creates a 2nd fork after moving the parent project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1413' do
Flow::Login.sign_in(as: user) Flow::Login.sign_in(as: user)
fork_project.visit! fork_project.visit!
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Create' do RSpec.describe 'Create' do
describe 'Push over HTTP using Git protocol version 2', :requires_git_protocol_v2 do describe 'Push over HTTP using Git protocol version 2', :requires_git_protocol_v2 do
it 'user pushes to the repository', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/469' do it 'user pushes to the repository', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1548' do
Flow::Login.sign_in Flow::Login.sign_in
# Create a project to push to # Create a project to push to
......
...@@ -27,7 +27,7 @@ module QA ...@@ -27,7 +27,7 @@ module QA
Page::Main::Menu.perform(&:sign_out_if_signed_in) Page::Main::Menu.perform(&:sign_out_if_signed_in)
end end
it 'user pushes to the repository', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1763' do it 'user pushes to the repository', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1606' do
project = Resource::Project.fabricate_via_api! do |project| project = Resource::Project.fabricate_via_api! do |project|
project.name = 'git-protocol-project' project.name = 'git-protocol-project'
end end
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Create' do RSpec.describe 'Create' do
describe 'Git push over HTTP', :smoke do describe 'Git push over HTTP', :smoke do
it 'user using a personal access token pushes code to the repository', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1848' do it 'user using a personal access token pushes code to the repository', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1573' do
Flow::Login.sign_in Flow::Login.sign_in
access_token = Resource::PersonalAccessToken.fabricate!.token access_token = Resource::PersonalAccessToken.fabricate!.token
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Create' do RSpec.describe 'Create' do
describe 'Push mirror a repository over HTTP' do describe 'Push mirror a repository over HTTP' do
it 'configures and syncs LFS objects for a (push) mirrored repository', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1075' do it 'configures and syncs LFS objects for a (push) mirrored repository', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1224' do
Runtime::Browser.visit(:gitlab, Page::Main::Login) Runtime::Browser.visit(:gitlab, Page::Main::Login)
Page::Main::Login.perform(&:sign_in_using_credentials) Page::Main::Login.perform(&:sign_in_using_credentials)
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Create' do RSpec.describe 'Create' do
describe 'Push mirror a repository over HTTP' do describe 'Push mirror a repository over HTTP' do
it 'configures and syncs a (push) mirrored repository', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/414' do it 'configures and syncs a (push) mirrored repository', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1587' do
Runtime::Browser.visit(:gitlab, Page::Main::Login) Runtime::Browser.visit(:gitlab, Page::Main::Login)
Page::Main::Login.perform(&:sign_in_using_credentials) Page::Main::Login.perform(&:sign_in_using_credentials)
......
...@@ -26,7 +26,7 @@ module QA ...@@ -26,7 +26,7 @@ module QA
set_file_size_limit(nil) set_file_size_limit(nil)
end end
it 'push successful when the file size is under the limit', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/456' do it 'push successful when the file size is under the limit', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1556' do
set_file_size_limit(5) set_file_size_limit(5)
retry_on_fail do retry_on_fail do
...@@ -36,7 +36,7 @@ module QA ...@@ -36,7 +36,7 @@ module QA
end end
end end
it 'push fails when the file size is above the limit', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/458' do it 'push fails when the file size is above the limit', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1554' do
set_file_size_limit(2) set_file_size_limit(2)
retry_on_fail do retry_on_fail do
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Create' do RSpec.describe 'Create' do
describe 'Git push over HTTP' do describe 'Git push over HTTP' do
it 'user pushes code to the repository', :smoke, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1702' do it 'user pushes code to the repository', :smoke, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1576' do
Flow::Login.sign_in Flow::Login.sign_in
Resource::Repository::ProjectPush.fabricate! do |push| Resource::Repository::ProjectPush.fabricate! do |push|
...@@ -18,7 +18,7 @@ module QA ...@@ -18,7 +18,7 @@ module QA
end end
end end
it 'pushes to a project using a specific Praefect repository storage', :smoke, :requires_admin, :requires_praefect, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/742' do it 'pushes to a project using a specific Praefect repository storage', :smoke, :requires_admin, :requires_praefect, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1389' do
Flow::Login.sign_in_as_admin Flow::Login.sign_in_as_admin
project = Resource::Project.fabricate_via_api! do |storage_project| project = Resource::Project.fabricate_via_api! do |storage_project|
......
...@@ -26,7 +26,7 @@ module QA ...@@ -26,7 +26,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'pushes code to the repository via SSH', :smoke, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1678' do it 'pushes code to the repository via SSH', :smoke, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1283' do
Resource::Repository::ProjectPush.fabricate! do |push| Resource::Repository::ProjectPush.fabricate! do |push|
push.project = project push.project = project
push.ssh_key = @key push.ssh_key = @key
...@@ -41,7 +41,7 @@ module QA ...@@ -41,7 +41,7 @@ module QA
end end
end end
it 'pushes multiple branches and tags together', :smoke, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1679' do it 'pushes multiple branches and tags together', :smoke, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1282' do
branches = [] branches = []
tags = [] tags = []
Git::Repository.perform do |repository| Git::Repository.perform do |repository|
......
...@@ -18,7 +18,7 @@ module QA ...@@ -18,7 +18,7 @@ module QA
end end
context 'when developers and maintainers are allowed to push to a protected branch' do context 'when developers and maintainers are allowed to push to a protected branch' do
it 'user with push rights successfully pushes to the protected branch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/447' do it 'user with push rights successfully pushes to the protected branch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1563' do
create_protected_branch(allowed_to_push: { create_protected_branch(allowed_to_push: {
roles: Resource::ProtectedBranch::Roles::DEVS_AND_MAINTAINERS roles: Resource::ProtectedBranch::Roles::DEVS_AND_MAINTAINERS
}) })
...@@ -30,7 +30,7 @@ module QA ...@@ -30,7 +30,7 @@ module QA
end end
context 'when developers and maintainers are not allowed to push to a protected branch' do context 'when developers and maintainers are not allowed to push to a protected branch' do
it 'user without push rights fails to push to the protected branch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/449' do it 'user without push rights fails to push to the protected branch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1562' do
create_protected_branch(allowed_to_push: { create_protected_branch(allowed_to_push: {
roles: Resource::ProtectedBranch::Roles::NO_ONE roles: Resource::ProtectedBranch::Roles::NO_ONE
}) })
......
...@@ -9,7 +9,7 @@ module QA ...@@ -9,7 +9,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'user can add an SSH key', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1685' do it 'user can add an SSH key', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1304' do
key = Resource::SSHKey.fabricate_via_browser_ui! do |resource| key = Resource::SSHKey.fabricate_via_browser_ui! do |resource|
resource.title = key_title resource.title = key_title
end end
...@@ -20,7 +20,7 @@ module QA ...@@ -20,7 +20,7 @@ module QA
# Note this context ensures that the example it contains is executed after the example above. Be aware of the order of execution if you add new examples in either context. # Note this context ensures that the example it contains is executed after the example above. Be aware of the order of execution if you add new examples in either context.
context 'after adding an ssh key' do context 'after adding an ssh key' do
it 'can delete an ssh key', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1686' do it 'can delete an ssh key', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1303' do
Page::Main::Menu.perform(&:click_edit_profile_link) Page::Main::Menu.perform(&:click_edit_profile_link)
Page::Profile::Menu.perform(&:click_ssh_keys) Page::Profile::Menu.perform(&:click_ssh_keys)
Page::Profile::SSHKeys.perform do |ssh_keys| Page::Profile::SSHKeys.perform do |ssh_keys|
......
...@@ -43,7 +43,7 @@ module QA ...@@ -43,7 +43,7 @@ module QA
find('pre').text find('pre').text
end end
it 'user views raw email patch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/442' do it 'user views raw email patch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1566' do
view_commit view_commit
Page::Project::Commit::Show.perform(&:select_email_patches) Page::Project::Commit::Show.perform(&:select_email_patches)
...@@ -53,7 +53,7 @@ module QA ...@@ -53,7 +53,7 @@ module QA
expect(page).to have_content('diff --git a/second b/second') expect(page).to have_content('diff --git a/second b/second')
end end
it 'user views raw commit diff', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/439' do it 'user views raw commit diff', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1568' do
view_commit view_commit
Page::Project::Commit::Show.perform(&:select_plain_diff) Page::Project::Commit::Show.perform(&:select_plain_diff)
......
...@@ -39,7 +39,7 @@ module QA ...@@ -39,7 +39,7 @@ module QA
ssh_key.remove_via_api! ssh_key.remove_via_api!
end end
it 'clones, pushes, and pulls a snippet over HTTP, edits via UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1748' do it 'clones, pushes, and pulls a snippet over HTTP, edits via UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1363' do
push = Resource::Repository::Push.fabricate! do |push| push = Resource::Repository::Push.fabricate! do |push|
push.repository_http_uri = repository_uri_http push.repository_http_uri = repository_uri_http
push.file_name = new_file push.file_name = new_file
...@@ -70,7 +70,7 @@ module QA ...@@ -70,7 +70,7 @@ module QA
snippet.remove_via_api! snippet.remove_via_api!
end end
it 'clones, pushes, and pulls a snippet over SSH, deletes via UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1747' do it 'clones, pushes, and pulls a snippet over SSH, deletes via UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1364' do
push = Resource::Repository::Push.fabricate! do |push| push = Resource::Repository::Push.fabricate! do |push|
push.repository_ssh_uri = repository_uri_ssh push.repository_ssh_uri = repository_uri_ssh
push.ssh_key = ssh_key push.ssh_key = ssh_key
......
...@@ -40,7 +40,7 @@ module QA ...@@ -40,7 +40,7 @@ module QA
ssh_key.remove_via_api! ssh_key.remove_via_api!
end end
it 'clones, pushes, and pulls a project snippet over HTTP, edits via UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1725' do it 'clones, pushes, and pulls a project snippet over HTTP, edits via UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1359' do
Resource::Repository::Push.fabricate! do |push| Resource::Repository::Push.fabricate! do |push|
push.repository_http_uri = repository_uri_http push.repository_http_uri = repository_uri_http
push.file_name = new_file push.file_name = new_file
...@@ -71,7 +71,7 @@ module QA ...@@ -71,7 +71,7 @@ module QA
snippet.remove_via_api! snippet.remove_via_api!
end end
it 'clones, pushes, and pulls a project snippet over SSH, deletes via UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1794' do it 'clones, pushes, and pulls a project snippet over SSH, deletes via UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1360' do
Resource::Repository::Push.fabricate! do |push| Resource::Repository::Push.fabricate! do |push|
push.repository_ssh_uri = repository_uri_ssh push.repository_ssh_uri = repository_uri_ssh
push.ssh_key = ssh_key push.ssh_key = ssh_key
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Create' do # convert back to a smoke test once proved to be stable RSpec.describe 'Create' do # convert back to a smoke test once proved to be stable
describe 'Personal snippet creation' do describe 'Personal snippet creation' do
it 'user creates a personal snippet', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1704' do it 'user creates a personal snippet', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1357' do
Flow::Login.sign_in Flow::Login.sign_in
Page::Main::Menu.perform do |menu| Page::Main::Menu.perform do |menu|
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Create' do RSpec.describe 'Create' do
describe 'Multiple file snippet' do describe 'Multiple file snippet' do
it 'creates a personal snippet with multiple files', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/842' do it 'creates a personal snippet with multiple files', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1654' do
Flow::Login.sign_in Flow::Login.sign_in
Page::Main::Menu.perform do |menu| Page::Main::Menu.perform do |menu|
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Create' do # to be converted to a smoke test once proved to be stable RSpec.describe 'Create' do # to be converted to a smoke test once proved to be stable
describe 'Project snippet creation' do describe 'Project snippet creation' do
it 'user creates a project snippet', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/839' do it 'user creates a project snippet', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1358' do
Flow::Login.sign_in Flow::Login.sign_in
Resource::ProjectSnippet.fabricate_via_browser_ui! do |snippet| Resource::ProjectSnippet.fabricate_via_browser_ui! do |snippet|
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Create' do RSpec.describe 'Create' do
describe 'Multiple file snippet' do describe 'Multiple file snippet' do
it 'creates a project snippet with multiple files', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1024' do it 'creates a project snippet with multiple files', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1648' do
Flow::Login.sign_in Flow::Login.sign_in
Resource::ProjectSnippet.fabricate_via_browser_ui! do |snippet| Resource::ProjectSnippet.fabricate_via_browser_ui! do |snippet|
......
...@@ -21,7 +21,7 @@ module QA ...@@ -21,7 +21,7 @@ module QA
end end
context 'when the snippet is public' do context 'when the snippet is public' do
it 'can be shared with not signed-in users', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1016' do it 'can be shared with not signed-in users', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1248' do
snippet.visit! snippet.visit!
sharing_link = Page::Dashboard::Snippet::Show.perform do |snippet| sharing_link = Page::Dashboard::Snippet::Show.perform do |snippet|
...@@ -43,7 +43,7 @@ module QA ...@@ -43,7 +43,7 @@ module QA
end end
context 'when the snippet is changed to private' do context 'when the snippet is changed to private' do
it 'does not display Embed/Share dropdown', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1015' do it 'does not display Embed/Share dropdown', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1249' do
snippet.visit! snippet.visit!
Page::Dashboard::Snippet::Show.perform do |snippet| Page::Dashboard::Snippet::Show.perform do |snippet|
......
...@@ -35,7 +35,7 @@ module QA ...@@ -35,7 +35,7 @@ module QA
Page::Project::Show.perform(&:open_web_ide!) Page::Project::Show.perform(&:open_web_ide!)
end end
it 'throws an error', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1615' do it 'throws an error', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1618' do
Page::Project::WebIDE::Edit.perform do |ide| Page::Project::WebIDE::Edit.perform do |ide|
ide.add_directory(directory_name) ide.add_directory(directory_name)
end end
...@@ -51,7 +51,7 @@ module QA ...@@ -51,7 +51,7 @@ module QA
Page::Project::Show.perform(&:open_web_ide!) Page::Project::Show.perform(&:open_web_ide!)
end end
it 'shows in the tree view but cannot be committed', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1614' do it 'shows in the tree view but cannot be committed', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1619' do
Page::Project::WebIDE::Edit.perform do |ide| Page::Project::WebIDE::Edit.perform do |ide|
ide.add_directory(directory_name) ide.add_directory(directory_name)
......
...@@ -16,7 +16,7 @@ module QA ...@@ -16,7 +16,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it "creates the first file in an empty project via Web IDE", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/847' do it "creates the first file in an empty project via Web IDE", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1353' do
project.visit! project.visit!
Page::Project::Show.perform(&:create_first_new_file!) Page::Project::Show.perform(&:create_first_new_file!)
......
...@@ -18,7 +18,7 @@ module QA ...@@ -18,7 +18,7 @@ module QA
project.remove_via_api! project.remove_via_api!
end end
it 'can link to a specific line of code in Web IDE', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1102' do it 'can link to a specific line of code in Web IDE', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1844' do
project.visit! project.visit!
Page::Project::Show.perform(&:open_web_ide!) Page::Project::Show.perform(&:open_web_ide!)
......
...@@ -14,7 +14,7 @@ module QA ...@@ -14,7 +14,7 @@ module QA
let(:user) { Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1) } let(:user) { Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1) }
context 'when no fork is present' do context 'when no fork is present' do
it 'suggests to create a fork when a user clicks Web IDE in the main project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1697' do it 'suggests to create a fork when a user clicks Web IDE in the main project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1289' do
Flow::Login.sign_in(as: user) Flow::Login.sign_in(as: user)
parent_project.visit! parent_project.visit!
...@@ -34,7 +34,7 @@ module QA ...@@ -34,7 +34,7 @@ module QA
end end
end end
it 'opens the fork when a user clicks Web IDE in the main project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1698' do it 'opens the fork when a user clicks Web IDE in the main project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1288' do
Flow::Login.sign_in(as: user) Flow::Login.sign_in(as: user)
fork_project.upstream.visit! fork_project.upstream.visit!
Page::Project::Show.perform do |project_page| Page::Project::Show.perform do |project_page|
......
...@@ -49,7 +49,7 @@ module QA ...@@ -49,7 +49,7 @@ module QA
merge_request.visit! merge_request.visit!
end end
it 'opens and edits a multi-file merge request in Web IDE from Diff Tab', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/997' do it 'opens and edits a multi-file merge request in Web IDE from Diff Tab', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1649' do
Page::MergeRequest::Show.perform do |show| Page::MergeRequest::Show.perform do |show|
show.click_diffs_tab show.click_diffs_tab
show.edit_file_in_web_ide('file1') show.edit_file_in_web_ide('file1')
......
...@@ -20,7 +20,7 @@ module QA ...@@ -20,7 +20,7 @@ module QA
merge_request.visit! merge_request.visit!
end end
it 'opens and edits a merge request in Web IDE', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/705' do it 'opens and edits a merge request in Web IDE', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1420' do
Page::MergeRequest::Show.perform do |show| Page::MergeRequest::Show.perform do |show|
show.click_open_in_web_ide show.click_open_in_web_ide
end end
......
...@@ -22,7 +22,7 @@ module QA ...@@ -22,7 +22,7 @@ module QA
context 'when a file with the same name already exists' do context 'when a file with the same name already exists' do
let(:file_name) { 'README.md' } let(:file_name) { 'README.md' }
it 'throws an error', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1136' do it 'throws an error', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1214' do
Page::Project::WebIDE::Edit.perform do |ide| Page::Project::WebIDE::Edit.perform do |ide|
ide.upload_file(file_path) ide.upload_file(file_path)
end end
...@@ -34,7 +34,7 @@ module QA ...@@ -34,7 +34,7 @@ module QA
context 'when the file is a text file' do context 'when the file is a text file' do
let(:file_name) { 'text_file.txt' } let(:file_name) { 'text_file.txt' }
it 'shows the Edit tab with the text', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1138' do it 'shows the Edit tab with the text', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1212' do
Page::Project::WebIDE::Edit.perform do |ide| Page::Project::WebIDE::Edit.perform do |ide|
ide.upload_file(file_path) ide.upload_file(file_path)
...@@ -52,7 +52,7 @@ module QA ...@@ -52,7 +52,7 @@ module QA
context 'when the file is binary' do context 'when the file is binary' do
let(:file_name) { 'logo_sample.svg' } let(:file_name) { 'logo_sample.svg' }
it 'shows a Download button', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1137' do it 'shows a Download button', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1213' do
Page::Project::WebIDE::Edit.perform do |ide| Page::Project::WebIDE::Edit.perform do |ide|
ide.upload_file(file_path) ide.upload_file(file_path)
...@@ -70,7 +70,7 @@ module QA ...@@ -70,7 +70,7 @@ module QA
context 'when the file is an image' do context 'when the file is an image' do
let(:file_name) { 'dk.png' } let(:file_name) { 'dk.png' }
it 'shows an image viewer', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1139' do it 'shows an image viewer', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1211' do
Page::Project::WebIDE::Edit.perform do |ide| Page::Project::WebIDE::Edit.perform do |ide|
ide.upload_file(file_path) ide.upload_file(file_path)
......
...@@ -16,7 +16,7 @@ module QA ...@@ -16,7 +16,7 @@ module QA
initial_wiki.project.remove_via_api! initial_wiki.project.remove_via_api!
end end
it 'creates a formatted Wiki page with an image uploaded', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1861' do it 'creates a formatted Wiki page with an image uploaded', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1919' do
initial_wiki.visit! initial_wiki.visit!
Page::Project::Wiki::Show.perform(&:click_new_page) Page::Project::Wiki::Show.perform(&:click_new_page)
......
...@@ -15,7 +15,7 @@ module QA ...@@ -15,7 +15,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'by adding a home page to the wiki', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/856' do it 'by adding a home page to the wiki', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1347' do
project.visit! project.visit!
Page::Project::Menu.perform(&:click_wiki) Page::Project::Menu.perform(&:click_wiki)
...@@ -35,7 +35,7 @@ module QA ...@@ -35,7 +35,7 @@ module QA
end end
end end
it 'by adding a second page to the wiki', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/855' do it 'by adding a second page to the wiki', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1348' do
wiki.visit! wiki.visit!
Page::Project::Wiki::Show.perform(&:click_new_page) Page::Project::Wiki::Show.perform(&:click_new_page)
...@@ -54,7 +54,7 @@ module QA ...@@ -54,7 +54,7 @@ module QA
end end
end end
it 'by adding a home page to the wiki using git push', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/853' do it 'by adding a home page to the wiki using git push', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1350' do
empty_wiki = Resource::Wiki::ProjectPage.new do |empty_wiki| empty_wiki = Resource::Wiki::ProjectPage.new do |empty_wiki|
empty_wiki.project = project empty_wiki.project = project
end end
...@@ -73,7 +73,7 @@ module QA ...@@ -73,7 +73,7 @@ module QA
end end
end end
it 'by adding a second page to the wiki using git push', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/854' do it 'by adding a second page to the wiki using git push', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1349' do
Resource::Repository::WikiPush.fabricate! do |push| Resource::Repository::WikiPush.fabricate! do |push|
push.file_name = "#{new_wiki_title}.md" push.file_name = "#{new_wiki_title}.md"
push.file_content = new_wiki_content push.file_content = new_wiki_content
......
...@@ -14,7 +14,7 @@ module QA ...@@ -14,7 +14,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'by manipulating content on the page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/857' do it 'by manipulating content on the page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1346' do
wiki.visit! wiki.visit!
Page::Project::Wiki::Show.perform(&:click_edit) Page::Project::Wiki::Show.perform(&:click_edit)
...@@ -33,7 +33,7 @@ module QA ...@@ -33,7 +33,7 @@ module QA
end end
end end
it 'by manipulating content on the page using git push', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/858' do it 'by manipulating content on the page using git push', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1345' do
Resource::Repository::WikiPush.fabricate! do |push| Resource::Repository::WikiPush.fabricate! do |push|
push.file_content = new_wiki_content push.file_content = new_wiki_content
push.commit_message = commit_message push.commit_message = commit_message
......
...@@ -10,7 +10,7 @@ module QA ...@@ -10,7 +10,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'has changed the directory', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/948' do it 'has changed the directory', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1293' do
initial_wiki.visit! initial_wiki.visit!
Page::Project::Wiki::Show.perform(&:click_edit) Page::Project::Wiki::Show.perform(&:click_edit)
......
...@@ -15,7 +15,7 @@ module QA ...@@ -15,7 +15,7 @@ module QA
end end
context 'Sidebar' do context 'Sidebar' do
it 'has all expected links that work', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/903' do it 'has all expected links that work', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1317' do
small_wiki.visit! small_wiki.visit!
small_number_of_pages.times do |index| small_number_of_pages.times do |index|
...@@ -35,7 +35,7 @@ module QA ...@@ -35,7 +35,7 @@ module QA
end end
context 'Page List' do context 'Page List' do
it 'has all expected links that work', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/902' do it 'has all expected links that work', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1318' do
large_wiki.visit! large_wiki.visit!
Page::Project::Wiki::Show.perform(&:click_view_all_pages) Page::Project::Wiki::Show.perform(&:click_view_all_pages)
......
...@@ -10,7 +10,7 @@ module QA ...@@ -10,7 +10,7 @@ module QA
end end
context 'Page deletion' do context 'Page deletion' do
it 'has removed the deleted page correctly', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/921' do it 'has removed the deleted page correctly', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1310' do
initial_wiki.visit! initial_wiki.visit!
Page::Project::Wiki::Show.perform(&:click_edit) Page::Project::Wiki::Show.perform(&:click_edit)
......
...@@ -16,7 +16,7 @@ module QA ...@@ -16,7 +16,7 @@ module QA
add_ci_variable add_ci_variable
end end
it 'user adds a CI variable', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1759' do it 'user adds a CI variable', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1597' do
Page::Project::Settings::CiVariables.perform do |ci_variable| Page::Project::Settings::CiVariables.perform do |ci_variable|
expect(ci_variable).to have_text('VARIABLE_KEY') expect(ci_variable).to have_text('VARIABLE_KEY')
expect(ci_variable).not_to have_text('some_CI_variable') expect(ci_variable).not_to have_text('some_CI_variable')
...@@ -27,7 +27,7 @@ module QA ...@@ -27,7 +27,7 @@ module QA
end end
end end
it 'user removes a CI variable', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1758' do it 'user removes a CI variable', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1598' do
Page::Project::Settings::CiVariables.perform do |ci_variable| Page::Project::Settings::CiVariables.perform do |ci_variable|
ci_variable.click_edit_ci_variable ci_variable.click_edit_ci_variable
ci_variable.click_ci_variable_delete_button ci_variable.click_ci_variable_delete_button
......
...@@ -61,7 +61,7 @@ module QA ...@@ -61,7 +61,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it 'exposes variable on protected branch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/156' do it 'exposes variable on protected branch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1714' do
create_protected_branch create_protected_branch
[developer, maintainer].each do |user| [developer, maintainer].each do |user|
...@@ -74,7 +74,7 @@ module QA ...@@ -74,7 +74,7 @@ module QA
end end
end end
it 'does not expose variable on unprotected branch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/156' do it 'does not expose variable on unprotected branch', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1885' do
[developer, maintainer].each do |user| [developer, maintainer].each do |user|
create_merge_request(Runtime::API::Client.new(:gitlab, user: user)) create_merge_request(Runtime::API::Client.new(:gitlab, user: user))
go_to_pipeline_job(user) go_to_pipeline_job(user)
......
...@@ -24,7 +24,7 @@ module QA ...@@ -24,7 +24,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it 'users creates a pipeline which gets processed', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1849' do it 'users creates a pipeline which gets processed', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1601' do
# TODO: Convert back to :smoke once proved to be stable. Related issue: https://gitlab.com/gitlab-org/gitlab/-/issues/300909 # TODO: Convert back to :smoke once proved to be stable. Related issue: https://gitlab.com/gitlab-org/gitlab/-/issues/300909
Flow::Login.sign_in Flow::Login.sign_in
......
...@@ -20,7 +20,7 @@ module QA ...@@ -20,7 +20,7 @@ module QA
project.remove_via_api! project.remove_via_api!
end end
it 'runs the pipeline with composed config', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1757' do it 'runs the pipeline with composed config', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1814' do
Page::Project::Pipeline::Show.perform do |pipeline| Page::Project::Pipeline::Show.perform do |pipeline|
aggregate_failures 'pipeline has all expected jobs' do aggregate_failures 'pipeline has all expected jobs' do
expect(pipeline).to have_job('build') expect(pipeline).to have_job('build')
......
...@@ -39,7 +39,7 @@ module QA ...@@ -39,7 +39,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it 'runs the pipeline with composed config', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1082' do it 'runs the pipeline with composed config', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1223' do
Page::Project::Pipeline::Show.perform do |pipeline| Page::Project::Pipeline::Show.perform do |pipeline|
aggregate_failures 'pipeline has all expected jobs' do aggregate_failures 'pipeline has all expected jobs' do
expect(pipeline).to have_job('build') expect(pipeline).to have_job('build')
......
...@@ -30,7 +30,7 @@ module QA ...@@ -30,7 +30,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it 'can be browsed' do it 'can be browsed', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1808' do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.project = project commit.project = project
commit.commit_message = 'Add .gitlab-ci.yml' commit.commit_message = 'Add .gitlab-ci.yml'
......
...@@ -68,7 +68,7 @@ module QA ...@@ -68,7 +68,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it 'can still merge MR successfully', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/971' do it 'can still merge MR successfully', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1281' do
Page::MergeRequest::Show.perform do |show| Page::MergeRequest::Show.perform do |show|
# waiting for manual action status shows status badge 'blocked' on pipelines page # waiting for manual action status shows status badge 'blocked' on pipelines page
show.has_pipeline_status?('waiting for manual action') show.has_pipeline_status?('waiting for manual action')
......
...@@ -66,7 +66,7 @@ module QA ...@@ -66,7 +66,7 @@ module QA
project.remove_via_api! project.remove_via_api!
end end
it 'only runs the job configured to run on merge requests', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/170' do it 'only runs the job configured to run on merge requests', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1890' do
Page::Project::Pipeline::Show.perform do |pipeline| Page::Project::Pipeline::Show.perform do |pipeline|
aggregate_failures do aggregate_failures do
expect(pipeline).to have_job(mr_only_job_name) expect(pipeline).to have_job(mr_only_job_name)
......
...@@ -42,7 +42,7 @@ module QA ...@@ -42,7 +42,7 @@ module QA
[upstream_project, downstream_project].each(&:remove_via_api!) [upstream_project, downstream_project].each(&:remove_via_api!)
end end
it 'runs the pipeline with composed config', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1086' do it 'runs the pipeline with composed config', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1221' do
Page::Project::Pipeline::Show.perform do |parent_pipeline| Page::Project::Pipeline::Show.perform do |parent_pipeline|
Support::Waiter.wait_until { parent_pipeline.has_child_pipeline? } Support::Waiter.wait_until { parent_pipeline.has_child_pipeline? }
parent_pipeline.expand_child_pipeline parent_pipeline.expand_child_pipeline
......
...@@ -70,7 +70,7 @@ module QA ...@@ -70,7 +70,7 @@ module QA
Page::Main::Menu.perform(&:sign_out) Page::Main::Menu.perform(&:sign_out)
end end
it 'can switch branches and target branch field updates accordingly', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1856' do it 'can switch branches and target branch field updates accordingly', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1891' do
Page::Project::PipelineEditor::Show.perform do |show| Page::Project::PipelineEditor::Show.perform do |show|
expect(show).to have_branch_selector_button expect(show).to have_branch_selector_button
......
...@@ -40,7 +40,7 @@ module QA ...@@ -40,7 +40,7 @@ module QA
Page::Project::Menu.perform(&:click_ci_cd_pipelines) Page::Project::Menu.perform(&:click_ci_cd_pipelines)
end end
it 'can trigger pipeline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/946' do it 'can trigger pipeline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1650' do
Page::Project::Pipeline::Index.perform do |index| Page::Project::Pipeline::Index.perform do |index|
expect(index).not_to have_pipeline # should not auto trigger pipeline expect(index).not_to have_pipeline # should not auto trigger pipeline
index.click_run_pipeline_button index.click_run_pipeline_button
......
...@@ -30,7 +30,7 @@ module QA ...@@ -30,7 +30,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it 'can trigger bridge job', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1049' do it 'can trigger bridge job', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1237' do
Page::Project::Pipeline::Show.perform do |parent_pipeline| Page::Project::Pipeline::Show.perform do |parent_pipeline|
expect(parent_pipeline).not_to have_child_pipeline expect(parent_pipeline).not_to have_child_pipeline
......
...@@ -31,7 +31,7 @@ module QA ...@@ -31,7 +31,7 @@ module QA
project.remove_via_api! project.remove_via_api!
end end
it 'creates 2 trigger jobs and passes corresponding matrix variables', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1732' do it 'creates 2 trigger jobs and passes corresponding matrix variables', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1824' do
Page::Project::Pipeline::Show.perform do |parent_pipeline| Page::Project::Pipeline::Show.perform do |parent_pipeline|
trigger_title1 = 'deploy: [ovh, monitoring]' trigger_title1 = 'deploy: [ovh, monitoring]'
trigger_title2 = 'deploy: [ovh, app]' trigger_title2 = 'deploy: [ovh, app]'
......
...@@ -15,7 +15,7 @@ module QA ...@@ -15,7 +15,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it 'user registers a new specific runner', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1764' do it 'user registers a new specific runner', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1600' do
Flow::Login.sign_in Flow::Login.sign_in
runner.project.visit! runner.project.visit!
......
...@@ -33,7 +33,7 @@ module QA ...@@ -33,7 +33,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it 'creates an MR with code coverage statistics', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1740' do it 'creates an MR with code coverage statistics', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1373' do
runner.project.visit! runner.project.visit!
configure_code_coverage(simplecov) configure_code_coverage(simplecov)
merge_request.visit! merge_request.visit!
......
...@@ -102,7 +102,7 @@ module QA ...@@ -102,7 +102,7 @@ module QA
package.remove_via_api! package.remove_via_api!
end end
it 'publishes a composer package and deletes it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1088' do it 'publishes a composer package and deletes it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1634' do
Page::Project::Menu.perform(&:click_packages_link) Page::Project::Menu.perform(&:click_packages_link)
Page::Project::Packages::Index.perform do |index| Page::Project::Packages::Index.perform do |index|
......
...@@ -41,7 +41,7 @@ module QA ...@@ -41,7 +41,7 @@ module QA
package.remove_via_api! package.remove_via_api!
end end
it 'publishes, installs, and deletes a Conan package', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1077' do it 'publishes, installs, and deletes a Conan package', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1638' do
Flow::Login.sign_in Flow::Login.sign_in
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
......
...@@ -28,7 +28,7 @@ module QA ...@@ -28,7 +28,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it "pushes image and deletes tag", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1743' do it "pushes image and deletes tag", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1911' do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.project = project commit.project = project
commit.commit_message = 'Add .gitlab-ci.yml' commit.commit_message = 'Add .gitlab-ci.yml'
......
...@@ -49,7 +49,7 @@ module QA ...@@ -49,7 +49,7 @@ module QA
registry_repository&.remove_via_api! registry_repository&.remove_via_api!
end end
it 'pushes project image to the container registry and deletes tag', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1699' do it 'pushes project image to the container registry and deletes tag', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1833' do
Flow::Login.sign_in Flow::Login.sign_in
project.visit! project.visit!
......
...@@ -44,7 +44,7 @@ module QA ...@@ -44,7 +44,7 @@ module QA
end end
with_them do with_them do
it "pulls an image using the dependency proxy", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1862' do it "pulls an image using the dependency proxy", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1922' do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.project = project commit.project = project
commit.commit_message = 'Add .gitlab-ci.yml' commit.commit_message = 'Add .gitlab-ci.yml'
......
...@@ -98,7 +98,7 @@ module QA ...@@ -98,7 +98,7 @@ module QA
package.remove_via_api! package.remove_via_api!
end end
it 'uploads a generic package, downloads and deletes it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1108' do it 'uploads a generic package, downloads and deletes it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1628' do
Page::Project::Menu.perform(&:click_packages_link) Page::Project::Menu.perform(&:click_packages_link)
Page::Project::Packages::Index.perform do |index| Page::Project::Packages::Index.perform do |index|
......
...@@ -194,7 +194,7 @@ module QA ...@@ -194,7 +194,7 @@ module QA
} }
end end
it "pushes and pulls a maven package via gradle using #{params[:authentication_token_type]}", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1074' do it "pushes and pulls a maven package via gradle using #{params[:authentication_token_type]}" do
# pushing # pushing
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.project = package_project commit.project = package_project
......
...@@ -183,7 +183,7 @@ module QA ...@@ -183,7 +183,7 @@ module QA
another_project.remove_via_api! another_project.remove_via_api!
end end
it 'pushes and pulls a Maven package via CI and deletes it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1115' do it 'pushes and pulls a Maven package via CI and deletes it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1627' do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.project = project commit.project = project
commit.commit_message = 'Add .gitlab-ci.yml' commit.commit_message = 'Add .gitlab-ci.yml'
...@@ -256,7 +256,7 @@ module QA ...@@ -256,7 +256,7 @@ module QA
Page::Group::Settings::PackageRegistries.perform(&:set_allow_duplicates_disabled) Page::Group::Settings::PackageRegistries.perform(&:set_allow_duplicates_disabled)
end end
it 'prevents users from publishing duplicate Maven packages at the group level', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1717' do it 'prevents users from publishing duplicate Maven packages at the group level', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1830' do
with_fixtures([pom_xml, settings_xml]) do |dir| with_fixtures([pom_xml, settings_xml]) do |dir|
Service::DockerRun::Maven.new(dir).publish! Service::DockerRun::Maven.new(dir).publish!
end end
...@@ -301,7 +301,7 @@ module QA ...@@ -301,7 +301,7 @@ module QA
Page::Group::Settings::PackageRegistries.perform(&:set_allow_duplicates_enabled) Page::Group::Settings::PackageRegistries.perform(&:set_allow_duplicates_enabled)
end end
it 'allows users to publish duplicate Maven packages at the group level', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1722' do it 'allows users to publish duplicate Maven packages at the group level', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1829' do
with_fixtures([pom_xml, settings_xml]) do |dir| with_fixtures([pom_xml, settings_xml]) do |dir|
Service::DockerRun::Maven.new(dir).publish! Service::DockerRun::Maven.new(dir).publish!
end end
......
...@@ -133,7 +133,7 @@ module QA ...@@ -133,7 +133,7 @@ module QA
another_project.remove_via_api! another_project.remove_via_api!
end end
it 'push and pull a npm package via CI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1772' do it 'push and pull a npm package via CI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1811' do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.project = project commit.project = project
commit.commit_message = 'Add .gitlab-ci.yml' commit.commit_message = 'Add .gitlab-ci.yml'
......
...@@ -40,7 +40,7 @@ module QA ...@@ -40,7 +40,7 @@ module QA
package.remove_via_api! package.remove_via_api!
end end
it 'publishes a nuget package at the project level, installs and deletes it at the group level', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1073' do it 'publishes a nuget package at the project level, installs and deletes it at the group level', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1641' do
Flow::Login.sign_in Flow::Login.sign_in
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
......
...@@ -90,7 +90,7 @@ module QA ...@@ -90,7 +90,7 @@ module QA
end end
end end
it 'runs the online garbage collector tool', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1854' do it 'runs the online garbage collector tool', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1889' do
imported_project.visit! imported_project.visit!
Flow::Pipeline.visit_latest_pipeline Flow::Pipeline.visit_latest_pipeline
......
...@@ -117,7 +117,7 @@ module QA ...@@ -117,7 +117,7 @@ module QA
end end
context 'when at the project level' do context 'when at the project level' do
it 'publishes and installs a pypi package and deletes it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1087' do it 'publishes and installs a pypi package and deletes it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1635' do
Page::Project::Menu.perform(&:click_packages_link) Page::Project::Menu.perform(&:click_packages_link)
Page::Project::Packages::Index.perform do |index| Page::Project::Packages::Index.perform do |index|
...@@ -137,7 +137,7 @@ module QA ...@@ -137,7 +137,7 @@ module QA
end end
context 'Geo', :orchestrated, :geo do context 'Geo', :orchestrated, :geo do
it 'replicates a published pypi package to the Geo secondary site', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1120', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/325556', type: :investigating } do it 'replicates a published pypi package to the Geo secondary site', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1219', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/325556', type: :investigating } do
QA::Runtime::Logger.debug('Visiting the secondary Geo site') QA::Runtime::Logger.debug('Visiting the secondary Geo site')
QA::Flow::Login.while_signed_in(address: :geo_secondary) do QA::Flow::Login.while_signed_in(address: :geo_secondary) do
......
...@@ -43,7 +43,7 @@ module QA ...@@ -43,7 +43,7 @@ module QA
project.remove_via_api! project.remove_via_api!
end end
it 'publishes and deletes a Ruby gem', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1131' do it 'publishes and deletes a Ruby gem', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1906' do
Flow::Login.sign_in Flow::Login.sign_in
Resource::Repository::ProjectPush.fabricate! do |push| Resource::Repository::ProjectPush.fabricate! do |push|
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Release' do RSpec.describe 'Release' do
describe 'Deploy key creation' do describe 'Deploy key creation' do
it 'user adds a deploy key', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1765' do it 'user adds a deploy key', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1602' do
Flow::Login.sign_in Flow::Login.sign_in
key = Runtime::Key::RSA.new key = Runtime::Key::RSA.new
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Release' do RSpec.describe 'Release' do
describe 'Deploy token creation' do describe 'Deploy token creation' do
it 'user adds a deploy token', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/419' do it 'user adds a deploy token', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1582' do
Flow::Login.sign_in Flow::Login.sign_in
deploy_token_name = 'deploy token name' deploy_token_name = 'deploy token name'
......
...@@ -31,7 +31,7 @@ module QA ...@@ -31,7 +31,7 @@ module QA
pipeline.visit! pipeline.visit!
end end
it 'runs a Pages-specific pipeline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1783' do it 'runs a Pages-specific pipeline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1879' do
Page::Project::Pipeline::Show.perform do |show| Page::Project::Pipeline::Show.perform do |show|
expect(show).to have_job(:pages) expect(show).to have_job(:pages)
show.click_job(:pages) show.click_job(:pages)
......
...@@ -25,7 +25,7 @@ module QA ...@@ -25,7 +25,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it 'parent pipelines passes if child passes', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1153' do it 'parent pipelines passes if child passes', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1198' do
add_ci_files(success_child_ci_file) add_ci_files(success_child_ci_file)
Flow::Pipeline.visit_latest_pipeline(pipeline_condition: 'completed') Flow::Pipeline.visit_latest_pipeline(pipeline_condition: 'completed')
...@@ -35,7 +35,7 @@ module QA ...@@ -35,7 +35,7 @@ module QA
end end
end end
it 'parent pipeline fails if child fails', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1152' do it 'parent pipeline fails if child fails', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1199' do
add_ci_files(fail_child_ci_file) add_ci_files(fail_child_ci_file)
Flow::Pipeline.visit_latest_pipeline(pipeline_condition: 'completed') Flow::Pipeline.visit_latest_pipeline(pipeline_condition: 'completed')
......
...@@ -25,7 +25,7 @@ module QA ...@@ -25,7 +25,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it 'parent pipelines passes if child passes', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1161' do it 'parent pipelines passes if child passes', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1191' do
add_ci_files(success_child_ci_file) add_ci_files(success_child_ci_file)
Flow::Pipeline.visit_latest_pipeline(pipeline_condition: 'completed') Flow::Pipeline.visit_latest_pipeline(pipeline_condition: 'completed')
...@@ -35,7 +35,7 @@ module QA ...@@ -35,7 +35,7 @@ module QA
end end
end end
it 'parent pipeline passes even if child fails', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1162' do it 'parent pipeline passes even if child fails', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1190' do
add_ci_files(fail_child_ci_file) add_ci_files(fail_child_ci_file)
Flow::Pipeline.visit_latest_pipeline(pipeline_condition: 'completed') Flow::Pipeline.visit_latest_pipeline(pipeline_condition: 'completed')
......
...@@ -21,7 +21,7 @@ module QA ...@@ -21,7 +21,7 @@ module QA
cluster&.remove! cluster&.remove!
end end
it 'runs auto devops', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1715' do it 'runs auto devops', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1422' do
Flow::Login.sign_in Flow::Login.sign_in
# Set an application secret CI variable (prefixed with K8S_SECRET_) # Set an application secret CI variable (prefixed with K8S_SECRET_)
...@@ -113,7 +113,7 @@ module QA ...@@ -113,7 +113,7 @@ module QA
end end
end end
it 'runs an AutoDevOps pipeline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1847' do it 'runs an AutoDevOps pipeline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1564' do
Flow::Pipeline.visit_latest_pipeline Flow::Pipeline.visit_latest_pipeline
Page::Project::Pipeline::Show.perform do |pipeline| Page::Project::Pipeline::Show.perform do |pipeline|
......
...@@ -20,7 +20,7 @@ module QA ...@@ -20,7 +20,7 @@ module QA
cluster.remove! cluster.remove!
end end
it 'can create and associate a project cluster', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/707' do it 'can create and associate a project cluster', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1419' do
Resource::KubernetesCluster::ProjectCluster.fabricate_via_browser_ui! do |k8s_cluster| Resource::KubernetesCluster::ProjectCluster.fabricate_via_browser_ui! do |k8s_cluster|
k8s_cluster.project = project k8s_cluster.project = project
k8s_cluster.cluster = cluster k8s_cluster.cluster = cluster
......
...@@ -10,13 +10,13 @@ module QA ...@@ -10,13 +10,13 @@ module QA
@project.visit! @project.visit!
end end
it 'configures custom metrics', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/872' do it 'configures custom metrics', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1334' do
verify_add_custom_metric verify_add_custom_metric
verify_edit_custom_metric verify_edit_custom_metric
verify_delete_custom_metric verify_delete_custom_metric
end end
it 'duplicates to create dashboard to custom', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/871' do it 'duplicates to create dashboard to custom', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1335' do
Page::Project::Menu.perform(&:go_to_monitor_metrics) Page::Project::Menu.perform(&:go_to_monitor_metrics)
Page::Project::Monitor::Metrics::Show.perform do |on_dashboard| Page::Project::Monitor::Metrics::Show.perform do |on_dashboard|
...@@ -27,7 +27,7 @@ module QA ...@@ -27,7 +27,7 @@ module QA
end end
end end
it 'verifies data on filtered deployed environment', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/874' do it 'verifies data on filtered deployed environment', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1332' do
Page::Project::Menu.perform(&:go_to_monitor_metrics) Page::Project::Menu.perform(&:go_to_monitor_metrics)
Page::Project::Monitor::Metrics::Show.perform do |on_dashboard| Page::Project::Monitor::Metrics::Show.perform do |on_dashboard|
...@@ -37,7 +37,7 @@ module QA ...@@ -37,7 +37,7 @@ module QA
end end
end end
it 'filters using the quick range', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/873' do it 'filters using the quick range', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1333' do
Page::Project::Menu.perform(&:go_to_monitor_metrics) Page::Project::Menu.perform(&:go_to_monitor_metrics)
Page::Project::Monitor::Metrics::Show.perform do |on_dashboard| Page::Project::Monitor::Metrics::Show.perform do |on_dashboard|
...@@ -52,7 +52,7 @@ module QA ...@@ -52,7 +52,7 @@ module QA
end end
end end
it 'observes cluster health graph', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/920' do it 'observes cluster health graph', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1311' do
Page::Project::Menu.perform(&:go_to_infrastructure_kubernetes) Page::Project::Menu.perform(&:go_to_infrastructure_kubernetes)
Page::Project::Infrastructure::Kubernetes::Index.perform do |cluster_list| Page::Project::Infrastructure::Kubernetes::Index.perform do |cluster_list|
...@@ -65,7 +65,7 @@ module QA ...@@ -65,7 +65,7 @@ module QA
end end
end end
it 'uses templating variables for metrics dashboards' do it 'uses templating variables for metrics dashboards', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1926' do
templating_dashboard_yml = Pathname templating_dashboard_yml = Pathname
.new(__dir__) .new(__dir__)
.join('../../../../fixtures/metrics_dashboards/templating.yml') .join('../../../../fixtures/metrics_dashboards/templating.yml')
......
...@@ -20,7 +20,7 @@ module QA ...@@ -20,7 +20,7 @@ module QA
end end
end end
it 'shows results for the original request and AJAX requests', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/478' do it 'shows results for the original request and AJAX requests', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1545' do
# Issue pages always make AJAX requests # Issue pages always make AJAX requests
Resource::Issue.fabricate_via_browser_ui! do |issue| Resource::Issue.fabricate_via_browser_ui! do |issue|
issue.title = 'Performance bar test' issue.title = 'Performance bar test'
......
...@@ -87,7 +87,7 @@ module QA ...@@ -87,7 +87,7 @@ module QA
Runtime::Feature.disable(:bulk_import) Runtime::Feature.disable(:bulk_import)
end end
it 'imports group epics', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1874' do it 'imports group epics', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1921' do
expect { imported_group.import_status }.to( expect { imported_group.import_status }.to(
eventually_eq('finished').within(max_duration: 300, sleep_interval: 2) eventually_eq('finished').within(max_duration: 300, sleep_interval: 2)
) )
......
...@@ -23,7 +23,7 @@ module QA ...@@ -23,7 +23,7 @@ module QA
end end
end end
it 'is not allowed to push code via the CLI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1134' do it 'is not allowed to push code via the CLI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1626' do
expect do expect do
Resource::Repository::Push.fabricate! do |push| Resource::Repository::Push.fabricate! do |push|
push.repository_http_uri = @project.repository_http_location.uri push.repository_http_uri = @project.repository_http_location.uri
...@@ -36,7 +36,7 @@ module QA ...@@ -36,7 +36,7 @@ module QA
end.to raise_error(QA::Support::Run::CommandError, /You are not allowed to push code to this project/) end.to raise_error(QA::Support::Run::CommandError, /You are not allowed to push code to this project/)
end end
it 'is not allowed to create a file via the API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1135' do it 'is not allowed to create a file via the API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1625' do
expect do expect do
Resource::File.fabricate_via_api! do |file| Resource::File.fabricate_via_api! do |file|
file.api_client = @user_api_client file.api_client = @user_api_client
...@@ -49,7 +49,7 @@ module QA ...@@ -49,7 +49,7 @@ module QA
end.to raise_error(Resource::ApiFabricator::ResourceFabricationFailedError, /403 Forbidden/) end.to raise_error(Resource::ApiFabricator::ResourceFabricationFailedError, /403 Forbidden/)
end end
it 'is not allowed to commit via the API' do it 'is not allowed to commit via the API', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1901' do
expect do expect do
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.api_client = @user_api_client commit.api_client = @user_api_client
......
...@@ -16,7 +16,7 @@ module QA ...@@ -16,7 +16,7 @@ module QA
@fixed_due_date = (Date.today.to_date + 90).strftime("%Y-%m-%d") @fixed_due_date = (Date.today.to_date + 90).strftime("%Y-%m-%d")
end end
it 'changes epic dates when updating milestones', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1668' do it 'changes epic dates when updating milestones', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1480' do
epic_iid, milestone_id = create_epic_issue_milestone epic_iid, milestone_id = create_epic_issue_milestone
milestone_start_date = Date.today.to_date.strftime("%Y-%m-%d") milestone_start_date = Date.today.to_date.strftime("%Y-%m-%d")
milestone_due_date = (Date.today.to_date + 30).strftime("%Y-%m-%d") milestone_due_date = (Date.today.to_date + 30).strftime("%Y-%m-%d")
...@@ -37,7 +37,7 @@ module QA ...@@ -37,7 +37,7 @@ module QA
expect_json('due_date', milestone_due_date) expect_json('due_date', milestone_due_date)
end end
it 'updates epic dates when adding another issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1671' do it 'updates epic dates when adding another issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1483' do
epic_iid = create_epic_issue_milestone[0] epic_iid = create_epic_issue_milestone[0]
milestone_start_date = Date.today.to_date.strftime("%Y-%m-%d") milestone_start_date = Date.today.to_date.strftime("%Y-%m-%d")
milestone_due_date = (Date.today.to_date + 150).strftime("%Y-%m-%d") milestone_due_date = (Date.today.to_date + 150).strftime("%Y-%m-%d")
...@@ -60,7 +60,7 @@ module QA ...@@ -60,7 +60,7 @@ module QA
expect_json('due_date', milestone_due_date) expect_json('due_date', milestone_due_date)
end end
it 'updates epic dates when removing issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1669' do it 'updates epic dates when removing issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1481' do
epic_iid = create_epic_issue_milestone[0] epic_iid = create_epic_issue_milestone[0]
# Get epic_issue_id # Get epic_issue_id
...@@ -85,7 +85,7 @@ module QA ...@@ -85,7 +85,7 @@ module QA
expect_json('due_date', nil) expect_json('due_date', nil)
end end
it 'updates epic dates when deleting milestones', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1670' do it 'updates epic dates when deleting milestones', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1482' do
epic_iid, milestone_id = create_epic_issue_milestone epic_iid, milestone_id = create_epic_issue_milestone
# Delete Milestone # Delete Milestone
......
...@@ -30,7 +30,7 @@ module QA ...@@ -30,7 +30,7 @@ module QA
praefect_manager.gitlab = 'gitlab' praefect_manager.gitlab = 'gitlab'
end end
it 'moves group Wiki repository from one Gitaly storage to another', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1733' do it 'moves group Wiki repository from one Gitaly storage to another', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1913' do
expect(wiki).to have_page_content(original_page_title, original_page_content) expect(wiki).to have_page_content(original_page_title, original_page_content)
expect { group.change_repository_storage(destination_storage[:name]) }.not_to raise_error expect { group.change_repository_storage(destination_storage[:name]) }.not_to raise_error
......
...@@ -28,7 +28,7 @@ module QA ...@@ -28,7 +28,7 @@ module QA
project.group.remove_via_api! project.group.remove_via_api!
end end
it 'deploys a K8s manifest file', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1106' do it 'deploys a K8s manifest file', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1924' do
deploy_manifest(project) deploy_manifest(project)
expect(manifest_deployed?).to be_truthy expect(manifest_deployed?).to be_truthy
......
...@@ -37,11 +37,11 @@ module QA ...@@ -37,11 +37,11 @@ module QA
end end
context 'when searching for projects using advanced syntax' do context 'when searching for projects using advanced syntax' do
it 'searches in the project name', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/747' do it 'searches in the project name', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1385' do
expect_search_to_find_project("es-adv-*#{project_name_suffix}") expect_search_to_find_project("es-adv-*#{project_name_suffix}")
end end
it 'searches in the project description', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/748' do it 'searches in the project description', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1384' do
expect_search_to_find_project("unique +#{project_name_suffix}") expect_search_to_find_project("unique +#{project_name_suffix}")
end end
end end
......
...@@ -37,7 +37,7 @@ module QA ...@@ -37,7 +37,7 @@ module QA
end end
end end
it 'searches public project and finds a blob as an non-member user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/744' do it 'searches public project and finds a blob as an non-member user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1388' do
successful_search(non_member_api_client) successful_search(non_member_api_client)
end end
...@@ -46,11 +46,11 @@ module QA ...@@ -46,11 +46,11 @@ module QA
project.set_visibility(:private) project.set_visibility(:private)
end end
it 'finds a blob as an authorized user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/745' do it 'finds a blob as an authorized user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1387' do
successful_search(api_client) successful_search(api_client)
end end
it 'does not find a blob as an non-member user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/746' do it 'does not find a blob as an non-member user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1386' do
QA::Support::Retrier.retry_on_exception(max_attempts: Runtime::Search::RETRY_MAX_ITERATION, sleep_interval: Runtime::Search::RETRY_SLEEP_INTERVAL) do QA::Support::Retrier.retry_on_exception(max_attempts: Runtime::Search::RETRY_MAX_ITERATION, sleep_interval: Runtime::Search::RETRY_SLEEP_INTERVAL) do
get Runtime::Search.create_search_request(non_member_api_client, 'blobs', project_file_content).url get Runtime::Search.create_search_request(non_member_api_client, 'blobs', project_file_content).url
expect_status(QA::Support::API::HTTP_STATUS_OK) expect_status(QA::Support::API::HTTP_STATUS_OK)
......
...@@ -31,7 +31,7 @@ module QA ...@@ -31,7 +31,7 @@ module QA
issue.project.remove_via_api! issue.project.remove_via_api!
end end
it 'finds issue that matches description', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1870' do it 'finds issue that matches description', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1928' do
QA::Support::Retrier.retry_on_exception(max_attempts: Runtime::Search::RETRY_MAX_ITERATION, sleep_interval: Runtime::Search::RETRY_SLEEP_INTERVAL) do QA::Support::Retrier.retry_on_exception(max_attempts: Runtime::Search::RETRY_MAX_ITERATION, sleep_interval: Runtime::Search::RETRY_SLEEP_INTERVAL) do
get Runtime::Search.create_search_request(api_client, 'issues', issue.description).url get Runtime::Search.create_search_request(api_client, 'issues', issue.description).url
expect_status(QA::Support::API::HTTP_STATUS_OK) expect_status(QA::Support::API::HTTP_STATUS_OK)
......
...@@ -39,7 +39,7 @@ module QA ...@@ -39,7 +39,7 @@ module QA
project.remove_via_api! project.remove_via_api!
end end
it 'finds blob that matches file content', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1869' do it 'finds blob that matches file content', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1931' do
QA::Support::Retrier.retry_on_exception(max_attempts: Runtime::Search::RETRY_MAX_ITERATION, sleep_interval: Runtime::Search::RETRY_SLEEP_INTERVAL) do QA::Support::Retrier.retry_on_exception(max_attempts: Runtime::Search::RETRY_MAX_ITERATION, sleep_interval: Runtime::Search::RETRY_SLEEP_INTERVAL) do
get Runtime::Search.create_search_request(api_client, 'blobs', project_file_content).url get Runtime::Search.create_search_request(api_client, 'blobs', project_file_content).url
expect_status(QA::Support::API::HTTP_STATUS_OK) expect_status(QA::Support::API::HTTP_STATUS_OK)
......
...@@ -31,7 +31,7 @@ module QA ...@@ -31,7 +31,7 @@ module QA
merge_request.project.remove_via_api! merge_request.project.remove_via_api!
end end
it 'finds merge request that matches description', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1867' do it 'finds merge request that matches description', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1930' do
QA::Support::Retrier.retry_on_exception(max_attempts: Runtime::Search::RETRY_MAX_ITERATION, sleep_interval: Runtime::Search::RETRY_SLEEP_INTERVAL) do QA::Support::Retrier.retry_on_exception(max_attempts: Runtime::Search::RETRY_MAX_ITERATION, sleep_interval: Runtime::Search::RETRY_SLEEP_INTERVAL) do
get Runtime::Search.create_search_request(api_client, 'merge_requests', merge_request.description).url get Runtime::Search.create_search_request(api_client, 'merge_requests', merge_request.description).url
expect_status(QA::Support::API::HTTP_STATUS_OK) expect_status(QA::Support::API::HTTP_STATUS_OK)
......
...@@ -38,7 +38,7 @@ module QA ...@@ -38,7 +38,7 @@ module QA
issue.project.remove_via_api! issue.project.remove_via_api!
end end
it 'finds note that matches note body', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1868' do it 'finds note that matches note body', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1929' do
QA::Support::Retrier.retry_on_exception(max_attempts: Runtime::Search::RETRY_MAX_ITERATION, sleep_interval: Runtime::Search::RETRY_SLEEP_INTERVAL) do QA::Support::Retrier.retry_on_exception(max_attempts: Runtime::Search::RETRY_MAX_ITERATION, sleep_interval: Runtime::Search::RETRY_SLEEP_INTERVAL) do
get Runtime::Search.create_search_request(api_client, 'notes', note.body).url get Runtime::Search.create_search_request(api_client, 'notes', note.body).url
expect_status(QA::Support::API::HTTP_STATUS_OK) expect_status(QA::Support::API::HTTP_STATUS_OK)
......
...@@ -39,7 +39,7 @@ module QA ...@@ -39,7 +39,7 @@ module QA
end end
end end
it 'searches public project and finds a blob as an non-member user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1105' do it 'searches public project and finds a blob as an non-member user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1220' do
start_time = Time.now start_time = Time.now
while (Time.now - start_time) / 60 < p1_threshold while (Time.now - start_time) / 60 < p1_threshold
get Runtime::Search.create_search_request(api_client, 'blobs', project_file_content).url get Runtime::Search.create_search_request(api_client, 'blobs', project_file_content).url
......
...@@ -39,7 +39,7 @@ module QA ...@@ -39,7 +39,7 @@ module QA
end end
describe 'editing a Geo node' do describe 'editing a Geo node' do
it 'PUT /geo_nodes/:id for secondary node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/683' do it 'PUT /geo_nodes/:id for secondary node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1441' do
endpoint = api_endpoint("/geo_nodes/#{@secondary_node[:id]}") endpoint = api_endpoint("/geo_nodes/#{@secondary_node[:id]}")
new_attributes = { enabled: false, files_max_capacity: 1000, repos_max_capacity: 2000 } new_attributes = { enabled: false, files_max_capacity: 1000, repos_max_capacity: 2000 }
......
...@@ -23,7 +23,7 @@ module QA ...@@ -23,7 +23,7 @@ module QA
project.visit! project.visit!
end end
it 'can load Threat Monitoring page and view the policy alert list', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1786' do it 'can load Threat Monitoring page and view the policy alert list', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1892' do
Page::Project::Menu.perform(&:click_on_threat_monitoring) Page::Project::Menu.perform(&:click_on_threat_monitoring)
EE::Page::Project::ThreatMonitoring::AlertsList.perform do |alerts_list| EE::Page::Project::ThreatMonitoring::AlertsList.perform do |alerts_list|
...@@ -64,7 +64,7 @@ module QA ...@@ -64,7 +64,7 @@ module QA
cluster.remove! cluster.remove!
end end
it 'loads a sample network policy under policies tab on the Threat Monitoring page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1855' do it 'loads a sample network policy under policies tab on the Threat Monitoring page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1925' do
Resource::KubernetesCluster::ProjectCluster.fabricate_via_browser_ui! do |k8s_cluster| Resource::KubernetesCluster::ProjectCluster.fabricate_via_browser_ui! do |k8s_cluster|
k8s_cluster.project = project k8s_cluster.project = project
k8s_cluster.cluster = cluster k8s_cluster.cluster = cluster
......
...@@ -43,7 +43,7 @@ module QA ...@@ -43,7 +43,7 @@ module QA
let(:user) { Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1) } let(:user) { Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1) }
context 'Add group', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/733' do context 'Add group', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1398' do
before do before do
@event_count = 0 @event_count = 0
sign_in sign_in
...@@ -57,7 +57,7 @@ module QA ...@@ -57,7 +57,7 @@ module QA
it_behaves_like 'audit event', ['Added group'] it_behaves_like 'audit event', ['Added group']
end end
context 'Change repository size limit', :requires_admin, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/731' do context 'Change repository size limit', :requires_admin, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1400' do
before do before do
sign_in(as_admin: true) sign_in(as_admin: true)
group.visit! group.visit!
...@@ -70,7 +70,7 @@ module QA ...@@ -70,7 +70,7 @@ module QA
it_behaves_like 'audit event', ['Changed repository size limit'] it_behaves_like 'audit event', ['Changed repository size limit']
end end
context 'Update group name', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/732' do context 'Update group name', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1399' do
before do before do
sign_in sign_in
group.visit! group.visit!
...@@ -85,7 +85,7 @@ module QA ...@@ -85,7 +85,7 @@ module QA
it_behaves_like 'audit event', ['Changed name'] it_behaves_like 'audit event', ['Changed name']
end end
context 'Add user, change access level, remove user', :requires_admin, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/734' do context 'Add user, change access level, remove user', :requires_admin, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1397' do
before do before do
sign_in sign_in
group.visit! group.visit!
...@@ -100,7 +100,7 @@ module QA ...@@ -100,7 +100,7 @@ module QA
it_behaves_like 'audit event', ['Added user access as Guest', 'Changed access level', 'Removed user access'] it_behaves_like 'audit event', ['Added user access as Guest', 'Changed access level', 'Removed user access']
end end
context 'Add and remove project access', :requires_admin, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/735' do context 'Add and remove project access', :requires_admin, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1396' do
before do before do
Runtime::Feature.enable(:invite_members_group_modal) Runtime::Feature.enable(:invite_members_group_modal)
sign_in sign_in
......
...@@ -18,7 +18,7 @@ module QA ...@@ -18,7 +18,7 @@ module QA
end end
end end
context 'Disable and Enable LFS', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/749' do context 'Disable and Enable LFS', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1383' do
before do before do
sign_in sign_in
group.visit! group.visit!
...@@ -32,7 +32,7 @@ module QA ...@@ -32,7 +32,7 @@ module QA
it_behaves_like 'audit event', ["Changed lfs enabled from false to true", /Changed lfs enabled( from true)? to false/] it_behaves_like 'audit event', ["Changed lfs enabled from false to true", /Changed lfs enabled( from true)? to false/]
end end
context 'Enable and disable membership lock', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/723' do context 'Enable and disable membership lock', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1408' do
before do before do
sign_in sign_in
group.visit! group.visit!
...@@ -46,7 +46,7 @@ module QA ...@@ -46,7 +46,7 @@ module QA
it_behaves_like 'audit event', ["Changed membership lock from true to false", "Changed membership lock from false to true"] it_behaves_like 'audit event', ["Changed membership lock from true to false", "Changed membership lock from false to true"]
end end
context 'Enable and disable allow user request access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/725' do context 'Enable and disable allow user request access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1406' do
before do before do
sign_in sign_in
group.visit! group.visit!
...@@ -60,7 +60,7 @@ module QA ...@@ -60,7 +60,7 @@ module QA
it_behaves_like 'audit event', ["Changed request access enabled from true to false", "Changed request access enabled from false to true"] it_behaves_like 'audit event', ["Changed request access enabled from true to false", "Changed request access enabled from false to true"]
end end
context 'Enable and disable 2FA requirement', :requires_admin, :skip_live_env, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/750' do context 'Enable and disable 2FA requirement', :requires_admin, :skip_live_env, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1382' do
let!(:owner_user) do let!(:owner_user) do
Resource::User.fabricate_via_api! Resource::User.fabricate_via_api!
end end
...@@ -102,7 +102,7 @@ module QA ...@@ -102,7 +102,7 @@ module QA
it_behaves_like 'audit event', ["Changed require two factor authentication from true to false", "Changed require two factor authentication from false to true"] it_behaves_like 'audit event', ["Changed require two factor authentication from true to false", "Changed require two factor authentication from false to true"]
end end
context 'Change project creation level', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/724' do context 'Change project creation level', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1407' do
before do before do
sign_in sign_in
group.visit! group.visit!
......
...@@ -98,7 +98,7 @@ module QA ...@@ -98,7 +98,7 @@ module QA
Page::Group::Menu.perform(&:click_subgroup_members_item) Page::Group::Menu.perform(&:click_subgroup_members_item)
end end
it 'has LDAP users synced', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/670' do it 'has LDAP users synced', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1454' do
verify_users_synced(sync_users) verify_users_synced(sync_users)
end end
end end
...@@ -154,7 +154,7 @@ module QA ...@@ -154,7 +154,7 @@ module QA
Page::Group::Menu.perform(&:click_subgroup_members_item) Page::Group::Menu.perform(&:click_subgroup_members_item)
end end
it 'has LDAP users synced', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/669' do it 'has LDAP users synced', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1455' do
verify_users_synced(sync_users) verify_users_synced(sync_users)
end end
end end
......
...@@ -38,7 +38,7 @@ module QA ...@@ -38,7 +38,7 @@ module QA
Page::Main::Menu.perform(&:sign_out_if_signed_in) Page::Main::Menu.perform(&:sign_out_if_signed_in)
end end
it 'user clones and pushes to project within a group using Git HTTP', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/675' do it 'user clones and pushes to project within a group using Git HTTP', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1449' do
expect do expect do
Resource::Repository::ProjectPush.fabricate! do |project_push| Resource::Repository::ProjectPush.fabricate! do |project_push|
project_push.project = project project_push.project = project
......
...@@ -33,7 +33,7 @@ module QA ...@@ -33,7 +33,7 @@ module QA
Flow::Saml.logout_from_idp(saml_idp_service) Flow::Saml.logout_from_idp(saml_idp_service)
end end
it 'creates a new account automatically and allows to leave group and join again', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1756' do it 'creates a new account automatically and allows to leave group and join again', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1845' do
# When the user signs in via IDP for the first time # When the user signs in via IDP for the first time
visit_group_sso_url visit_group_sso_url
......
...@@ -29,7 +29,7 @@ module QA ...@@ -29,7 +29,7 @@ module QA
context 'when SAML SSO is configured with a default membership role' do context 'when SAML SSO is configured with a default membership role' do
let(:default_membership_role) { 'Developer' } let(:default_membership_role) { 'Developer' }
it 'adds the new member with access level as set in SAML SSO configuration', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/968' do it 'adds the new member with access level as set in SAML SSO configuration', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1284' do
managed_group_url = Flow::Saml.enable_saml_sso(@group, @saml_idp_service, default_membership_role: default_membership_role) managed_group_url = Flow::Saml.enable_saml_sso(@group, @saml_idp_service, default_membership_role: default_membership_role)
Page::Main::Menu.perform(&:sign_out_if_signed_in) Page::Main::Menu.perform(&:sign_out_if_signed_in)
...@@ -47,7 +47,7 @@ module QA ...@@ -47,7 +47,7 @@ module QA
end end
end end
it 'user logs in to group with SAML SSO', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/673' do it 'user logs in to group with SAML SSO', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1451' do
managed_group_url = Flow::Saml.enable_saml_sso(@group, @saml_idp_service) managed_group_url = Flow::Saml.enable_saml_sso(@group, @saml_idp_service)
Flow::Login.while_signed_in(as: user) do Flow::Login.while_signed_in(as: user) do
...@@ -65,7 +65,7 @@ module QA ...@@ -65,7 +65,7 @@ module QA
end end
end end
it 'lets group admin test settings', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/674' do it 'lets group admin test settings', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1450' do
incorrect_fingerprint = Digest::SHA1.hexdigest(rand.to_s) incorrect_fingerprint = Digest::SHA1.hexdigest(rand.to_s)
Flow::Saml.visit_saml_sso_settings(@group) Flow::Saml.visit_saml_sso_settings(@group)
......
...@@ -23,7 +23,7 @@ module QA ...@@ -23,7 +23,7 @@ module QA
set_prevent_forking_outside_group('disabled') set_prevent_forking_outside_group('disabled')
end end
it 'allows forking outside of group', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1774' do it 'allows forking outside of group', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1642' do
project.visit! project.visit!
Page::Project::Show.perform(&:fork_project) Page::Project::Show.perform(&:fork_project)
...@@ -39,7 +39,7 @@ module QA ...@@ -39,7 +39,7 @@ module QA
set_prevent_forking_outside_group('enabled') set_prevent_forking_outside_group('enabled')
end end
it 'does not allow forking outside of group', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1775' do it 'does not allow forking outside of group', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1629' do
project.visit! project.visit!
Page::Project::Show.perform(&:fork_project) Page::Project::Show.perform(&:fork_project)
......
...@@ -49,7 +49,7 @@ module QA ...@@ -49,7 +49,7 @@ module QA
let(:ip_address) { get_next_ip_address(fetch_current_ip_address) } let(:ip_address) { get_next_ip_address(fetch_current_ip_address) }
context 'via the UI' do context 'via the UI' do
it 'denies access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/862' do it 'denies access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1342' do
Flow::Login.sign_in(as: @user) Flow::Login.sign_in(as: @user)
@group.sandbox.visit! @group.sandbox.visit!
...@@ -63,7 +63,7 @@ module QA ...@@ -63,7 +63,7 @@ module QA
end end
context 'via the API' do context 'via the API' do
it 'denies access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/861' do it 'denies access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1343' do
request = create_request("/groups/#{@sandbox_group.id}") request = create_request("/groups/#{@sandbox_group.id}")
response = get request.url response = get request.url
expect(response.code).to eq(404) expect(response.code).to eq(404)
...@@ -88,7 +88,7 @@ module QA ...@@ -88,7 +88,7 @@ module QA
key.remove_via_api! key.remove_via_api!
end end
it 'denies access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/860' do it 'denies access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1344' do
expect { push_a_project_with_ssh_key(key) }.to raise_error(QA::Support::Run::CommandError, /fatal: Could not read from remote repository/) expect { push_a_project_with_ssh_key(key) }.to raise_error(QA::Support::Run::CommandError, /fatal: Could not read from remote repository/)
end end
end end
...@@ -98,7 +98,7 @@ module QA ...@@ -98,7 +98,7 @@ module QA
let(:ip_address) { fetch_current_ip_address } let(:ip_address) { fetch_current_ip_address }
context 'via the UI' do context 'via the UI' do
it 'allows access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/865' do it 'allows access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1339' do
Flow::Login.sign_in(as: @user) Flow::Login.sign_in(as: @user)
@group.sandbox.visit! @group.sandbox.visit!
...@@ -110,7 +110,7 @@ module QA ...@@ -110,7 +110,7 @@ module QA
end end
context 'via the API' do context 'via the API' do
it 'allows access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/864' do it 'allows access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1340' do
request = create_request("/groups/#{@sandbox_group.id}") request = create_request("/groups/#{@sandbox_group.id}")
response = get request.url response = get request.url
expect(response.code).to eq(200) expect(response.code).to eq(200)
...@@ -135,7 +135,7 @@ module QA ...@@ -135,7 +135,7 @@ module QA
key.remove_via_api! key.remove_via_api!
end end
it 'allows access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/863' do it 'allows access', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1341' do
expect { push_a_project_with_ssh_key(key) }.not_to raise_error expect { push_a_project_with_ssh_key(key) }.not_to raise_error
end end
end end
......
...@@ -37,7 +37,7 @@ module QA ...@@ -37,7 +37,7 @@ module QA
source_group_with_members.add_member(maintainer_user, Resource::Members::AccessLevel::MAINTAINER) source_group_with_members.add_member(maintainer_user, Resource::Members::AccessLevel::MAINTAINER)
end end
it 'can be shared with another group with correct access level', :requires_admin, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/945' do it 'can be shared with another group with correct access level', :requires_admin, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1294' do
Flow::Login.sign_in Flow::Login.sign_in
target_group_with_project.visit! target_group_with_project.visit!
......
...@@ -16,7 +16,7 @@ module QA ...@@ -16,7 +16,7 @@ module QA
end end
end end
context 'group insights page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/591' do context 'group insights page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1499' do
before do before do
Flow::Login.sign_in Flow::Login.sign_in
...@@ -28,7 +28,7 @@ module QA ...@@ -28,7 +28,7 @@ module QA
it_behaves_like 'default insights page' it_behaves_like 'default insights page'
end end
context 'project insights page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/593' do context 'project insights page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1497' do
before do before do
Flow::Login.sign_in Flow::Login.sign_in
......
...@@ -18,7 +18,7 @@ module QA ...@@ -18,7 +18,7 @@ module QA
end end
describe 'Instance', :requires_admin do describe 'Instance', :requires_admin do
context 'Failed sign in', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/736' do context 'Failed sign in', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1395' do
before do before do
Runtime::Browser.visit(:gitlab, Page::Main::Login) Runtime::Browser.visit(:gitlab, Page::Main::Login)
invalid_user = Resource::User.init do |user| invalid_user = Resource::User.init do |user|
...@@ -35,7 +35,7 @@ module QA ...@@ -35,7 +35,7 @@ module QA
it_behaves_like 'audit event', ["Failed to login with STANDARD authentication"] it_behaves_like 'audit event', ["Failed to login with STANDARD authentication"]
end end
context 'Successful sign in', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/737' do context 'Successful sign in', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1394' do
before do before do
sign_in sign_in
end end
...@@ -43,7 +43,7 @@ module QA ...@@ -43,7 +43,7 @@ module QA
it_behaves_like 'audit event', ["Signed in with STANDARD authentication"] it_behaves_like 'audit event', ["Signed in with STANDARD authentication"]
end end
context 'Add SSH key', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/738' do context 'Add SSH key', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1393' do
key = nil key = nil
before do before do
...@@ -60,7 +60,7 @@ module QA ...@@ -60,7 +60,7 @@ module QA
it_behaves_like 'audit event', ["Added SSH key"] it_behaves_like 'audit event', ["Added SSH key"]
end end
context 'Add and delete email', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/741' do context 'Add and delete email', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1390' do
before do before do
sign_in sign_in
new_email_address = 'new_email@example.com' new_email_address = 'new_email@example.com'
...@@ -78,7 +78,7 @@ module QA ...@@ -78,7 +78,7 @@ module QA
it_behaves_like 'audit event', ["Added email", "Removed email"] it_behaves_like 'audit event', ["Added email", "Removed email"]
end end
context 'Change password', :skip_signup_disabled, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/740' do context 'Change password', :skip_signup_disabled, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1391' do
before do before do
user = Resource::User.fabricate_via_api! do |user| user = Resource::User.fabricate_via_api! do |user|
user.username = "user_#{SecureRandom.hex(4)}" user.username = "user_#{SecureRandom.hex(4)}"
...@@ -101,7 +101,7 @@ module QA ...@@ -101,7 +101,7 @@ module QA
it_behaves_like 'audit event', ["Changed password"] it_behaves_like 'audit event', ["Changed password"]
end end
context 'Start and stop user impersonation', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/739' do context 'Start and stop user impersonation', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1392' do
let!(:user_for_impersonation) { Resource::User.fabricate_via_api! } let!(:user_for_impersonation) { Resource::User.fabricate_via_api! }
before do before do
......
...@@ -10,7 +10,7 @@ module QA ...@@ -10,7 +10,7 @@ module QA
login_with_ldap_admin_user login_with_ldap_admin_user
end end
it 'sets and removes user\'s admin status', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/672' do it 'sets and removes user\'s admin status', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1452' do
Page::Main::Menu.perform do |menu| Page::Main::Menu.perform do |menu|
admin_synchronised = menu.wait_until(max_duration: 80, sleep_interval: 1, reload: true) do admin_synchronised = menu.wait_until(max_duration: 80, sleep_interval: 1, reload: true) do
menu.has_admin_area_link? menu.has_admin_area_link?
......
...@@ -26,7 +26,7 @@ module QA ...@@ -26,7 +26,7 @@ module QA
let(:user) { Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1) } let(:user) { Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1) }
context "Add project", context "Add project",
testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/727' do testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1404' do
before do before do
Resource::Project.fabricate_via_browser_ui! do |project| Resource::Project.fabricate_via_browser_ui! do |project|
project.name = 'audit-add-project-via-ui' project.name = 'audit-add-project-via-ui'
...@@ -37,7 +37,7 @@ module QA ...@@ -37,7 +37,7 @@ module QA
end end
# TODO: Remove :requires_admin meta when the `Runtime::Feature.enable` method call is removed # TODO: Remove :requires_admin meta when the `Runtime::Feature.enable` method call is removed
context "Add user access as guest", :requires_admin, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/729' do context "Add user access as guest", :requires_admin, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1402' do
before do before do
Runtime::Feature.enable(:invite_members_group_modal) Runtime::Feature.enable(:invite_members_group_modal)
project.visit! project.visit!
...@@ -51,7 +51,7 @@ module QA ...@@ -51,7 +51,7 @@ module QA
it_behaves_like 'audit event', ["Added user access as Guest"] it_behaves_like 'audit event', ["Added user access as Guest"]
end end
context "Add deploy key", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/730' do context "Add deploy key", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1401' do
before do before do
key = Runtime::Key::RSA.new key = Runtime::Key::RSA.new
deploy_key_title = 'deploy key title' deploy_key_title = 'deploy key title'
...@@ -67,7 +67,7 @@ module QA ...@@ -67,7 +67,7 @@ module QA
it_behaves_like 'audit event', ["Added deploy key"] it_behaves_like 'audit event', ["Added deploy key"]
end end
context "Change visibility", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/728' do context "Change visibility", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1403' do
before do before do
project.visit! project.visit!
...@@ -83,7 +83,7 @@ module QA ...@@ -83,7 +83,7 @@ module QA
it_behaves_like 'audit event', ["Changed visibility from Public to Private"] it_behaves_like 'audit event', ["Changed visibility from Public to Private"]
end end
context "Export file download", :skip_live_env, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1127' do context "Export file download", :skip_live_env, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1216' do
before do before do
QA::Support::Retrier.retry_until do QA::Support::Retrier.retry_until do
project = Resource::Project.fabricate_via_api! do |project| project = Resource::Project.fabricate_via_api! do |project|
...@@ -114,7 +114,7 @@ module QA ...@@ -114,7 +114,7 @@ module QA
it_behaves_like 'audit event', ["Export file download started"] it_behaves_like 'audit event', ["Export file download started"]
end end
context "Project archive and unarchive", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/726' do context "Project archive and unarchive", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1405' do
before do before do
project.visit! project.visit!
......
...@@ -43,7 +43,7 @@ module QA ...@@ -43,7 +43,7 @@ module QA
@group = Resource::Group.fabricate_via_api! @group = Resource::Group.fabricate_via_api!
end end
it 'successfully imports the project using template', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/905' do it 'successfully imports the project using template', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1316' do
built_in = 'Ruby on Rails' built_in = 'Ruby on Rails'
@group.visit! @group.visit!
...@@ -94,7 +94,7 @@ module QA ...@@ -94,7 +94,7 @@ module QA
QA::Flow::Project.go_to_create_project_from_template QA::Flow::Project.go_to_create_project_from_template
end end
it 'successfully imports the project using template', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1233' do it 'successfully imports the project using template', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1621' do
Page::Project::New.perform do |new_page| Page::Project::New.perform do |new_page|
# TODO: Remove `reload true` once this bug is fixed: https://gitlab.com/gitlab-org/gitlab/-/issues/247874 # TODO: Remove `reload true` once this bug is fixed: https://gitlab.com/gitlab-org/gitlab/-/issues/247874
new_page.retry_until(reload: true) do new_page.retry_until(reload: true) do
...@@ -147,7 +147,7 @@ module QA ...@@ -147,7 +147,7 @@ module QA
Page::Project::New.perform(&:go_to_create_from_template_group_tab) Page::Project::New.perform(&:go_to_create_from_template_group_tab)
end end
it 'successfully imports the project using template', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1768' do it 'successfully imports the project using template', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1312' do
Page::Project::New.perform do |new_page| Page::Project::New.perform do |new_page|
expect(new_page.group_template_tab_badge_text).to eq "1" expect(new_page.group_template_tab_badge_text).to eq "1"
expect(new_page).to have_text(@template_container_group_name) expect(new_page).to have_text(@template_container_group_name)
......
...@@ -25,7 +25,7 @@ module QA ...@@ -25,7 +25,7 @@ module QA
end end
end end
it 'is not allowed to edit files via the UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1071' do it 'is not allowed to edit files via the UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1643' do
Flow::Login.sign_in(as: user_with_minimal_access) Flow::Login.sign_in(as: user_with_minimal_access)
project.visit! project.visit!
......
...@@ -21,7 +21,7 @@ module QA ...@@ -21,7 +21,7 @@ module QA
create_issue(milestone.project, milestone, weight_of_two) create_issue(milestone.project, milestone, weight_of_two)
end end
it 'shows burndown chart on milestone page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1145' do it 'shows burndown chart on milestone page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1206' do
milestone.visit! milestone.visit!
Page::Milestone::Show.perform do |show| Page::Milestone::Show.perform do |show|
......
...@@ -9,7 +9,7 @@ module QA ...@@ -9,7 +9,7 @@ module QA
Page::Admin::Menu.perform(&:go_to_preferences_settings) Page::Admin::Menu.perform(&:go_to_preferences_settings)
end end
it 'customizes email with additional text', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/554' do it 'customizes email with additional text', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1525' do
random_custom_text = "Testing custom email - #{SecureRandom.hex(8)}" random_custom_text = "Testing custom email - #{SecureRandom.hex(8)}"
EE::Page::Admin::Settings::Preferences.perform do |preferences| EE::Page::Admin::Settings::Preferences.perform do |preferences|
......
...@@ -7,7 +7,7 @@ module QA ...@@ -7,7 +7,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'creates an epic', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1155' do it 'creates an epic', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1196' do
epic_title = 'Epic created via GUI' epic_title = 'Epic created via GUI'
EE::Resource::Epic.fabricate_via_browser_ui! do |epic| EE::Resource::Epic.fabricate_via_browser_ui! do |epic|
epic.title = epic_title epic.title = epic_title
...@@ -16,7 +16,7 @@ module QA ...@@ -16,7 +16,7 @@ module QA
expect(page).to have_content(epic_title) expect(page).to have_content(epic_title)
end end
it 'creates a confidential epic', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1154' do it 'creates a confidential epic', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1197' do
epic_title = 'Confidential epic created via GUI' epic_title = 'Confidential epic created via GUI'
EE::Resource::Epic.fabricate_via_browser_ui! do |epic| EE::Resource::Epic.fabricate_via_browser_ui! do |epic|
epic.title = epic_title epic.title = epic_title
...@@ -36,7 +36,7 @@ module QA ...@@ -36,7 +36,7 @@ module QA
epic.visit! epic.visit!
end end
it 'adds/removes issue to/from epic', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1158' do it 'adds/removes issue to/from epic', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1193' do
EE::Page::Group::Epic::Show.perform do |show| EE::Page::Group::Epic::Show.perform do |show|
show.add_issue_to_epic(issue.web_url) show.add_issue_to_epic(issue.web_url)
...@@ -48,7 +48,7 @@ module QA ...@@ -48,7 +48,7 @@ module QA
end end
end end
it 'comments on epic', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1157' do it 'comments on epic', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1194' do
comment = 'My Epic Comment' comment = 'My Epic Comment'
EE::Page::Group::Epic::Show.perform do |show| EE::Page::Group::Epic::Show.perform do |show|
show.comment(comment) show.comment(comment)
...@@ -57,7 +57,7 @@ module QA ...@@ -57,7 +57,7 @@ module QA
end end
end end
it 'closes and reopens an epic', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1159' do it 'closes and reopens an epic', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1192' do
EE::Page::Group::Epic::Show.perform do |show| EE::Page::Group::Epic::Show.perform do |show|
show.close_reopen_epic show.close_reopen_epic
...@@ -70,7 +70,7 @@ module QA ...@@ -70,7 +70,7 @@ module QA
end end
end end
it 'adds/removes issue to/from epic using quick actions', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1156' do it 'adds/removes issue to/from epic using quick actions', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1195' do
issue.visit! issue.visit!
Page::Project::Issue::Show.perform do |show| Page::Project::Issue::Show.perform do |show|
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Plan', :reliable do RSpec.describe 'Plan', :reliable do
describe 'promote issue to epic' do describe 'promote issue to epic' do
it 'promotes issue to epic', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1143' do it 'promotes issue to epic', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1208' do
Flow::Login.sign_in Flow::Login.sign_in
project = Resource::Project.fabricate_via_api! do |project| project = Resource::Project.fabricate_via_api! do |project|
......
...@@ -19,7 +19,7 @@ module QA ...@@ -19,7 +19,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'presents epic on roadmap', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1170g' do it 'presents epic on roadmap', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1182' do
page.visit("#{epic.group.web_url}/-/roadmap") page.visit("#{epic.group.web_url}/-/roadmap")
EE::Page::Group::Roadmap.perform do |roadmap| EE::Page::Group::Roadmap.perform do |roadmap|
......
...@@ -15,7 +15,7 @@ module QA ...@@ -15,7 +15,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'uses default template when creating an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1231' do it 'uses default template when creating an issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1622' do
default_template_project.visit! default_template_project.visit!
Page::Project::Menu.perform(&:go_to_general_settings) Page::Project::Menu.perform(&:go_to_general_settings)
......
...@@ -13,7 +13,7 @@ module QA ...@@ -13,7 +13,7 @@ module QA
Page::Project::Menu.perform(&:go_to_boards) Page::Project::Menu.perform(&:go_to_boards)
end end
it 'renames the issue board', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1770' do it 'renames the issue board', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1484' do
new_board_name = 'UX' new_board_name = 'UX'
Page::Component::IssueBoard::Show.perform do |show| Page::Component::IssueBoard::Show.perform do |show|
......
...@@ -23,7 +23,7 @@ module QA ...@@ -23,7 +23,7 @@ module QA
Page::Project::Menu.perform(&:go_to_boards) Page::Project::Menu.perform(&:go_to_boards)
end end
it 'shows only issues that match the configured label', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1144' do it 'shows only issues that match the configured label', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1207' do
Page::Component::IssueBoard::Show.perform do |show| Page::Component::IssueBoard::Show.perform do |show|
show.configure_by_label(testing) show.configure_by_label(testing)
......
...@@ -15,7 +15,7 @@ module QA ...@@ -15,7 +15,7 @@ module QA
Page::Group::Menu.perform(&:go_to_issue_boards) Page::Group::Menu.perform(&:go_to_issue_boards)
end end
it 'creates a group issue board via the GUI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1674' do it 'creates a group issue board via the GUI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1506' do
Page::Component::IssueBoard::Show.perform do |show| Page::Component::IssueBoard::Show.perform do |show|
new_board = "Board-#{SecureRandom.hex(4)}" new_board = "Board-#{SecureRandom.hex(4)}"
......
...@@ -25,7 +25,7 @@ module QA ...@@ -25,7 +25,7 @@ module QA
Page::Group::Menu.perform(&:go_to_issue_boards) Page::Group::Menu.perform(&:go_to_issue_boards)
end end
it 'shows multiple group boards in the boards dropdown menu', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1675' do it 'shows multiple group boards in the boards dropdown menu', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1534' do
Page::Component::IssueBoard::Show.perform do |show| Page::Component::IssueBoard::Show.perform do |show|
show.click_boards_dropdown_button show.click_boards_dropdown_button
......
...@@ -26,7 +26,7 @@ module QA ...@@ -26,7 +26,7 @@ module QA
go_to_project_board(label_board_list.project) go_to_project_board(label_board_list.project)
end end
it 'shows the just created board with a "Testing" (label) list, and an issue on it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1168' do it 'shows the just created board with a "Testing" (label) list, and an issue on it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1184' do
Page::Component::IssueBoard::Show.perform do |show| Page::Component::IssueBoard::Show.perform do |show|
expect(show.boards_dropdown).to have_content(label_board_list.board.name) expect(show.boards_dropdown).to have_content(label_board_list.board.name)
expect(show.boards_list_header_with_index(1)).to have_content(label) expect(show.boards_list_header_with_index(1)).to have_content(label)
...@@ -50,7 +50,7 @@ module QA ...@@ -50,7 +50,7 @@ module QA
go_to_project_board(milestone_board_list.project) go_to_project_board(milestone_board_list.project)
end end
it 'shows the just created board with a "1.0" (milestone) list, and an issue on it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1769' do it 'shows the just created board with a "1.0" (milestone) list, and an issue on it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1485' do
Page::Component::IssueBoard::Show.perform do |show| Page::Component::IssueBoard::Show.perform do |show|
expect(show.boards_dropdown).to have_content(milestone_board_list.board.name) expect(show.boards_dropdown).to have_content(milestone_board_list.board.name)
expect(show.boards_list_header_with_index(1)).to have_content('1.0') expect(show.boards_list_header_with_index(1)).to have_content('1.0')
...@@ -83,7 +83,7 @@ module QA ...@@ -83,7 +83,7 @@ module QA
go_to_project_board(project) go_to_project_board(project)
end end
it 'shows the just created board with an assignee list, and an issue on it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1169' do it 'shows the just created board with an assignee list, and an issue on it', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1183' do
Page::Component::IssueBoard::Show.perform do |show| Page::Component::IssueBoard::Show.perform do |show|
expect(show.boards_dropdown).to have_content(@assignee_board_list.board.name) expect(show.boards_dropdown).to have_content(@assignee_board_list.board.name)
expect(show.boards_list_header_with_index(1)).to have_content(@user.name) expect(show.boards_list_header_with_index(1)).to have_content(@user.name)
......
...@@ -27,7 +27,7 @@ module QA ...@@ -27,7 +27,7 @@ module QA
Page::Project::Menu.perform(&:go_to_boards) Page::Project::Menu.perform(&:go_to_boards)
end end
it 'shows board configuration to user without edit permission', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1687' do it 'shows board configuration to user without edit permission', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1479' do
Page::Component::IssueBoard::Show.perform do |show| Page::Component::IssueBoard::Show.perform do |show|
show.click_boards_config_button show.click_boards_config_button
......
...@@ -30,7 +30,7 @@ module QA ...@@ -30,7 +30,7 @@ module QA
Page::Project::Menu.perform(&:go_to_boards) Page::Project::Menu.perform(&:go_to_boards)
end end
it 'shows the sum of issues weights in the board list\'s header', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1142' do it 'shows the sum of issues weights in the board list\'s header', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1209' do
Page::Component::IssueBoard::Show.perform do |show| Page::Component::IssueBoard::Show.perform do |show|
expect(show.boards_list_header_with_index(1)).to have_content(weight_for_issue_1 + weight_for_issue_2) expect(show.boards_list_header_with_index(1)).to have_content(weight_for_issue_1 + weight_for_issue_2)
end end
......
...@@ -20,13 +20,13 @@ module QA ...@@ -20,13 +20,13 @@ module QA
end end
end end
describe 'Group level issues analytics', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1147' do describe 'Group level issues analytics', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1204' do
it_behaves_like 'issues analytics page' do it_behaves_like 'issues analytics page' do
let(:analytics_path) { "#{issue.project.group.web_url}/-/issues_analytics" } let(:analytics_path) { "#{issue.project.group.web_url}/-/issues_analytics" }
end end
end end
describe 'Project level issues analytics', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1146' do describe 'Project level issues analytics', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1205' do
it_behaves_like 'issues analytics page' do it_behaves_like 'issues analytics page' do
let(:analytics_path) { "#{issue.project.web_url}/-/analytics/issues_analytics" } let(:analytics_path) { "#{issue.project.web_url}/-/analytics/issues_analytics" }
end end
......
...@@ -22,7 +22,7 @@ module QA ...@@ -22,7 +22,7 @@ module QA
end end
end end
it 'shows the set weight in the issue page, in the milestone page, and in the issues list page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1164' do it 'shows the set weight in the issue page, in the milestone page, and in the issues list page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1188' do
issue.visit! issue.visit!
Page::Project::Issue::Show.perform do |show| Page::Project::Issue::Show.perform do |show|
......
...@@ -23,7 +23,7 @@ module QA ...@@ -23,7 +23,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'assigns a group iteration to an existing issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1173' do it 'assigns a group iteration to an existing issue', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1624' do
issue.visit! issue.visit!
Page::Project::Issue::Show.perform do |issue| Page::Project::Issue::Show.perform do |issue|
......
...@@ -14,7 +14,7 @@ module QA ...@@ -14,7 +14,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'creates a group iteration', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1174', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/334252', type: :stale } do it 'creates a group iteration', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1623', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/334252', type: :stale } do
EE::Resource::GroupIteration.fabricate_via_browser_ui! do |iteration| EE::Resource::GroupIteration.fabricate_via_browser_ui! do |iteration|
iteration.title = title iteration.title = title
iteration.description = description iteration.description = description
......
...@@ -36,7 +36,7 @@ module QA ...@@ -36,7 +36,7 @@ module QA
project.visit! project.visit!
end end
it 'shows four assignees in the issues list', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1718' do it 'shows four assignees in the issues list', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1472' do
Page::Project::Menu.perform(&:click_issues) Page::Project::Menu.perform(&:click_issues)
Page::Project::Issue::Index.perform do |index| Page::Project::Issue::Index.perform do |index|
......
...@@ -42,7 +42,7 @@ module QA ...@@ -42,7 +42,7 @@ module QA
end end
end end
it 'shows the first three assignees and a +n sign in the issues list', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1149' do it 'shows the first three assignees and a +n sign in the issues list', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1202' do
project.visit! project.visit!
Page::Project::Menu.perform(&:click_issues) Page::Project::Menu.perform(&:click_issues)
...@@ -54,7 +54,7 @@ module QA ...@@ -54,7 +54,7 @@ module QA
end end
end end
it 'shows the first five assignees and a +n more link in the issue page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1150' do it 'shows the first five assignees and a +n more link in the issue page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1201' do
@issue.visit! @issue.visit!
Page::Project::Issue::Show.perform do |show| Page::Project::Issue::Show.perform do |show|
......
...@@ -35,7 +35,7 @@ module QA ...@@ -35,7 +35,7 @@ module QA
it( it(
'correctly applies simple and multiple colon scoped pairs labels', 'correctly applies simple and multiple colon scoped pairs labels',
testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1171' testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1181'
) do ) do
Page::Project::Issue::Show.perform do |show| Page::Project::Issue::Show.perform do |show|
show.select_labels_and_refresh( show.select_labels_and_refresh(
......
...@@ -41,7 +41,7 @@ module QA ...@@ -41,7 +41,7 @@ module QA
Page::Group::Menu.perform(&:click_contribution_analytics_item) Page::Group::Menu.perform(&:click_contribution_analytics_item)
end end
it 'tests contributions', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1864' do it 'tests contributions', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1539' do
EE::Page::Group::ContributionAnalytics.perform do |contribution_analytics| EE::Page::Group::ContributionAnalytics.perform do |contribution_analytics|
expect(contribution_analytics).to have_push_element('3 pushes, more than 4 commits by 1 person contributors.') expect(contribution_analytics).to have_push_element('3 pushes, more than 4 commits by 1 person contributors.')
expect(contribution_analytics).to have_mr_element('1 created, 1 merged, 0 closed.') expect(contribution_analytics).to have_mr_element('1 created, 1 merged, 0 closed.')
......
...@@ -17,7 +17,7 @@ module QA ...@@ -17,7 +17,7 @@ module QA
end end
end end
it 'user submits a non-diff review', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/637' do it 'user submits a non-diff review', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1478' do
Flow::Login.sign_in Flow::Login.sign_in
merge_request.visit! merge_request.visit!
...@@ -38,7 +38,7 @@ module QA ...@@ -38,7 +38,7 @@ module QA
end end
end end
it 'user submits a diff review', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1776' do it 'user submits a diff review', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1477' do
Flow::Login.sign_in Flow::Login.sign_in
merge_request.visit! merge_request.visit!
......
...@@ -26,7 +26,7 @@ module QA ...@@ -26,7 +26,7 @@ module QA
login login
end end
it 'allows multiple approval rules with users and groups', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1673' do it 'allows multiple approval rules with users and groups', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1505' do
# Create a merge request with 2 rules # Create a merge request with 2 rules
merge_request = Resource::MergeRequest.fabricate_via_browser_ui! do |resource| merge_request = Resource::MergeRequest.fabricate_via_browser_ui! do |resource|
resource.title = 'Add a new feature' resource.title = 'Add a new feature'
......
...@@ -15,7 +15,7 @@ module QA ...@@ -15,7 +15,7 @@ module QA
Flow::Login.sign_in Flow::Login.sign_in
end end
it 'uses default template when creating a merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1232' do it 'uses default template when creating a merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1713' do
default_template_project.visit! default_template_project.visit!
Page::Project::Menu.perform(&:go_to_general_settings) Page::Project::Menu.perform(&:go_to_general_settings)
......
...@@ -27,7 +27,7 @@ module QA ...@@ -27,7 +27,7 @@ module QA
project.visit! project.visit!
end end
it 'merge request assigns code owners as approvers', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/605' do it 'merge request assigns code owners as approvers', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1486' do
# Commit CODEOWNERS to default branch # Commit CODEOWNERS to default branch
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.project = project commit.project = project
......
...@@ -36,7 +36,7 @@ module QA ...@@ -36,7 +36,7 @@ module QA
end end
end end
it 'displays owners specified in CODEOWNERS file', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/519' do it 'displays owners specified in CODEOWNERS file', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1541' do
codeowners_file_content = codeowners_file_content =
<<-CONTENT <<-CONTENT
* @#{@user2.username} * @#{@user2.username}
......
...@@ -45,7 +45,7 @@ module QA ...@@ -45,7 +45,7 @@ module QA
Runtime::Feature.disable(:gitaly_go_user_merge_branch) Runtime::Feature.disable(:gitaly_go_user_merge_branch)
end end
it 'creates a merge request with codeowners file and squashing commits enabled', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1090' do it 'creates a merge request with codeowners file and squashing commits enabled', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1876' do
# The default branch is already protected, and we can't update a protected branch via the API (yet) # The default branch is already protected, and we can't update a protected branch via the API (yet)
# so we unprotect it first and then protect it again with the desired parameters # so we unprotect it first and then protect it again with the desired parameters
Resource::ProtectedBranch.unprotect_via_api! do |branch| Resource::ProtectedBranch.unprotect_via_api! do |branch|
......
...@@ -32,7 +32,7 @@ module QA ...@@ -32,7 +32,7 @@ module QA
end end
end end
it 'locks a directory and tries to push as a second user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/557' do it 'locks a directory and tries to push as a second user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1522' do
push branch: project.default_branch, file: 'directory/file', as_user: user_one push branch: project.default_branch, file: 'directory/file', as_user: user_one
sign_out_and_sign_in_as user: user_one sign_out_and_sign_in_as user: user_one
...@@ -43,7 +43,7 @@ module QA ...@@ -43,7 +43,7 @@ module QA
expect_no_error_on_push for_file: 'directory/file', as_user: user_one expect_no_error_on_push for_file: 'directory/file', as_user: user_one
end end
it 'locks a file and tries to push as a second user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/558' do it 'locks a file and tries to push as a second user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1521' do
sign_out_and_sign_in_as user: user_one sign_out_and_sign_in_as user: user_one
go_to_file go_to_file
click_lock click_lock
...@@ -52,7 +52,7 @@ module QA ...@@ -52,7 +52,7 @@ module QA
expect_no_error_on_push as_user: user_one expect_no_error_on_push as_user: user_one
end end
it 'checks file locked by other user to be disabled', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/556' do it 'checks file locked by other user to be disabled', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1523' do
go_to_file go_to_file
click_lock click_lock
sign_out_and_sign_in_as user: user_one sign_out_and_sign_in_as user: user_one
...@@ -63,7 +63,7 @@ module QA ...@@ -63,7 +63,7 @@ module QA
end end
end end
it 'creates a merge request and fails to merge', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1852' do it 'creates a merge request and fails to merge', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1520' do
push branch: 'test', as_user: user_one push branch: 'test', as_user: user_one
merge_request = Resource::MergeRequest.fabricate_via_api! do |merge_request| merge_request = Resource::MergeRequest.fabricate_via_api! do |merge_request|
...@@ -81,7 +81,7 @@ module QA ...@@ -81,7 +81,7 @@ module QA
expect(page).to have_text("locked by #{admin_username}") expect(page).to have_text("locked by #{admin_username}")
end end
it 'locks a file and unlocks in list', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/555' do it 'locks a file and unlocks in list', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1524' do
sign_out_and_sign_in_as user: user_one sign_out_and_sign_in_as user: user_one
go_to_file go_to_file
click_lock click_lock
......
...@@ -36,14 +36,14 @@ module QA ...@@ -36,14 +36,14 @@ module QA
project.remove_via_api! project.remove_via_api!
end end
context 'and the code owner is the root group' do context 'and the code owner is the root group', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1352' do
let(:codeowner) { root_group.path } let(:codeowner) { root_group.path }
let(:group_or_project) { root_group } let(:group_or_project) { root_group }
it_behaves_like 'code owner merge request' it_behaves_like 'code owner merge request'
end end
context 'and the code owner is a user' do context 'and the code owner is a user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1351' do
let(:codeowner) { approver.username } let(:codeowner) { approver.username }
let(:group_or_project) { project } let(:group_or_project) { project }
......
...@@ -32,21 +32,21 @@ module QA ...@@ -32,21 +32,21 @@ module QA
approver.remove_via_api! approver.remove_via_api!
end end
context 'and the code owner is the root group' do context 'and the code owner is the root group', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1355' do
let(:codeowner) { project.group.sandbox.path } let(:codeowner) { project.group.sandbox.path }
let(:group_or_project) { project.group.sandbox } let(:group_or_project) { project.group.sandbox }
it_behaves_like 'code owner merge request' it_behaves_like 'code owner merge request'
end end
context 'and the code owner is the subgroup' do context 'and the code owner is the subgroup', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1354' do
let(:codeowner) { project.group.full_path } let(:codeowner) { project.group.full_path }
let(:group_or_project) { project.group } let(:group_or_project) { project.group }
it_behaves_like 'code owner merge request' it_behaves_like 'code owner merge request'
end end
context 'and the code owner is a user' do context 'and the code owner is a user', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1356' do
let(:codeowner) { approver.username } let(:codeowner) { approver.username }
let(:group_or_project) { project } let(:group_or_project) { project }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Create' do RSpec.describe 'Create' do
describe 'Pull mirror a repository over HTTP' do describe 'Pull mirror a repository over HTTP' do
it 'configures and syncs a (pull) mirrored repository with password auth', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/520' do it 'configures and syncs a (pull) mirrored repository with password auth', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1540' do
Flow::Login.sign_in Flow::Login.sign_in
source = Resource::Repository::ProjectPush.fabricate! do |project_push| source = Resource::Repository::ProjectPush.fabricate! do |project_push|
......
...@@ -25,7 +25,7 @@ module QA ...@@ -25,7 +25,7 @@ module QA
target_project.visit! target_project.visit!
end end
it 'configures and syncs a (pull) mirrored repository', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/401' do it 'configures and syncs a (pull) mirrored repository', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1595' do
# Configure the target project to pull from the source project # Configure the target project to pull from the source project
# And get the public key to be used as a deploy key # And get the public key to be used as a deploy key
Page::Project::Menu.perform(&:go_to_repository_settings) Page::Project::Menu.perform(&:go_to_repository_settings)
......
...@@ -32,11 +32,11 @@ module QA ...@@ -32,11 +32,11 @@ module QA
end end
end end
it 'allows an unrestricted push', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/760' do it 'allows an unrestricted push', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1376' do
expect_no_error_on_push(file: standard_file) expect_no_error_on_push(file: standard_file)
end end
it 'restricts files by name and size', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/653' do it 'restricts files by name and size', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1463' do
# Note: The file size limits in this test should be lower than the limits in # Note: The file size limits in this test should be lower than the limits in
# browser_ui/3_create/repository/push_over_http_file_size_spec to prevent # browser_ui/3_create/repository/push_over_http_file_size_spec to prevent
# the limit set in that test from triggering in this test (which can happen # the limit set in that test from triggering in this test (which can happen
...@@ -58,7 +58,7 @@ module QA ...@@ -58,7 +58,7 @@ module QA
error: Regexp.escape(%Q{File name #{@file_name_limitation} was prohibited by the pattern "#{@file_name_limitation}"})) error: Regexp.escape(%Q{File name #{@file_name_limitation} was prohibited by the pattern "#{@file_name_limitation}"}))
end end
it 'restricts users by email format', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/652' do it 'restricts users by email format', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1464' do
gitlab_user = Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_2, Runtime::Env.gitlab_qa_password_2) gitlab_user = Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_2, Runtime::Env.gitlab_qa_password_2)
@project.add_member(gitlab_user, Resource::Members::AccessLevel::MAINTAINER) @project.add_member(gitlab_user, Resource::Members::AccessLevel::MAINTAINER)
...@@ -66,12 +66,12 @@ module QA ...@@ -66,12 +66,12 @@ module QA
error: Regexp.escape("Committer's email '#{gitlab_user.email}' does not follow the pattern '#{@authors_email_limitation}'")) error: Regexp.escape("Committer's email '#{gitlab_user.email}' does not follow the pattern '#{@authors_email_limitation}'"))
end end
it 'restricts branches by branch name', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/649' do it 'restricts branches by branch name', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1466' do
expect_error_on_push(file: standard_file, branch: 'forbidden_branch', expect_error_on_push(file: standard_file, branch: 'forbidden_branch',
error: Regexp.escape("Branch name does not follow the pattern '#{@branch_name_limitation}'")) error: Regexp.escape("Branch name does not follow the pattern '#{@branch_name_limitation}'"))
end end
it 'restricts commit by message format', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/648' do it 'restricts commit by message format', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1467' do
expect_no_error_on_push(file: standard_file, commit_message: @needed_phrase_limitation) expect_no_error_on_push(file: standard_file, commit_message: @needed_phrase_limitation)
expect_error_on_push(file: standard_file, commit_message: 'forbidden message', expect_error_on_push(file: standard_file, commit_message: 'forbidden message',
error: Regexp.escape("Commit message does not follow the pattern '#{@needed_phrase_limitation}'")) error: Regexp.escape("Commit message does not follow the pattern '#{@needed_phrase_limitation}'"))
...@@ -79,7 +79,7 @@ module QA ...@@ -79,7 +79,7 @@ module QA
error: Regexp.escape("Commit message contains the forbidden pattern '#{@deny_message_phrase_limitation}'")) error: Regexp.escape("Commit message contains the forbidden pattern '#{@deny_message_phrase_limitation}'"))
end end
it 'restricts committing files with secrets', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/647' do it 'restricts committing files with secrets', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1468' do
secret_file = [{ secret_file = [{
name: 'id_rsa', name: 'id_rsa',
content: SecureRandom.hex(100) content: SecureRandom.hex(100)
...@@ -89,7 +89,7 @@ module QA ...@@ -89,7 +89,7 @@ module QA
error: Regexp.escape('File name id_rsa was prohibited by the pattern "id_rsa$"')) error: Regexp.escape('File name id_rsa was prohibited by the pattern "id_rsa$"'))
end end
it 'restricts removal of tag', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/650' do it 'restricts removal of tag', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1465' do
tag = Resource::Tag.fabricate_via_api! do |tag| tag = Resource::Tag.fabricate_via_api! do |tag|
tag.project = @project tag.project = @project
tag.ref = @project.default_branch tag.ref = @project.default_branch
...@@ -113,7 +113,7 @@ module QA ...@@ -113,7 +113,7 @@ module QA
end end
end end
it 'rejects non-member users', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1778', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/224465', type: :investigating } do it 'rejects non-member users', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1331', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/224465', type: :investigating } do
non_member_user = Resource::User.init do |user| non_member_user = Resource::User.init do |user|
user.username = '' user.username = ''
user.password = '' user.password = ''
...@@ -138,7 +138,7 @@ module QA ...@@ -138,7 +138,7 @@ module QA
end end
end end
it 'rejects unverified emails', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/761' do it 'rejects unverified emails', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1375' do
expect_no_error_on_push(file: standard_file) expect_no_error_on_push(file: standard_file)
expect_error_on_push(file: standard_file, user: @root, expect_error_on_push(file: standard_file, user: @root,
error: 'You can only push commits that were committed with one of your own verified emails') error: 'You can only push commits that were committed with one of your own verified emails')
...@@ -159,7 +159,7 @@ module QA ...@@ -159,7 +159,7 @@ module QA
@gpg = Resource::UserGPG.fabricate_via_api! @gpg = Resource::UserGPG.fabricate_via_api!
end end
it 'restricts to signed commits', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/655' do it 'restricts to signed commits', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1461' do
expect_no_error_on_push(file: standard_file, gpg: @gpg) expect_no_error_on_push(file: standard_file, gpg: @gpg)
expect_error_on_push(file: standard_file, error: 'Commit must be signed with a GPG key') expect_error_on_push(file: standard_file, error: 'Commit must be signed with a GPG key')
end end
......
...@@ -57,7 +57,7 @@ module QA ...@@ -57,7 +57,7 @@ module QA
@runner.remove_via_api! if @runner @runner.remove_via_api! if @runner
end end
it 'user starts the web terminal', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1860' do it 'user starts the web terminal', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1593' do
Page::Project::Show.perform(&:open_web_ide!) Page::Project::Show.perform(&:open_web_ide!)
# Start the web terminal and check that there were no errors # Start the web terminal and check that there were no errors
......
...@@ -14,7 +14,7 @@ module QA ...@@ -14,7 +14,7 @@ module QA
context 'when Wiki is empty' do context 'when Wiki is empty' do
let(:group) { Resource::Group.fabricate_via_api! } let(:group) { Resource::Group.fabricate_via_api! }
it 'creates a home page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1708' do it 'creates a home page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1831' do
group.visit! group.visit!
Page::Group::Menu.perform(&:click_group_wiki_link) Page::Group::Menu.perform(&:click_group_wiki_link)
...@@ -40,7 +40,7 @@ module QA ...@@ -40,7 +40,7 @@ module QA
end end
end end
it 'adds a second page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1728' do it 'adds a second page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1827' do
wiki.visit! wiki.visit!
EE::Page::Group::Wiki::Show.perform(&:click_new_page) EE::Page::Group::Wiki::Show.perform(&:click_new_page)
......
...@@ -88,7 +88,7 @@ module QA ...@@ -88,7 +88,7 @@ module QA
end end
context 'when system cancels the merge request', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/324122', type: :bug } do context 'when system cancels the merge request', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/324122', type: :bug } do
it 'creates a TODO task', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1741' do it 'creates a TODO task', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1883' do
# Create a merge conflict # Create a merge conflict
Resource::Repository::Commit.fabricate_via_api! do |commit| Resource::Repository::Commit.fabricate_via_api! do |commit|
commit.api_client = @user_api_client commit.api_client = @user_api_client
...@@ -121,7 +121,7 @@ module QA ...@@ -121,7 +121,7 @@ module QA
end end
context 'when user cancels the merge request' do context 'when user cancels the merge request' do
it 'does not create a TODO task', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1044' do it 'does not create a TODO task', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1884' do
# Manually removes merge request from the train # Manually removes merge request from the train
Page::MergeRequest::Show.perform do |show| Page::MergeRequest::Show.perform do |show|
show.cancel_auto_merge! show.cancel_auto_merge!
......
...@@ -50,7 +50,7 @@ module QA ...@@ -50,7 +50,7 @@ module QA
runner.remove_via_api! runner.remove_via_api!
end end
it 'does not drop MR', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1010' do it 'does not drop MR', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1250' do
start_discussion start_discussion
Page::MergeRequest::Show.perform do |show| Page::MergeRequest::Show.perform do |show|
......
...@@ -60,7 +60,7 @@ module QA ...@@ -60,7 +60,7 @@ module QA
it( it(
'user commits to GitHub triggers CI pipeline', 'user commits to GitHub triggers CI pipeline',
testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/144' testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1841'
) do ) do
Page::Project::Menu.perform(&:click_ci_cd_pipelines) Page::Project::Menu.perform(&:click_ci_cd_pipelines)
Page::Project::Pipeline::Index.perform do |index| Page::Project::Pipeline::Index.perform do |index|
......
...@@ -54,7 +54,7 @@ module QA ...@@ -54,7 +54,7 @@ module QA
remove_projects remove_projects
end end
it 'has many pipelines with appropriate statuses', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/900' do it 'has many pipelines with appropriate statuses', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1319' do
add_projects_to_board add_projects_to_board
EE::Page::OperationsDashboard.perform do |operation| EE::Page::OperationsDashboard.perform do |operation|
......
...@@ -49,7 +49,7 @@ module QA ...@@ -49,7 +49,7 @@ module QA
end end
context 'when upstream project new tag pipeline finishes' do context 'when upstream project new tag pipeline finishes' do
it 'triggers pipeline in downstream project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1729' do it 'triggers pipeline in downstream project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1826' do
# Downstream project should have one pipeline at this time # Downstream project should have one pipeline at this time
unless downstream_project.pipelines.size == 1 unless downstream_project.pipelines.size == 1
raise "[ERROR] Downstream project should have 1 pipeline - pipelines count #{downstream_project.pipelines.size}" raise "[ERROR] Downstream project should have 1 pipeline - pipelines count #{downstream_project.pipelines.size}"
......
...@@ -60,7 +60,7 @@ module QA ...@@ -60,7 +60,7 @@ module QA
runner.remove_via_api! if runner runner.remove_via_api! if runner
end end
it 'creates a pipeline with merged results', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/562' do it 'creates a pipeline with merged results', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1517' do
merge_request.visit! merge_request.visit!
Page::MergeRequest::Show.perform do |show| Page::MergeRequest::Show.perform do |show|
...@@ -74,7 +74,7 @@ module QA ...@@ -74,7 +74,7 @@ module QA
end end
end end
it 'merges via a merge train', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/561' do it 'merges via a merge train', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1518' do
merge_request.visit! merge_request.visit!
Page::MergeRequest::Show.perform do |show| Page::MergeRequest::Show.perform do |show|
......
...@@ -54,7 +54,7 @@ module QA ...@@ -54,7 +54,7 @@ module QA
group.remove_via_api! group.remove_via_api!
end end
it 'confirms that a merge train consistently completes and updates the UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1608' do it 'confirms that a merge train consistently completes and updates the UI', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1611' do
Runtime::Env.transient_trials.times do |i| Runtime::Env.transient_trials.times do |i|
QA::Runtime::Logger.info("Transient bug test action - Trial #{i}") QA::Runtime::Logger.info("Transient bug test action - Trial #{i}")
......
...@@ -43,7 +43,7 @@ module QA ...@@ -43,7 +43,7 @@ module QA
[upstream_project, downstream_project].each(&:remove_via_api!) [upstream_project, downstream_project].each(&:remove_via_api!)
end end
it 'creates a multi-project pipeline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/560' do it 'creates a multi-project pipeline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1519' do
Page::Project::Pipeline::Show.perform do |show| Page::Project::Pipeline::Show.perform do |show|
expect(show).to have_passed expect(show).to have_passed
expect(show).not_to have_job(downstream_job_name) expect(show).not_to have_job(downstream_job_name)
......
...@@ -11,7 +11,7 @@ module QA ...@@ -11,7 +11,7 @@ module QA
@project.visit! @project.visit!
end end
it 'allows configuration of alerts', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/869' do it 'allows configuration of alerts', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1337' do
Page::Project::Menu.perform(&:go_to_monitor_metrics) Page::Project::Menu.perform(&:go_to_monitor_metrics)
Page::Project::Monitor::Metrics::Show.perform do |on_dashboard| Page::Project::Monitor::Metrics::Show.perform do |on_dashboard|
...@@ -23,7 +23,7 @@ module QA ...@@ -23,7 +23,7 @@ module QA
end end
end end
it 'creates an incident template and opens an incident with template applied', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/981' do it 'creates an incident template and opens an incident with template applied', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1262' do
create_incident_template create_incident_template
Page::Project::Menu.perform(&:go_to_monitor_settings) Page::Project::Menu.perform(&:go_to_monitor_settings)
......
...@@ -31,7 +31,7 @@ module QA ...@@ -31,7 +31,7 @@ module QA
end.project.visit! end.project.visit!
end end
it 'tests reindexing after push', retry: 3, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/679' do it 'tests reindexing after push', retry: 3, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1445' do
expect { Runtime::Search.find_code(project_file_name, project_file_content) }.not_to raise_error expect { Runtime::Search.find_code(project_file_name, project_file_content) }.not_to raise_error
QA::Page::Main::Menu.perform do |menu| QA::Page::Main::Menu.perform do |menu|
...@@ -45,7 +45,7 @@ module QA ...@@ -45,7 +45,7 @@ module QA
end end
end end
it 'tests reindexing after webIDE', retry: 3, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/680' do it 'tests reindexing after webIDE', retry: 3, testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1444' do
template = { template = {
file_name: 'LICENSE', file_name: 'LICENSE',
name: 'Mozilla Public License 2.0', name: 'Mozilla Public License 2.0',
......
...@@ -40,7 +40,7 @@ module QA ...@@ -40,7 +40,7 @@ module QA
Page::Trials::New.perform(&:visit) Page::Trials::New.perform(&:visit)
end end
it 'registers for a new trial', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1851' do it 'registers for a new trial', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1877' do
Page::Trials::New.perform do |new| Page::Trials::New.perform do |new|
# setter # setter
new.company_name = company_name new.company_name = company_name
......
...@@ -38,7 +38,7 @@ module QA ...@@ -38,7 +38,7 @@ module QA
Runtime::Feature.disable(:top_level_group_creation_enabled) Runtime::Feature.disable(:top_level_group_creation_enabled)
end end
it 'upgrades from free to ultimate', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1863' do it 'upgrades from free to ultimate', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1882' do
Page::Group::Menu.perform(&:go_to_billing) Page::Group::Menu.perform(&:go_to_billing)
Gitlab::Page::Group::Settings::Billing.perform(&:upgrade_to_ultimate) Gitlab::Page::Group::Settings::Billing.perform(&:upgrade_to_ultimate)
......
...@@ -5,7 +5,7 @@ module QA ...@@ -5,7 +5,7 @@ module QA
describe 'GitLab Geo attachment replication' do describe 'GitLab Geo attachment replication' do
let(:file_to_attach) { File.absolute_path(File.join('qa', 'fixtures', 'designs', 'banana_sample.gif')) } let(:file_to_attach) { File.absolute_path(File.join('qa', 'fixtures', 'designs', 'banana_sample.gif')) }
it 'user uploads attachment to the primary node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/692' do it 'user uploads attachment to the primary node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1432' do
QA::Flow::Login.while_signed_in(address: :geo_primary) do QA::Flow::Login.while_signed_in(address: :geo_primary) do
@project = Resource::Project.fabricate_via_api! do |project| @project = Resource::Project.fabricate_via_api! do |project|
project.name = 'project-for-issues' project.name = 'project-for-issues'
......
...@@ -25,7 +25,7 @@ module QA ...@@ -25,7 +25,7 @@ module QA
deleted_project_id = project_to_delete.id deleted_project_id = project_to_delete.id
end end
it 'replicates deletion of a project to secondary node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/696' do it 'replicates deletion of a project to secondary node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1428' do
QA::Runtime::Logger.debug('Visiting the secondary geo node') QA::Runtime::Logger.debug('Visiting the secondary geo node')
QA::Flow::Login.while_signed_in(address: :geo_secondary) do QA::Flow::Login.while_signed_in(address: :geo_secondary) do
......
...@@ -50,7 +50,7 @@ module QA ...@@ -50,7 +50,7 @@ module QA
end end
# Test code is based on qa/specs/features/browser_ui/4_verify/locked_artifacts_spec.rb # Test code is based on qa/specs/features/browser_ui/4_verify/locked_artifacts_spec.rb
it 'replicates the job log to the secondary Geo site', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/908' do it 'replicates the job log to the secondary Geo site', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1653' do
Runtime::Logger.debug('Visiting the secondary Geo site') Runtime::Logger.debug('Visiting the secondary Geo site')
Flow::Login.while_signed_in(address: :geo_secondary) do Flow::Login.while_signed_in(address: :geo_secondary) do
...@@ -79,7 +79,7 @@ module QA ...@@ -79,7 +79,7 @@ module QA
end end
end end
it 'replicates the job artifact to the secondary Geo site', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/186' do it 'replicates the job artifact to the secondary Geo site', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1658' do
Runtime::Logger.debug('Visiting the secondary Geo site') Runtime::Logger.debug('Visiting the secondary Geo site')
Flow::Login.while_signed_in(address: :geo_secondary) do Flow::Login.while_signed_in(address: :geo_secondary) do
......
...@@ -25,7 +25,7 @@ module QA ...@@ -25,7 +25,7 @@ module QA
let(:uri) { URI.parse(Runtime::Scenario.gitlab_address) } let(:uri) { URI.parse(Runtime::Scenario.gitlab_address) }
let(:gitlab_address_with_port) { "#{uri.scheme}://#{uri.host}:#{uri.port}" } let(:gitlab_address_with_port) { "#{uri.scheme}://#{uri.host}:#{uri.port}" }
it 'replicates to the secondary site', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1025' do it 'replicates to the secondary site', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1647' do
pom_xml = { pom_xml = {
file_path: 'pom.xml', file_path: 'pom.xml',
content: <<~XML content: <<~XML
......
...@@ -53,7 +53,7 @@ module QA ...@@ -53,7 +53,7 @@ module QA
end end
# Test code is based on qa/specs/features/browser_ui/5_package/npm_registry_spec.rb # Test code is based on qa/specs/features/browser_ui/5_package/npm_registry_spec.rb
it 'replicates npm registry to secondary Geo site', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1026' do it 'replicates npm registry to secondary Geo site', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1245' do
# Use a Node Docker container to publish the package # Use a Node Docker container to publish the package
with_fixtures([npmrc, package_json]) do |dir| with_fixtures([npmrc, package_json]) do |dir|
Service::DockerRun::NodeJs.new(dir).publish! Service::DockerRun::NodeJs.new(dir).publish!
......
...@@ -8,7 +8,7 @@ module QA ...@@ -8,7 +8,7 @@ module QA
let(:file_name) { 'geo_snippet_file.md' } let(:file_name) { 'geo_snippet_file.md' }
let(:file_content) { "### Geo snippet heading\n\n[GitLab link](https://gitlab.com/)" } let(:file_content) { "### Geo snippet heading\n\n[GitLab link](https://gitlab.com/)" }
it 'replicates to the Geo secondary site', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/911' do it 'replicates to the Geo secondary site', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1314' do
snippet = nil snippet = nil
QA::Flow::Login.while_signed_in(address: :geo_primary) do QA::Flow::Login.while_signed_in(address: :geo_primary) do
......
...@@ -6,7 +6,7 @@ module QA ...@@ -6,7 +6,7 @@ module QA
let(:file_name) { 'README.md' } let(:file_name) { 'README.md' }
context 'regular git commit' do context 'regular git commit' do
it 'is replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/690' do it 'is replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1434' do
file_content = 'This is a Geo project! Commit from primary.' file_content = 'This is a Geo project! Commit from primary.'
project = nil project = nil
...@@ -60,7 +60,7 @@ module QA ...@@ -60,7 +60,7 @@ module QA
end end
context 'git-lfs commit' do context 'git-lfs commit' do
it 'is replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/689' do it 'is replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1435' do
file_content = 'This is a Geo project!' file_content = 'This is a Geo project!'
lfs_file_display_message = 'The rendered file could not be displayed because it is stored in LFS.' lfs_file_display_message = 'The rendered file could not be displayed because it is stored in LFS.'
project = nil project = nil
......
...@@ -9,7 +9,7 @@ module QA ...@@ -9,7 +9,7 @@ module QA
let(:file_content_secondary) { 'This is a Geo project! Commit from secondary.' } let(:file_content_secondary) { 'This is a Geo project! Commit from secondary.' }
context 'regular git commit' do context 'regular git commit' do
it 'is redirected to the primary and ultimately replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/700' do it 'is redirected to the primary and ultimately replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1424' do
file_name = 'README.md' file_name = 'README.md'
project = nil project = nil
...@@ -89,7 +89,7 @@ module QA ...@@ -89,7 +89,7 @@ module QA
end end
context 'git-lfs commit' do context 'git-lfs commit' do
it 'is redirected to the primary and ultimately replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/699' do it 'is redirected to the primary and ultimately replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1425' do
file_name_primary = 'README.md' file_name_primary = 'README.md'
file_name_secondary = 'README_MORE.md' file_name_secondary = 'README_MORE.md'
project = nil project = nil
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
module QA module QA
RSpec.describe 'Geo', :orchestrated, :geo do RSpec.describe 'Geo', :orchestrated, :geo do
describe 'GitLab Geo project rename replication' do describe 'GitLab Geo project rename replication' do
it 'user renames project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/695' do it 'user renames project', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1429' do
original_project_name = 'geo-before-rename' original_project_name = 'geo-before-rename'
original_readme_content = "The original project name was #{original_project_name}" original_readme_content = "The original project name was #{original_project_name}"
readme_file_name = 'README.md' readme_file_name = 'README.md'
......
...@@ -12,7 +12,7 @@ module QA ...@@ -12,7 +12,7 @@ module QA
end end
context 'regular git commit' do context 'regular git commit' do
it "is replicated to the secondary", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/686' do it "is replicated to the secondary", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1438' do
key_title = "Geo SSH #{Time.now.to_f}" key_title = "Geo SSH #{Time.now.to_f}"
file_content = 'This is a Geo project! Commit from primary.' file_content = 'This is a Geo project! Commit from primary.'
project = nil project = nil
...@@ -74,7 +74,7 @@ module QA ...@@ -74,7 +74,7 @@ module QA
end end
context 'git-lfs commit' do context 'git-lfs commit' do
it "is replicated to the secondary", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/687' do it "is replicated to the secondary", testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1437' do
key_title = "Geo SSH LFS #{Time.now.to_f}" key_title = "Geo SSH LFS #{Time.now.to_f}"
file_content = 'The rendered file could not be displayed because it is stored in LFS.' file_content = 'The rendered file could not be displayed because it is stored in LFS.'
project = nil project = nil
......
...@@ -13,7 +13,7 @@ module QA ...@@ -13,7 +13,7 @@ module QA
end end
context 'regular git commit' do context 'regular git commit' do
it 'is proxied to the primary and ultimately replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/698' do it 'is proxied to the primary and ultimately replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1426' do
file_name = 'README.md' file_name = 'README.md'
key_title = "Geo SSH to 2nd #{Time.now.to_f}" key_title = "Geo SSH to 2nd #{Time.now.to_f}"
project = nil project = nil
...@@ -95,7 +95,7 @@ module QA ...@@ -95,7 +95,7 @@ module QA
end end
context 'git-lfs commit' do context 'git-lfs commit' do
it 'is proxied to the primary and ultimately replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/697' do it 'is proxied to the primary and ultimately replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1427' do
key_title = "Geo SSH LFS to 2nd #{Time.now.to_f}" key_title = "Geo SSH LFS to 2nd #{Time.now.to_f}"
file_name_primary = 'README.md' file_name_primary = 'README.md'
file_name_secondary = 'README_MORE.md' file_name_secondary = 'README_MORE.md'
......
...@@ -4,7 +4,7 @@ module QA ...@@ -4,7 +4,7 @@ module QA
RSpec.describe 'Geo', :orchestrated, :geo do RSpec.describe 'Geo', :orchestrated, :geo do
describe 'GitLab wiki HTTP push' do describe 'GitLab wiki HTTP push' do
context 'wiki commit' do context 'wiki commit' do
it 'is replicated to the secondary node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/691' do it 'is replicated to the secondary node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1433' do
wiki_content = 'This tests replication of wikis via HTTP' wiki_content = 'This tests replication of wikis via HTTP'
push_content = 'This is from the Geo wiki push!' push_content = 'This is from the Geo wiki push!'
project = nil project = nil
......
...@@ -40,7 +40,7 @@ module QA ...@@ -40,7 +40,7 @@ module QA
end end
end end
it 'is redirected to the primary and ultimately replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/693' do it 'is redirected to the primary and ultimately replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1431' do
QA::Runtime::Logger.debug('Visiting the secondary geo node') QA::Runtime::Logger.debug('Visiting the secondary geo node')
QA::Flow::Login.while_signed_in(address: :geo_secondary) do QA::Flow::Login.while_signed_in(address: :geo_secondary) do
......
...@@ -10,7 +10,7 @@ module QA ...@@ -10,7 +10,7 @@ module QA
end end
context 'wiki commit' do context 'wiki commit' do
it 'is replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/688' do it 'is replicated to the secondary', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1436' do
wiki_content = 'This tests replication of wikis via SSH' wiki_content = 'This tests replication of wikis via SSH'
push_content = 'This is from the Geo wiki push via SSH!' push_content = 'This is from the Geo wiki push via SSH!'
project = nil project = nil
......
...@@ -38,7 +38,7 @@ module QA ...@@ -38,7 +38,7 @@ module QA
key.remove_via_api! key.remove_via_api!
end end
it 'proxies wiki commit to primary node and ultmately replicates to secondary node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/694' do it 'proxies wiki commit to primary node and ultmately replicates to secondary node', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1430' do
QA::Runtime::Logger.debug('*****Visiting the secondary geo node*****') QA::Runtime::Logger.debug('*****Visiting the secondary geo node*****')
QA::Flow::Login.while_signed_in(address: :geo_secondary) do QA::Flow::Login.while_signed_in(address: :geo_secondary) do
......
...@@ -56,7 +56,7 @@ module QA ...@@ -56,7 +56,7 @@ module QA
merge_request.visit! merge_request.visit!
end end
it 'displays the Security reports in the merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/538' do it 'displays the Security reports in the merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1533' do
Page::MergeRequest::Show.perform do |merge_request| Page::MergeRequest::Show.perform do |merge_request|
expect(merge_request).to have_vulnerability_report expect(merge_request).to have_vulnerability_report
expect(merge_request).to have_vulnerability_count expect(merge_request).to have_vulnerability_count
......
...@@ -68,7 +68,7 @@ module QA ...@@ -68,7 +68,7 @@ module QA
project.visit! project.visit!
end end
it 'runs sast job when enabled from configuration', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1667' do it 'runs sast job when enabled from configuration', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1835' do
Flow::Pipeline.visit_latest_pipeline Flow::Pipeline.visit_latest_pipeline
# Baseline that we do not initially have a sast job # Baseline that we do not initially have a sast job
......
...@@ -30,7 +30,7 @@ module QA ...@@ -30,7 +30,7 @@ module QA
Page::Project::Menu.perform(&:click_on_license_compliance) Page::Project::Menu.perform(&:click_on_license_compliance)
end end
it 'has empty state', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1128' do it 'has empty state', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1839' do
EE::Page::Project::Secure::LicenseCompliance.perform do |license_compliance| EE::Page::Project::Secure::LicenseCompliance.perform do |license_compliance|
expect(license_compliance).to have_empty_state_description('The license list details information about the licenses used within your project.') expect(license_compliance).to have_empty_state_description('The license list details information about the licenses used within your project.')
expect(license_compliance).to have_link('More Information', href: %r{\/help\/user\/compliance\/license_compliance\/index}) expect(license_compliance).to have_link('More Information', href: %r{\/help\/user\/compliance\/license_compliance\/index})
...@@ -53,7 +53,7 @@ module QA ...@@ -53,7 +53,7 @@ module QA
Flow::Pipeline.wait_for_latest_pipeline(pipeline_condition: 'succeeded') Flow::Pipeline.wait_for_latest_pipeline(pipeline_condition: 'succeeded')
end end
it 'can approve a license in the settings page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/964' do it 'can approve a license in the settings page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1286' do
EE::Page::Project::Secure::LicenseCompliance.perform do |license_compliance| EE::Page::Project::Secure::LicenseCompliance.perform do |license_compliance|
license_compliance.open_tab license_compliance.open_tab
license_compliance.approve_license approved_license_name license_compliance.approve_license approved_license_name
...@@ -62,7 +62,7 @@ module QA ...@@ -62,7 +62,7 @@ module QA
end end
end end
it 'can deny a license in the settings page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/963' do it 'can deny a license in the settings page', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1287' do
EE::Page::Project::Secure::LicenseCompliance.perform do |license_compliance| EE::Page::Project::Secure::LicenseCompliance.perform do |license_compliance|
license_compliance.open_tab license_compliance.open_tab
license_compliance.deny_license denied_license_name license_compliance.deny_license denied_license_name
...@@ -110,7 +110,7 @@ module QA ...@@ -110,7 +110,7 @@ module QA
project&.remove_via_api! if project project&.remove_via_api! if project
end end
it 'can approve and deny licenses in the pipeline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1767' do it 'can approve and deny licenses in the pipeline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1285' do
EE::Page::Project::Secure::LicenseCompliance.perform do |license_compliance| EE::Page::Project::Secure::LicenseCompliance.perform do |license_compliance|
license_compliance.open_tab license_compliance.open_tab
license_compliance.approve_license approved_license_name license_compliance.approve_license approved_license_name
......
...@@ -95,7 +95,7 @@ module QA ...@@ -95,7 +95,7 @@ module QA
Flow::Pipeline.wait_for_latest_pipeline(pipeline_condition: 'succeeded') Flow::Pipeline.wait_for_latest_pipeline(pipeline_condition: 'succeeded')
end end
it 'manage licenses from the merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/575' do it 'manage licenses from the merge request', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1507' do
@merge_request.visit! @merge_request.visit!
Page::MergeRequest::Show.perform do |show| Page::MergeRequest::Show.perform do |show|
......
...@@ -67,7 +67,7 @@ module QA ...@@ -67,7 +67,7 @@ module QA
@runner.remove_via_api! @runner.remove_via_api!
end end
it 'shows vulnerability details', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/949' do it 'shows vulnerability details', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1292' do
Page::Project::Menu.perform(&:click_on_vulnerability_report) Page::Project::Menu.perform(&:click_on_vulnerability_report)
EE::Page::Project::Secure::SecurityDashboard.perform do |security_dashboard| EE::Page::Project::Secure::SecurityDashboard.perform do |security_dashboard|
...@@ -88,7 +88,7 @@ module QA ...@@ -88,7 +88,7 @@ module QA
it( it(
'creates an issue from vulnerability details', 'creates an issue from vulnerability details',
testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1228' testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1837'
) do ) do
Page::Project::Menu.perform(&:click_on_vulnerability_report) Page::Project::Menu.perform(&:click_on_vulnerability_report)
......
...@@ -26,7 +26,7 @@ module QA ...@@ -26,7 +26,7 @@ module QA
@project&.remove_via_api! if @project @project&.remove_via_api! if @project
end end
it 'dependency list has empty state', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1787' do it 'dependency list has empty state', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1805' do
Page::Project::Menu.perform(&:click_on_dependency_list) Page::Project::Menu.perform(&:click_on_dependency_list)
EE::Page::Project::Secure::DependencyList.perform do |dependency_list| EE::Page::Project::Secure::DependencyList.perform do |dependency_list|
...@@ -61,7 +61,7 @@ module QA ...@@ -61,7 +61,7 @@ module QA
@runner&.remove_via_api! if @runner @runner&.remove_via_api! if @runner
end end
it 'displays security reports in the pipeline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1777' do it 'displays security reports in the pipeline', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1514' do
Flow::Pipeline.visit_latest_pipeline Flow::Pipeline.visit_latest_pipeline
Page::Project::Pipeline::Show.perform do |pipeline| Page::Project::Pipeline::Show.perform do |pipeline|
pipeline.click_on_security pipeline.click_on_security
...@@ -84,7 +84,7 @@ module QA ...@@ -84,7 +84,7 @@ module QA
end end
end end
it 'displays security reports in the project security dashboard', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1683' do it 'displays security reports in the project security dashboard', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1513' do
Page::Project::Menu.perform(&:click_project) Page::Project::Menu.perform(&:click_project)
Page::Project::Menu.perform(&:click_on_vulnerability_report) Page::Project::Menu.perform(&:click_on_vulnerability_report)
...@@ -107,7 +107,7 @@ module QA ...@@ -107,7 +107,7 @@ module QA
end end
end end
it 'displays security reports in the group security dashboard', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1280' do it 'displays security reports in the group security dashboard', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1512' do
Page::Main::Menu.perform(&:go_to_groups) Page::Main::Menu.perform(&:go_to_groups)
Page::Dashboard::Groups.perform do |groups| Page::Dashboard::Groups.perform do |groups|
groups.click_group @project.group.path groups.click_group @project.group.path
...@@ -141,7 +141,7 @@ module QA ...@@ -141,7 +141,7 @@ module QA
end end
end end
it 'displays the Dependency List', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/564' do it 'displays the Dependency List', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1515' do
Page::Project::Menu.perform(&:click_on_dependency_list) Page::Project::Menu.perform(&:click_on_dependency_list)
EE::Page::Project::Secure::DependencyList.perform do |dependency_list| EE::Page::Project::Secure::DependencyList.perform do |dependency_list|
......
...@@ -58,7 +58,7 @@ module QA ...@@ -58,7 +58,7 @@ module QA
@merge_request.visit! @merge_request.visit!
end end
it 'can dismiss a vulnerability with a reason', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/1691' do it 'can dismiss a vulnerability with a reason', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1656' do
dismiss_reason = "Vulnerability not applicable" dismiss_reason = "Vulnerability not applicable"
Page::MergeRequest::Show.perform do |merge_request| Page::MergeRequest::Show.perform do |merge_request|
...@@ -70,7 +70,7 @@ module QA ...@@ -70,7 +70,7 @@ module QA
end end
end end
it 'can create an issue from a vulnerability', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/548' do it 'can create an issue from a vulnerability', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1657' do
Page::MergeRequest::Show.perform do |merge_request| Page::MergeRequest::Show.perform do |merge_request|
expect(merge_request).to have_vulnerability_report expect(merge_request).to have_vulnerability_report
merge_request.create_vulnerability_issue(vuln_name) merge_request.create_vulnerability_issue(vuln_name)
...@@ -81,7 +81,7 @@ module QA ...@@ -81,7 +81,7 @@ module QA
end end
end end
it 'can create an auto-remediation MR', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/issues/550' do it 'can create an auto-remediation MR', testcase: 'https://gitlab.com/gitlab-org/quality/testcases/-/quality/test_cases/1655' do
Page::MergeRequest::Show.perform do |merge_request| Page::MergeRequest::Show.perform do |merge_request|
expect(merge_request).to have_vulnerability_report expect(merge_request).to have_vulnerability_report
merge_request.resolve_vulnerability_with_mr remediable_vuln_name merge_request.resolve_vulnerability_with_mr remediable_vuln_name
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment