diff --git a/lib/gitlab/import/source_user_mapper.rb b/lib/gitlab/import/source_user_mapper.rb index d21b0c60895f11c1154020a2a9e8dc1c67eaf74c..59bd0add07025f1846760ae51ec91382b83eddc7 100644 --- a/lib/gitlab/import/source_user_mapper.rb +++ b/lib/gitlab/import/source_user_mapper.rb @@ -107,7 +107,7 @@ def create_source_user_mapping(source_name, source_username, source_user_identif end def create_placeholder_user(import_source_user) - return namespace_import_user if placeholder_user_limit_exceeded? + return namespace_import_user if placeholder_user_limit_exceeded? || namespace.user_namespace? Gitlab::Import::PlaceholderUserCreator.new(import_source_user).execute end diff --git a/spec/lib/gitlab/github_import/importer/pull_requests/review_request_importer_spec.rb b/spec/lib/gitlab/github_import/importer/pull_requests/review_request_importer_spec.rb index 4f71c6a68f9a33f97ca462f43cd194fac951138b..c449e1d2d8c4f32dbea74f0bee868058db3fd31c 100644 --- a/spec/lib/gitlab/github_import/importer/pull_requests/review_request_importer_spec.rb +++ b/spec/lib/gitlab/github_import/importer/pull_requests/review_request_importer_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Gitlab::GithubImport::Importer::PullRequests::ReviewRequestImporter, :clean_gitlab_redis_shared_state, feature_category: :importers do include Import::UserMappingHelper - let_it_be(:project) { create(:project, :with_import_url, :import_user_mapping_enabled) } + let_it_be(:project) { create(:project, :with_import_url, :import_user_mapping_enabled, :in_group) } let_it_be(:reviewer) { create(:user, username: 'alice') } let_it_be(:source_user) do create( diff --git a/spec/lib/gitlab/import/source_user_mapper_spec.rb b/spec/lib/gitlab/import/source_user_mapper_spec.rb index abbd6f71431868f6643d477764ef680ebb597e73..ac552ea3954df9632570bd3b61c5c8466461e5dc 100644 --- a/spec/lib/gitlab/import/source_user_mapper_spec.rb +++ b/spec/lib/gitlab/import/source_user_mapper_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' RSpec.describe Gitlab::Import::SourceUserMapper, :request_store, feature_category: :importers do - let_it_be(:namespace) { create(:namespace) } + let_it_be(:namespace) { create(:group) } let_it_be(:import_type) { 'github' } let_it_be(:source_hostname) { 'https://github.com' } @@ -200,6 +200,20 @@ end end + context 'when namespace is a personal namespace' do + let_it_be(:namespace) { create(:namespace) } + let_it_be(:import_user) { create(:namespace_import_user, namespace: namespace).import_user } + + it 'does not create any placeholder users and assigns the import user' do + expect { find_or_create_source_user } + .to change { Import::SourceUser.count }.by(1) + + new_import_source_user = Import::SourceUser.last + + expect(new_import_source_user.placeholder_user).to eq(import_user) + end + end + context 'when ActiveRecord::RecordNotUnique exception is raised during the source user creation' do before do allow_next_instance_of(::Import::SourceUser) do |source_user| diff --git a/spec/lib/gitlab/legacy_github_import/issue_formatter_spec.rb b/spec/lib/gitlab/legacy_github_import/issue_formatter_spec.rb index cc61e6c07c7879714f329b03a8e54c0b43eb1fae..24a5317836e161500fb19e3c93ea860e009c0572 100644 --- a/spec/lib/gitlab/legacy_github_import/issue_formatter_spec.rb +++ b/spec/lib/gitlab/legacy_github_import/issue_formatter_spec.rb @@ -10,9 +10,8 @@ :project, :with_import_url, :import_user_mapping_enabled, - import_type: ::Import::SOURCE_GITEA, - namespace: create(:namespace, path: 'octocat') - ) + :in_group, + import_type: ::Import::SOURCE_GITEA) end let_it_be(:source_user_mapper) do @@ -258,10 +257,9 @@ create( :project, :with_import_url, + :in_group, :import_user_mapping_enabled, - import_type: ::Import::SOURCE_GITHUB, - namespace: create(:namespace, path: 'octocat-github') - ) + import_type: ::Import::SOURCE_GITHUB) end let_it_be(:source_user_mapper) do diff --git a/spec/lib/gitlab/legacy_github_import/pull_request_formatter_spec.rb b/spec/lib/gitlab/legacy_github_import/pull_request_formatter_spec.rb index cdb983788039fadde922df8ba94132556e5bc685..e4cdf05c1466b0984b1d6bbdf418613ec056ad88 100644 --- a/spec/lib/gitlab/legacy_github_import/pull_request_formatter_spec.rb +++ b/spec/lib/gitlab/legacy_github_import/pull_request_formatter_spec.rb @@ -10,6 +10,7 @@ :project, :repository, :with_import_url, + :in_group, :import_user_mapping_enabled, import_type: ::Import::SOURCE_GITEA ) @@ -351,6 +352,7 @@ :project, :repository, :with_import_url, + :in_group, :import_user_mapping_enabled, import_type: ::Import::SOURCE_GITHUB ) diff --git a/spec/lib/gitlab/legacy_github_import/user_formatter_spec.rb b/spec/lib/gitlab/legacy_github_import/user_formatter_spec.rb index 7f650cf8116696ee79a188c069a9ba1355e41f81..7f5306e58510f7751bf18050056929fce0c7fb03 100644 --- a/spec/lib/gitlab/legacy_github_import/user_formatter_spec.rb +++ b/spec/lib/gitlab/legacy_github_import/user_formatter_spec.rb @@ -5,7 +5,7 @@ RSpec.describe Gitlab::LegacyGithubImport::UserFormatter, feature_category: :importers do include Import::GiteaHelper - let_it_be(:project) { create(:project, :import_user_mapping_enabled, import_type: 'gitea') } + let_it_be(:project) { create(:project, :import_user_mapping_enabled, :in_group, import_type: 'gitea') } let_it_be(:source_user_mapper) do Gitlab::Import::SourceUserMapper.new(