diff options
Diffstat (limited to 'qa/qa/specs/features/api/1_manage/migration')
3 files changed, 31 insertions, 8 deletions
diff --git a/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb b/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb index dd2e7f06995..052e3d0e32d 100644 --- a/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb +++ b/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_issue_spec.rb @@ -52,6 +52,32 @@ module QA end end + context 'with associated merge request' do + let!(:source_mr) do + Resource::MergeRequest.fabricate_via_api! do |mr| + mr.project = source_project + mr.api_client = source_admin_api_client + mr.description = "Closes #{source_issue.web_url}" + end + end + + let(:imported_related_mrs) do + imported_issue.related_merge_requests.pluck(:iid) + end + + it( + 'preserves related merge request', + testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/386305', + quarantine: { + type: :bug, + issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/386308' + } + ) do + expect_project_import_finished_successfully + expect(imported_related_mrs).to eq([source_mr.iid]) + end + end + # we can't fabricate things in source instance via UI context "with designs", quarantine: { type: :broken, diff --git a/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_large_project_spec.rb b/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_large_project_spec.rb index 5fc170435e3..9ce028318c3 100644 --- a/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_large_project_spec.rb +++ b/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_large_project_spec.rb @@ -15,7 +15,8 @@ module QA let!(:gitlab_source_project) { ENV["QA_LARGE_IMPORT_REPO"] || "migration-test-project" } let!(:import_wait_duration) { { max_duration: (ENV["QA_LARGE_IMPORT_DURATION"] || 3600).to_i, sleep_interval: 30 } } - let!(:source_admin_user) { "no-op" } + # test uses production as source which doesn't have actual admin user + let!(:source_admin_user) { nil } let!(:source_admin_api_client) do Runtime::API::Client.new( source_gitlab_address, @@ -227,8 +228,8 @@ module QA comment_diff = verify_comments(type, actual, expected) { - "missing_#{type}s": (expected.keys - actual.keys).map { |it| expected[it]&.slice(:title, :url) }.compact, - "extra_#{type}s": (actual.keys - expected.keys).map { |it| actual[it]&.slice(:title, :url) }.compact, + "missing_#{type}s": (expected.keys - actual.keys).filter_map { |it| expected[it]&.slice(:title, :url) }, + "extra_#{type}s": (actual.keys - expected.keys).filter_map { |it| actual[it]&.slice(:title, :url) }, "#{type}_comments": comment_diff } end diff --git a/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb b/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb index 83691cdf143..9f6b1d38bd7 100644 --- a/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb +++ b/qa/qa/specs/features/api/1_manage/migration/gitlab_migration_project_spec.rb @@ -6,11 +6,7 @@ module QA include_context 'with gitlab project migration' # this spec is used as a sanity test for gitlab migration because it can run outside of orchestrated setup - context 'with import within same instance', orchestrated: false, import: false, quarantine: { - type: :test_environment, - issue: "https://gitlab.com/gitlab-org/gitlab/-/issues/383605", - only: { job: "review-qa" } - } do + context 'with import within same instance', orchestrated: false, import: false do let!(:source_project_with_readme) { true } let!(:source_gitlab_address) { Runtime::Scenario.gitlab_address } let!(:source_admin_api_client) { admin_api_client } |