From 26655e8c34cb8b97022fa61edc3d8cfd47dfb3bf Mon Sep 17 00:00:00 2001 From: Mark Lapierre Date: Wed, 12 Sep 2018 12:53:24 -0400 Subject: Test with only the deploy key spec --- qa/qa/specs/features/api/1_manage/.gitkeep | 0 qa/qa/specs/features/api/1_manage/users_spec.rb | 35 ------- qa/qa/specs/features/api/2_plan/.gitkeep | 0 .../features/api/3_create/repository/files_spec.rb | 61 ------------ qa/qa/specs/features/api/4_verify/.gitkeep | 0 qa/qa/specs/features/api/5_package/.gitkeep | 0 qa/qa/specs/features/api/6_release/.gitkeep | 0 qa/qa/specs/features/api/7_configure/.gitkeep | 0 .../browser_ui/1_manage/login/log_in_spec.rb | 17 ---- .../login/log_into_gitlab_via_ldap_spec.rb | 19 ---- .../login/log_into_mattermost_via_gitlab_spec.rb | 21 ---- .../1_manage/project/create_project_spec.rb | 26 ----- .../1_manage/project/import_github_repo_spec.rb | 110 --------------------- .../1_manage/project/view_project_activity_spec.rb | 24 ----- .../browser_ui/2_plan/issue/create_issue_spec.rb | 50 ---------- .../merge_request/create_merge_request_spec.rb | 57 ----------- .../merge_merge_request_from_fork_spec.rb | 25 ----- .../merge_request/rebase_merge_request_spec.rb | 45 --------- .../merge_request/squash_merge_request_spec.rb | 54 ---------- .../3_create/repository/add_ssh_key_spec.rb | 31 ------ .../browser_ui/3_create/repository/clone_spec.rb | 60 ----------- .../create_edit_delete_file_via_web_spec.rb | 58 ----------- .../3_create/repository/push_over_http_spec.rb | 23 ----- .../repository/push_protected_branch_spec.rb | 70 ------------- .../3_create/repository/use_ssh_key_spec.rb | 40 -------- .../wiki/create_edit_clone_push_wiki_spec.rb | 49 --------- .../pipeline/create_and_process_pipeline_spec.rb | 87 ---------------- .../4_verify/runner/register_runner_spec.rb | 32 ------ .../secret_variable/add_secret_variable_spec.rb | 28 ------ qa/qa/specs/features/browser_ui/5_package/.gitkeep | 0 .../6_release/deploy_key/add_deploy_key_spec.rb | 23 ----- .../create_project_with_auto_devops_spec.rb | 68 ------------- .../create_group_with_mattermost_team_spec.rb | 21 ---- 33 files changed, 1134 deletions(-) delete mode 100644 qa/qa/specs/features/api/1_manage/.gitkeep delete mode 100644 qa/qa/specs/features/api/1_manage/users_spec.rb delete mode 100644 qa/qa/specs/features/api/2_plan/.gitkeep delete mode 100644 qa/qa/specs/features/api/3_create/repository/files_spec.rb delete mode 100644 qa/qa/specs/features/api/4_verify/.gitkeep delete mode 100644 qa/qa/specs/features/api/5_package/.gitkeep delete mode 100644 qa/qa/specs/features/api/6_release/.gitkeep delete mode 100644 qa/qa/specs/features/api/7_configure/.gitkeep delete mode 100644 qa/qa/specs/features/browser_ui/1_manage/login/log_in_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/1_manage/login/log_into_gitlab_via_ldap_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/1_manage/login/log_into_mattermost_via_gitlab_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/1_manage/project/import_github_repo_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/1_manage/project/view_project_activity_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/3_create/repository/add_ssh_key_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/3_create/repository/clone_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/3_create/repository/create_edit_delete_file_via_web_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/3_create/repository/use_ssh_key_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/3_create/wiki/create_edit_clone_push_wiki_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/4_verify/pipeline/create_and_process_pipeline_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/4_verify/runner/register_runner_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/4_verify/secret_variable/add_secret_variable_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/5_package/.gitkeep delete mode 100644 qa/qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb delete mode 100644 qa/qa/specs/features/browser_ui/7_configure/mattermost/create_group_with_mattermost_team_spec.rb diff --git a/qa/qa/specs/features/api/1_manage/.gitkeep b/qa/qa/specs/features/api/1_manage/.gitkeep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/qa/qa/specs/features/api/1_manage/users_spec.rb b/qa/qa/specs/features/api/1_manage/users_spec.rb deleted file mode 100644 index 3e3c9e859aa..00000000000 --- a/qa/qa/specs/features/api/1_manage/users_spec.rb +++ /dev/null @@ -1,35 +0,0 @@ -# frozen_string_literal: true - -module QA - context :manage do - describe 'Users API' do - before(:context) do - @api_client = Runtime::API::Client.new(:gitlab) - end - - let(:request) { Runtime::API::Request.new(@api_client, '/users') } - - it 'GET /users' do - get request.url - - expect_status(200) - end - - it 'GET /users/:username with a valid username' do - get request.url, { params: { username: Runtime::User.username } } - - expect_status(200) - expect(json_body).to contain_exactly( - a_hash_including(username: Runtime::User.username) - ) - end - - it 'GET /users/:username with an invalid username' do - get request.url, { params: { username: SecureRandom.hex(10) } } - - expect_status(200) - expect(json_body).to eq([]) - end - end - end -end diff --git a/qa/qa/specs/features/api/2_plan/.gitkeep b/qa/qa/specs/features/api/2_plan/.gitkeep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/qa/qa/specs/features/api/3_create/repository/files_spec.rb b/qa/qa/specs/features/api/3_create/repository/files_spec.rb deleted file mode 100644 index bc0b5ebfe10..00000000000 --- a/qa/qa/specs/features/api/3_create/repository/files_spec.rb +++ /dev/null @@ -1,61 +0,0 @@ -require 'securerandom' - -module QA - describe 'API basics' do - before(:context) do - @api_client = Runtime::API::Client.new(:gitlab) - end - - let(:project_name) { "api-basics-#{SecureRandom.hex(8)}" } - let(:sanitized_project_path) { CGI.escape("#{Runtime::User.username}/#{project_name}") } - - it 'user creates a project with a file and deletes them afterwards' do - create_project_request = Runtime::API::Request.new(@api_client, '/projects') - post create_project_request.url, path: project_name, name: project_name - - expect_status(201) - expect(json_body).to match( - a_hash_including(name: project_name, path: project_name) - ) - - create_file_request = Runtime::API::Request.new(@api_client, "/projects/#{sanitized_project_path}/repository/files/README.md") - post create_file_request.url, branch: 'master', content: 'Hello world', commit_message: 'Add README.md' - - expect_status(201) - expect(json_body).to match( - a_hash_including(branch: 'master', file_path: 'README.md') - ) - - get_file_request = Runtime::API::Request.new(@api_client, "/projects/#{sanitized_project_path}/repository/files/README.md", ref: 'master') - get get_file_request.url - - expect_status(200) - expect(json_body).to match( - a_hash_including( - ref: 'master', - file_path: 'README.md', file_name: 'README.md', - encoding: 'base64', content: 'SGVsbG8gd29ybGQ=' - ) - ) - - delete_file_request = Runtime::API::Request.new(@api_client, "/projects/#{sanitized_project_path}/repository/files/README.md", branch: 'master', commit_message: 'Remove README.md') - delete delete_file_request.url - - expect_status(204) - - get_tree_request = Runtime::API::Request.new(@api_client, "/projects/#{sanitized_project_path}/repository/tree") - get get_tree_request.url - - expect_status(200) - expect(json_body).to eq([]) - - delete_project_request = Runtime::API::Request.new(@api_client, "/projects/#{sanitized_project_path}") - delete delete_project_request.url - - expect_status(202) - expect(json_body).to match( - a_hash_including(message: '202 Accepted') - ) - end - end -end diff --git a/qa/qa/specs/features/api/4_verify/.gitkeep b/qa/qa/specs/features/api/4_verify/.gitkeep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/qa/qa/specs/features/api/5_package/.gitkeep b/qa/qa/specs/features/api/5_package/.gitkeep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/qa/qa/specs/features/api/6_release/.gitkeep b/qa/qa/specs/features/api/6_release/.gitkeep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/qa/qa/specs/features/api/7_configure/.gitkeep b/qa/qa/specs/features/api/7_configure/.gitkeep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/qa/qa/specs/features/browser_ui/1_manage/login/log_in_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/login/log_in_spec.rb deleted file mode 100644 index 1c7da930567..00000000000 --- a/qa/qa/specs/features/browser_ui/1_manage/login/log_in_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -module QA - context :manage, :smoke do - describe 'basic user login' do - it 'user logs in using basic credentials' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - # TODO, since `Signed in successfully` message was removed - # this is the only way to tell if user is signed in correctly. - # - Page::Menu::Main.perform do |menu| - expect(menu).to have_personal_area - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/1_manage/login/log_into_gitlab_via_ldap_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/login/log_into_gitlab_via_ldap_spec.rb deleted file mode 100644 index c296296def6..00000000000 --- a/qa/qa/specs/features/browser_ui/1_manage/login/log_into_gitlab_via_ldap_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ -# frozen_string_literal: true - -module QA - context :manage, :orchestrated, :ldap do - describe 'LDAP login' do - it 'user logs into GitLab using LDAP credentials' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - # TODO, since `Signed in successfully` message was removed - # this is the only way to tell if user is signed in correctly. - # - Page::Menu::Main.perform do |menu| - expect(menu).to have_personal_area - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/1_manage/login/log_into_mattermost_via_gitlab_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/login/log_into_mattermost_via_gitlab_spec.rb deleted file mode 100644 index 6eda2c750d4..00000000000 --- a/qa/qa/specs/features/browser_ui/1_manage/login/log_into_mattermost_via_gitlab_spec.rb +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true - -module QA - context :manage, :orchestrated, :mattermost do - describe 'Mattermost login' do - it 'user logs into Mattermost using GitLab OAuth' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) do - Page::Main::Login.act { sign_in_using_credentials } - - Runtime::Browser.visit(:mattermost, Page::Mattermost::Login) do - Page::Mattermost::Login.act { sign_in_using_oauth } - - Page::Mattermost::Main.perform do |page| - expect(page).to have_content(/(Welcome to: Mattermost|Logout GitLab Mattermost)/) - end - end - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb deleted file mode 100644 index bb1f3ab26d1..00000000000 --- a/qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb +++ /dev/null @@ -1,26 +0,0 @@ -# frozen_string_literal: true - -module QA - context :manage, :smoke do - describe 'Project creation' do - it 'user creates a new project' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - created_project = Factory::Resource::Project.fabricate! do |project| - project.name = 'awesome-project' - project.description = 'create awesome project test' - end - - expect(created_project.name).to match /^awesome-project-\h{16}$/ - - expect(page).to have_content( - /Project \S?awesome-project\S+ was successfully created/ - ) - - expect(page).to have_content('create awesome project test') - expect(page).to have_content('The repository for this project is empty') - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/1_manage/project/import_github_repo_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/project/import_github_repo_spec.rb deleted file mode 100644 index 2ef8de61441..00000000000 --- a/qa/qa/specs/features/browser_ui/1_manage/project/import_github_repo_spec.rb +++ /dev/null @@ -1,110 +0,0 @@ -# frozen_string_literal: true - -module QA - context :manage, :orchestrated, :github do - describe 'Project import from GitHub' do - let(:imported_project) do - Factory::Resource::ProjectImportedFromGithub.fabricate! do |project| - project.name = 'imported-project' - project.personal_access_token = Runtime::Env.github_access_token - project.github_repository_path = 'gitlab-qa/test-project' - end - end - - after do - # We need to delete the imported project because it's impossible to import - # the same GitHub project twice for a given user. - api_client = Runtime::API::Client.new(:gitlab) - delete_project_request = Runtime::API::Request.new(api_client, "/projects/#{CGI.escape("#{Runtime::Namespace.path}/#{imported_project.name}")}") - delete delete_project_request.url - - expect_status(202) - end - - it 'user imports a GitHub repo' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - imported_project # import the project - - Page::Menu::Main.act { go_to_projects } - Page::Dashboard::Projects.perform do |dashboard| - dashboard.go_to_project(imported_project.name) - end - - Page::Project::Show.act { wait_for_import } - - verify_repository_import - verify_issues_import - verify_merge_requests_import - verify_labels_import - verify_milestones_import - verify_wiki_import - end - - def verify_repository_import - expect(page).to have_content('This test project is used for automated GitHub import by GitLab QA.') - expect(page).to have_content(imported_project.name) - end - - def verify_issues_import - Page::Menu::Side.act { click_issues } - expect(page).to have_content('This is a sample issue') - - click_link 'This is a sample issue' - - expect(page).to have_content('We should populate this project with issues, pull requests and wiki pages.') - - # Comments - expect(page).to have_content('This is a comment from @rymai.') - - Page::Issuable::Sidebar.perform do |issuable| - expect(issuable).to have_label('enhancement') - expect(issuable).to have_label('help wanted') - expect(issuable).to have_label('good first issue') - end - end - - def verify_merge_requests_import - Page::Menu::Side.act { click_merge_requests } - expect(page).to have_content('Improve README.md') - - click_link 'Improve README.md' - - expect(page).to have_content('This improves the README file a bit.') - - # Review comment are not supported yet - expect(page).not_to have_content('Really nice change.') - - # Comments - expect(page).to have_content('Nice work! This is a comment from @rymai.') - - # Diff comments - expect(page).to have_content('[Review comment] I like that!') - expect(page).to have_content('[Review comment] Nice blank line.') - expect(page).to have_content('[Single diff comment] Much better without this line!') - - Page::Issuable::Sidebar.perform do |issuable| - expect(issuable).to have_label('bug') - expect(issuable).to have_label('enhancement') - end - end - - def verify_labels_import - # TODO: Waiting on https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/19228 - # to build upon it. - end - - def verify_milestones_import - # TODO: Waiting on https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/18727 - # to build upon it. - end - - def verify_wiki_import - Page::Menu::Side.act { click_wiki } - - expect(page).to have_content('Welcome to the test-project wiki!') - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/1_manage/project/view_project_activity_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/project/view_project_activity_spec.rb deleted file mode 100644 index 34bb6f1c197..00000000000 --- a/qa/qa/specs/features/browser_ui/1_manage/project/view_project_activity_spec.rb +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true - -module QA - context :manage do - describe 'Project activity' do - it 'user creates an event in the activity page upon Git push' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - Factory::Repository::ProjectPush.fabricate! do |push| - push.file_name = 'README.md' - push.file_content = '# This is a test project' - push.commit_message = 'Add README.md' - end - - Page::Menu::Side.act { go_to_activity } - - Page::Project::Activity.act { go_to_push_events } - - expect(page).to have_content('pushed new branch master') - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb deleted file mode 100644 index 542f532a629..00000000000 --- a/qa/qa/specs/features/browser_ui/2_plan/issue/create_issue_spec.rb +++ /dev/null @@ -1,50 +0,0 @@ -# frozen_string_literal: true - -module QA - context :plan, :smoke do - describe 'Issue creation' do - let(:issue_title) { 'issue title' } - - def create_issue - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - Factory::Resource::Issue.fabricate! do |issue| - issue.title = issue_title - end - end - - it 'user creates an issue' do - create_issue - - Page::Menu::Side.act { click_issues } - - expect(page).to have_content(issue_title) - end - - context 'when using attachments in comments', :object_storage do - let(:file_to_attach) do - File.absolute_path(File.join('spec', 'fixtures', 'banana_sample.gif')) - end - - it 'user comments on an issue with an attachment' do - create_issue - - Page::Project::Issue::Show.perform do |show| - show.comment('See attached banana for scale', attachment: file_to_attach) - - show.refresh - - image_url = find('a[href$="banana_sample.gif"]')[:href] - - found = show.wait(reload: false) do - show.asset_exists?(image_url) - end - - expect(found).to be_truthy - end - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb b/qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb deleted file mode 100644 index bcf55a02a61..00000000000 --- a/qa/qa/specs/features/browser_ui/3_create/merge_request/create_merge_request_spec.rb +++ /dev/null @@ -1,57 +0,0 @@ -# frozen_string_literal: true - -module QA - context :create do - describe 'Merge request creation' do - it 'user creates a new merge request' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - current_project = Factory::Resource::Project.fabricate! do |project| - project.name = 'project-with-merge-request-and-milestone' - end - - current_milestone = Factory::Resource::ProjectMilestone.fabricate! do |milestone| - milestone.title = 'unique-milestone' - milestone.project = current_project - end - - Factory::Resource::MergeRequest.fabricate! do |merge_request| - merge_request.title = 'This is a merge request with a milestone' - merge_request.description = 'Great feature with milestone' - merge_request.project = current_project - merge_request.milestone = current_milestone - end - - expect(page).to have_content('This is a merge request with a milestone') - expect(page).to have_content('Great feature with milestone') - expect(page).to have_content(/Opened [\w\s]+ ago/) - - Page::Issuable::Sidebar.perform do |sidebar| - expect(sidebar).to have_milestone(current_milestone.title) - end - end - end - end - - describe 'creates a merge request', :smoke do - it 'user creates a new merge request' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - current_project = Factory::Resource::Project.fabricate! do |project| - project.name = 'project-with-merge-request' - end - - Factory::Resource::MergeRequest.fabricate! do |merge_request| - merge_request.title = 'This is a merge request' - merge_request.description = 'Great feature' - merge_request.project = current_project - end - - expect(page).to have_content('This is a merge request') - expect(page).to have_content('Great feature') - expect(page).to have_content(/Opened [\w\s]+ ago/) - end - end -end diff --git a/qa/qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb b/qa/qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb deleted file mode 100644 index 407a15800ab..00000000000 --- a/qa/qa/specs/features/browser_ui/3_create/merge_request/merge_merge_request_from_fork_spec.rb +++ /dev/null @@ -1,25 +0,0 @@ -# frozen_string_literal: true - -module QA - context :create do - describe 'Merge request creation from fork' do - it 'user forks a project, submits a merge request and maintainer merges it' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - merge_request = Factory::Resource::MergeRequestFromFork.fabricate! do |merge_request| - merge_request.fork_branch = 'feature-branch' - end - - Page::Menu::Main.perform { |main| main.sign_out } - Page::Main::Login.perform { |login| login.sign_in_using_credentials } - - merge_request.visit! - - Page::MergeRequest::Show.perform { |show| show.merge! } - - expect(page).to have_content('The changes were merged') - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb b/qa/qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb deleted file mode 100644 index ddcbc94b1b1..00000000000 --- a/qa/qa/specs/features/browser_ui/3_create/merge_request/rebase_merge_request_spec.rb +++ /dev/null @@ -1,45 +0,0 @@ -# frozen_string_literal: true - -module QA - context :create do - describe 'Merge request rebasing' do - it 'user rebases source branch of merge request' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - project = Factory::Resource::Project.fabricate! do |project| - project.name = "only-fast-forward" - end - - Page::Menu::Side.act { go_to_settings } - Page::Project::Settings::MergeRequest.act { enable_ff_only } - - merge_request = Factory::Resource::MergeRequest.fabricate! do |merge_request| - merge_request.project = project - merge_request.title = 'Needs rebasing' - end - - Factory::Repository::ProjectPush.fabricate! do |push| - push.project = project - push.file_name = "other.txt" - push.file_content = "New file added!" - push.branch_name = "master" - push.new_branch = false - end - - merge_request.visit! - - Page::MergeRequest::Show.perform do |merge_request| - expect(merge_request).to have_content('Needs rebasing') - expect(merge_request).not_to be_fast_forward_possible - expect(merge_request).not_to have_merge_button - - merge_request.rebase! - - expect(merge_request).to have_merge_button - expect(merge_request.fast_forward_possible?).to be_truthy - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb b/qa/qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb deleted file mode 100644 index b5b8855a35d..00000000000 --- a/qa/qa/specs/features/browser_ui/3_create/merge_request/squash_merge_request_spec.rb +++ /dev/null @@ -1,54 +0,0 @@ -# frozen_string_literal: true - -module QA - context :create do - describe 'Merge request squashing' do - it 'user squashes commits while merging' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - project = Factory::Resource::Project.fabricate! do |project| - project.name = "squash-before-merge" - end - - merge_request = Factory::Resource::MergeRequest.fabricate! do |merge_request| - merge_request.project = project - merge_request.title = 'Squashing commits' - end - - Factory::Repository::ProjectPush.fabricate! do |push| - push.project = project - push.commit_message = 'to be squashed' - push.branch_name = merge_request.source_branch - push.new_branch = false - push.file_name = 'other.txt' - push.file_content = "Test with unicode characters ❤✓€❄" - end - - merge_request.visit! - - expect(page).to have_text('to be squashed') - - Page::MergeRequest::Show.perform do |merge_request_page| - merge_request_page.mark_to_squash - merge_request_page.merge! - - merge_request.project.visit! - - Git::Repository.perform do |repository| - repository.uri = Page::Project::Show.act do - choose_repository_clone_http - repository_location.uri - end - - repository.use_default_credentials - - repository.act { clone } - - expect(repository.commits.size).to eq 3 - end - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/3_create/repository/add_ssh_key_spec.rb b/qa/qa/specs/features/browser_ui/3_create/repository/add_ssh_key_spec.rb deleted file mode 100644 index 84f663c4866..00000000000 --- a/qa/qa/specs/features/browser_ui/3_create/repository/add_ssh_key_spec.rb +++ /dev/null @@ -1,31 +0,0 @@ -# frozen_string_literal: true - -module QA - context :create do - describe 'SSH keys support' do - let(:key_title) { "key for ssh tests #{Time.now.to_f}" } - - it 'user adds and then removes an SSH key' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - key = Factory::Resource::SSHKey.fabricate! do |resource| - resource.title = key_title - end - - expect(page).to have_content("Title: #{key_title}") - expect(page).to have_content(key.fingerprint) - - Page::Menu::Main.act { go_to_profile_settings } - Page::Menu::Profile.act { click_ssh_keys } - - Page::Profile::SSHKeys.perform do |ssh_keys| - ssh_keys.remove_key(key_title) - end - - expect(page).not_to have_content("Title: #{key_title}") - expect(page).not_to have_content(key.fingerprint) - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/3_create/repository/clone_spec.rb b/qa/qa/specs/features/browser_ui/3_create/repository/clone_spec.rb deleted file mode 100644 index 0dcdc6639d1..00000000000 --- a/qa/qa/specs/features/browser_ui/3_create/repository/clone_spec.rb +++ /dev/null @@ -1,60 +0,0 @@ -# frozen_string_literal: true - -module QA - context :create do - describe 'Git clone over HTTP', :ldap do - let(:location) do - Page::Project::Show.act do - choose_repository_clone_http - repository_location - end - end - - before do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - Factory::Resource::Project.fabricate! do |scenario| - scenario.name = 'project-with-code' - scenario.description = 'project for git clone tests' - end - - Git::Repository.perform do |repository| - repository.uri = location.uri - repository.use_default_credentials - - repository.act do - clone - configure_identity('GitLab QA', 'root@gitlab.com') - commit_file('test.rb', 'class Test; end', 'Add Test class') - commit_file('README.md', '# Test', 'Add Readme') - push_changes - end - end - end - - it 'user performs a deep clone' do - Git::Repository.perform do |repository| - repository.uri = location.uri - repository.use_default_credentials - - repository.act { clone } - - expect(repository.commits.size).to eq 2 - end - end - - it 'user performs a shallow clone' do - Git::Repository.perform do |repository| - repository.uri = location.uri - repository.use_default_credentials - - repository.act { shallow_clone } - - expect(repository.commits.size).to eq 1 - expect(repository.commits.first).to include 'Add Readme' - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/3_create/repository/create_edit_delete_file_via_web_spec.rb b/qa/qa/specs/features/browser_ui/3_create/repository/create_edit_delete_file_via_web_spec.rb deleted file mode 100644 index 82d635065a0..00000000000 --- a/qa/qa/specs/features/browser_ui/3_create/repository/create_edit_delete_file_via_web_spec.rb +++ /dev/null @@ -1,58 +0,0 @@ -# frozen_string_literal: true - -module QA - context :create do - describe 'Files management' do - it 'user creates, edits and deletes a file via the Web' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - # Create - file_name = 'QA Test - File name' - file_content = 'QA Test - File content' - commit_message_for_create = 'QA Test - Create new file' - - Factory::Resource::File.fabricate! do |file| - file.name = file_name - file.content = file_content - file.commit_message = commit_message_for_create - end - - expect(page).to have_content('The file has been successfully created.') - expect(page).to have_content(file_name) - expect(page).to have_content(file_content) - expect(page).to have_content(commit_message_for_create) - - # Edit - updated_file_content = 'QA Test - Updated file content' - commit_message_for_update = 'QA Test - Update file' - - Page::File::Show.act { click_edit } - - Page::File::Form.act do - remove_content - add_content(updated_file_content) - add_commit_message(commit_message_for_update) - commit_changes - end - - expect(page).to have_content('Your changes have been successfully committed.') - expect(page).to have_content(updated_file_content) - expect(page).to have_content(commit_message_for_update) - - # Delete - commit_message_for_delete = 'QA Test - Delete file' - - Page::File::Show.act do - click_delete - add_commit_message(commit_message_for_delete) - click_delete_file - end - - expect(page).to have_content('The file has been successfully deleted.') - expect(page).to have_content(commit_message_for_delete) - expect(page).to have_no_content(file_name) - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb b/qa/qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb deleted file mode 100644 index bf32569b6cb..00000000000 --- a/qa/qa/specs/features/browser_ui/3_create/repository/push_over_http_spec.rb +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true - -module QA - context :create do - describe 'Git push over HTTP', :ldap do - it 'user pushes code to the repository' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - Factory::Repository::ProjectPush.fabricate! do |push| - push.file_name = 'README.md' - push.file_content = '# This is a test project' - push.commit_message = 'Add README.md' - end - - Page::Project::Show.act { wait_for_push } - - expect(page).to have_content('README.md') - expect(page).to have_content('This is a test project') - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb b/qa/qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb deleted file mode 100644 index b2da685c477..00000000000 --- a/qa/qa/specs/features/browser_ui/3_create/repository/push_protected_branch_spec.rb +++ /dev/null @@ -1,70 +0,0 @@ -# frozen_string_literal: true - -module QA - context :create do - describe 'Protected branch support', :ldap do - let(:branch_name) { 'protected-branch' } - let(:commit_message) { 'Protected push commit message' } - let(:project) do - Factory::Resource::Project.fabricate! do |resource| - resource.name = 'protected-branch-project' - end - end - - before do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - end - - after do - # We need to clear localStorage because we're using it for the dropdown, - # and capybara doesn't do this for us. - # https://github.com/teamcapybara/capybara/issues/1702 - Capybara.execute_script 'localStorage.clear()' - end - - 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' do - create_protected_branch(allow_to_push: true) - - push = push_new_file(branch_name) - - expect(push.output).to match(/remote: To create a merge request for protected-branch, visit/) - end - end - - 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' do - create_protected_branch(allow_to_push: false) - - push = push_new_file(branch_name) - - expect(push.output) - .to match(/remote\: GitLab\: You are not allowed to push code to protected branches on this project/) - expect(push.output) - .to match(/\[remote rejected\] #{branch_name} -> #{branch_name} \(pre-receive hook declined\)/) - end - end - - def create_protected_branch(allow_to_push:) - Factory::Resource::Branch.fabricate! do |resource| - resource.branch_name = branch_name - resource.project = project - resource.allow_to_push = allow_to_push - resource.protected = true - end - end - - def push_new_file(branch) - Factory::Repository::ProjectPush.fabricate! do |resource| - resource.project = project - resource.file_name = 'new_file.md' - resource.file_content = '# This is a new file' - resource.commit_message = 'Add new_file.md' - resource.branch_name = branch_name - resource.new_branch = false - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/3_create/repository/use_ssh_key_spec.rb b/qa/qa/specs/features/browser_ui/3_create/repository/use_ssh_key_spec.rb deleted file mode 100644 index 7c989bfd8cc..00000000000 --- a/qa/qa/specs/features/browser_ui/3_create/repository/use_ssh_key_spec.rb +++ /dev/null @@ -1,40 +0,0 @@ -# frozen_string_literal: true - -module QA - context :create do - describe 'SSH key support' do - # Note: If you run this test against GDK make sure you've enabled sshd - # See: https://gitlab.com/gitlab-org/gitlab-qa/blob/master/docs/run_qa_against_gdk.md - - let(:key_title) { "key for ssh tests #{Time.now.to_f}" } - - it 'user adds an ssh key and pushes code to the repository' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - key = Factory::Resource::SSHKey.fabricate! do |resource| - resource.title = key_title - end - - Factory::Repository::ProjectPush.fabricate! do |push| - push.ssh_key = key - push.file_name = 'README.md' - push.file_content = '# Test Use SSH Key' - push.commit_message = 'Add README.md' - end - - Page::Project::Show.act { wait_for_push } - - expect(page).to have_content('README.md') - expect(page).to have_content('Test Use SSH Key') - - Page::Menu::Main.act { go_to_profile_settings } - Page::Menu::Profile.act { click_ssh_keys } - - Page::Profile::SSHKeys.perform do |ssh_keys| - ssh_keys.remove_key(key_title) - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/3_create/wiki/create_edit_clone_push_wiki_spec.rb b/qa/qa/specs/features/browser_ui/3_create/wiki/create_edit_clone_push_wiki_spec.rb deleted file mode 100644 index 8009b9e8609..00000000000 --- a/qa/qa/specs/features/browser_ui/3_create/wiki/create_edit_clone_push_wiki_spec.rb +++ /dev/null @@ -1,49 +0,0 @@ -# frozen_string_literal: true - -module QA - context :create do - describe 'Wiki management' do - def login - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - end - - def validate_content(content) - expect(page).to have_content('Wiki was successfully updated') - expect(page).to have_content(/#{content}/) - end - - before do - login - end - - it 'user creates, edits, clones, and pushes to the wiki' do - wiki = Factory::Resource::Wiki.fabricate! do |resource| - resource.title = 'Home' - resource.content = '# My First Wiki Content' - resource.message = 'Update home' - end - - validate_content('My First Wiki Content') - - Page::Project::Wiki::Edit.act { go_to_edit_page } - Page::Project::Wiki::New.perform do |page| - page.set_content("My Second Wiki Content") - page.save_changes - end - - validate_content('My Second Wiki Content') - - Factory::Repository::WikiPush.fabricate! do |push| - push.wiki = wiki - push.file_name = 'Home.md' - push.file_content = '# My Third Wiki Content' - push.commit_message = 'Update Home.md' - end - Page::Menu::Side.act { click_wiki } - - expect(page).to have_content('My Third Wiki Content') - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/4_verify/pipeline/create_and_process_pipeline_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/pipeline/create_and_process_pipeline_spec.rb deleted file mode 100644 index cdfe9b90e15..00000000000 --- a/qa/qa/specs/features/browser_ui/4_verify/pipeline/create_and_process_pipeline_spec.rb +++ /dev/null @@ -1,87 +0,0 @@ -# frozen_string_literal: true - -module QA - context :verify, :orchestrated, :docker do - describe 'Pipeline creation and processing' do - let(:executor) { "qa-runner-#{Time.now.to_i}" } - - after do - Service::Runner.new(executor).remove! - end - - it 'users creates a pipeline which gets processed' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - project = Factory::Resource::Project.fabricate! do |project| - project.name = 'project-with-pipelines' - project.description = 'Project with CI/CD Pipelines.' - end - - Factory::Resource::Runner.fabricate! do |runner| - runner.project = project - runner.name = executor - runner.tags = %w[qa test] - end - - Factory::Repository::ProjectPush.fabricate! do |push| - push.project = project - push.file_name = '.gitlab-ci.yml' - push.commit_message = 'Add .gitlab-ci.yml' - push.file_content = <<~EOF - test-success: - tags: - - qa - - test - script: echo 'OK' - - test-failure: - tags: - - qa - - test - script: - - echo 'FAILURE' - - exit 1 - - test-tags: - tags: - - qa - - docker - script: echo 'NOOP' - - test-artifacts: - tags: - - qa - - test - script: mkdir my-artifacts; echo "CONTENTS" > my-artifacts/artifact.txt - artifacts: - paths: - - my-artifacts/ - EOF - end - - Page::Project::Show.act { wait_for_push } - - expect(page).to have_content('Add .gitlab-ci.yml') - - Page::Menu::Side.act { click_ci_cd_pipelines } - - expect(page).to have_content('All 1') - expect(page).to have_content('Add .gitlab-ci.yml') - - puts 'Waiting for the runner to process the pipeline' - sleep 15 # Runner should process all jobs within 15 seconds. - - Page::Project::Pipeline::Index.act { go_to_latest_pipeline } - - Page::Project::Pipeline::Show.perform do |pipeline| - expect(pipeline).to be_running - expect(pipeline).to have_build('test-success', status: :success) - expect(pipeline).to have_build('test-failure', status: :failed) - expect(pipeline).to have_build('test-tags', status: :pending) - expect(pipeline).to have_build('test-artifacts', status: :success) - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/4_verify/runner/register_runner_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/runner/register_runner_spec.rb deleted file mode 100644 index 8d83a20f5bf..00000000000 --- a/qa/qa/specs/features/browser_ui/4_verify/runner/register_runner_spec.rb +++ /dev/null @@ -1,32 +0,0 @@ -# frozen_string_literal: true - -module QA - context :verify, :docker do - describe 'Runner registration' do - let(:executor) { "qa-runner-#{Time.now.to_i}" } - - after do - Service::Runner.new(executor).remove! - end - - it 'user registers a new specific runner' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - Factory::Resource::Runner.fabricate! do |runner| - runner.name = executor - end - - Page::Project::Settings::CICD.perform do |settings| - sleep 5 # Runner should register within 5 seconds - settings.refresh - - settings.expand_runners_settings do |page| - expect(page).to have_content(executor) - expect(page).to have_online_runner - end - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/4_verify/secret_variable/add_secret_variable_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/secret_variable/add_secret_variable_spec.rb deleted file mode 100644 index 08a87df5837..00000000000 --- a/qa/qa/specs/features/browser_ui/4_verify/secret_variable/add_secret_variable_spec.rb +++ /dev/null @@ -1,28 +0,0 @@ -# frozen_string_literal: true - -module QA - context :verify do - describe 'Secret variable support' do - it 'user adds a secret variable' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - Factory::Resource::SecretVariable.fabricate! do |resource| - resource.key = 'VARIABLE_KEY' - resource.value = 'some secret variable' - end - - Page::Project::Settings::CICD.perform do |settings| - settings.expand_secret_variables do |page| - expect(page).to have_field(with: 'VARIABLE_KEY') - expect(page).not_to have_field(with: 'some secret variable') - - page.reveal_variables - - expect(page).to have_field(with: 'some secret variable') - end - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/5_package/.gitkeep b/qa/qa/specs/features/browser_ui/5_package/.gitkeep deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/qa/qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb b/qa/qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb deleted file mode 100644 index 17dfa887434..00000000000 --- a/qa/qa/specs/features/browser_ui/6_release/deploy_key/add_deploy_key_spec.rb +++ /dev/null @@ -1,23 +0,0 @@ -# frozen_string_literal: true - -module QA - context :release do - describe 'Deploy key creation' do - it 'user adds a deploy key' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - key = Runtime::Key::RSA.new - deploy_key_title = 'deploy key title' - deploy_key_value = key.public_key - - deploy_key = Factory::Resource::DeployKey.fabricate! do |resource| - resource.title = deploy_key_title - resource.key = deploy_key_value - end - - expect(deploy_key.fingerprint).to eq(key.fingerprint) - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb b/qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb deleted file mode 100644 index e558049756d..00000000000 --- a/qa/qa/specs/features/browser_ui/7_configure/auto_devops/create_project_with_auto_devops_spec.rb +++ /dev/null @@ -1,68 +0,0 @@ -# frozen_string_literal: true - -require 'pathname' - -module QA - context :configure, :orchestrated, :kubernetes do - describe 'Auto DevOps support' do - after do - @cluster&.remove! - end - - it 'user creates a new project and runs auto devops' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - - project = Factory::Resource::Project.fabricate! do |p| - p.name = 'project-with-autodevops' - p.description = 'Project with Auto Devops' - end - - # Disable code_quality check in Auto DevOps pipeline as it takes - # too long and times out the test - Factory::Resource::SecretVariable.fabricate! do |resource| - resource.key = 'CODE_QUALITY_DISABLED' - resource.value = '1' - end - - # Create Auto Devops compatible repo - Factory::Repository::ProjectPush.fabricate! do |push| - push.project = project - push.directory = Pathname - .new(__dir__) - .join('../../../../../fixtures/auto_devops_rack') - push.commit_message = 'Create Auto DevOps compatible rack application' - end - - Page::Project::Show.act { wait_for_push } - - # Create and connect K8s cluster - @cluster = Service::KubernetesCluster.new.create! - kubernetes_cluster = Factory::Resource::KubernetesCluster.fabricate! do |cluster| - cluster.project = project - cluster.cluster = @cluster - cluster.install_helm_tiller = true - cluster.install_ingress = true - cluster.install_prometheus = true - cluster.install_runner = true - end - - project.visit! - Page::Menu::Side.act { click_ci_cd_settings } - Page::Project::Settings::CICD.perform do |p| - p.enable_auto_devops_with_domain("#{kubernetes_cluster.ingress_ip}.nip.io") - end - - project.visit! - Page::Menu::Side.act { click_ci_cd_pipelines } - Page::Project::Pipeline::Index.act { go_to_latest_pipeline } - - Page::Project::Pipeline::Show.perform do |pipeline| - expect(pipeline).to have_build('build', status: :success, wait: 600) - expect(pipeline).to have_build('test', status: :success, wait: 600) - expect(pipeline).to have_build('production', status: :success, wait: 1200) - end - end - end - end -end diff --git a/qa/qa/specs/features/browser_ui/7_configure/mattermost/create_group_with_mattermost_team_spec.rb b/qa/qa/specs/features/browser_ui/7_configure/mattermost/create_group_with_mattermost_team_spec.rb deleted file mode 100644 index 6ffdc55538a..00000000000 --- a/qa/qa/specs/features/browser_ui/7_configure/mattermost/create_group_with_mattermost_team_spec.rb +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true - -module QA - context :configure, :orchestrated, :mattermost do - describe 'Mattermost support' do - it 'user creates a group with a mattermost team' do - Runtime::Browser.visit(:gitlab, Page::Main::Login) - Page::Main::Login.act { sign_in_using_credentials } - Page::Menu::Main.act { go_to_groups } - - Page::Dashboard::Groups.perform do |page| - page.go_to_new_group - - expect(page).to have_content( - /Create a Mattermost team for this group/ - ) - end - end - end - end -end -- cgit v1.2.1