diff --git a/spec/serializers/build_details_entity_spec.rb b/spec/serializers/build_details_entity_spec.rb index a24841fe286b843004979c9f804f7e853e317c72..da2734feb51f5e20603c80a8f4d556fdef5fc706 100644 --- a/spec/serializers/build_details_entity_spec.rb +++ b/spec/serializers/build_details_entity_spec.rb @@ -11,7 +11,7 @@ describe '#as_json' do let(:project) { create(:project, :repository) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:pipeline) { create(:ci_pipeline, project: project) } let(:build) { create(:ci_build, :failed, pipeline: pipeline) } let(:request) { double('request', project: project) } diff --git a/spec/serializers/ci/lint/result_serializer_spec.rb b/spec/serializers/ci/lint/result_serializer_spec.rb index a834ea05e143a75e071a9311b7a18442e063fc70..3fdaba1808a70e83a861f3246731ae79cd6a51a0 100644 --- a/spec/serializers/ci/lint/result_serializer_spec.rb +++ b/spec/serializers/ci/lint/result_serializer_spec.rb @@ -7,7 +7,7 @@ let(:result) do Gitlab::Ci::Lint - .new(project: project, current_user: project.owner) + .new(project: project, current_user: project.first_owner) .validate(yaml_content, dry_run: false) end @@ -64,7 +64,7 @@ context 'when dry run is enabled' do let(:result) do Gitlab::Ci::Lint - .new(project: project, current_user: project.owner) + .new(project: project, current_user: project.first_owner) .validate(yaml_content, dry_run: true) end diff --git a/spec/serializers/diff_file_base_entity_spec.rb b/spec/serializers/diff_file_base_entity_spec.rb index 99dbaff4b7e2e0f09d7e7d5f06aa3d28efbe3858..11ceb7991d770101c7e69826917d9b13d6c0661d 100644 --- a/spec/serializers/diff_file_base_entity_spec.rb +++ b/spec/serializers/diff_file_base_entity_spec.rb @@ -142,7 +142,7 @@ end context 'when source_project and target_project are different' do - let(:target_project) { fork_project(source_project, source_project.owner, repository: true) } + let(:target_project) { fork_project(source_project, source_project.first_owner, repository: true) } it 'returns the merge_request ide route with the target_project as param' do expect(entity[:ide_edit_path]).to eq("#{expected_merge_request_path}?target_project=#{ERB::Util.url_encode(target_project.full_path)}") diff --git a/spec/serializers/runner_entity_spec.rb b/spec/serializers/runner_entity_spec.rb index 39cac65c5ac330ebc2067166e3821438d0da683e..f34cb794834445c8250700c80acb41a96d8ab1c2 100644 --- a/spec/serializers/runner_entity_spec.rb +++ b/spec/serializers/runner_entity_spec.rb @@ -7,7 +7,7 @@ let(:runner) { create(:ci_runner, :project, projects: [project]) } let(:entity) { described_class.new(runner, request: request, current_user: user) } let(:request) { double('request') } - let(:user) { project.owner } + let(:user) { project.first_owner } before do allow(request).to receive(:current_user).and_return(user) diff --git a/spec/serializers/trigger_variable_entity_spec.rb b/spec/serializers/trigger_variable_entity_spec.rb index e90bfc24f9f14f105f061ea6ffca322d4c239d82..deabbb9d54b6e9fee0d3f870e402fa23a3f8d670 100644 --- a/spec/serializers/trigger_variable_entity_spec.rb +++ b/spec/serializers/trigger_variable_entity_spec.rb @@ -31,7 +31,7 @@ end context 'when user is owner' do - let(:user) { project.owner } + let(:user) { project.first_owner } it 'exposes the variable value' do expect(subject).to include(:value) diff --git a/spec/support/helpers/repo_helpers.rb b/spec/support/helpers/repo_helpers.rb index bbba58d60d6d26b5d7ee9b09b6145c03ca5ccdb1..f275be39dc402fe59b1c62e52f91ae2d7814a1a6 100644 --- a/spec/support/helpers/repo_helpers.rb +++ b/spec/support/helpers/repo_helpers.rb @@ -129,7 +129,7 @@ def create_file_in_repo( commit_message: 'Add new content') Files::CreateService.new( project, - project.owner, + project.first_owner, commit_message: commit_message, start_branch: start_branch, branch_name: branch_name, diff --git a/spec/support/shared_contexts/graphql/requests/packages_shared_context.rb b/spec/support/shared_contexts/graphql/requests/packages_shared_context.rb index 9ac3d4a04f9e78a3903f027d09996ff23e0f719b..13e7ecf2669850f2ad349dbdb2e0d77f5576f08d 100644 --- a/spec/support/shared_contexts/graphql/requests/packages_shared_context.rb +++ b/spec/support/shared_contexts/graphql/requests/packages_shared_context.rb @@ -11,7 +11,7 @@ let(:package_files) { all_graphql_fields_for('PackageFile') } let(:dependency_links) { all_graphql_fields_for('PackageDependencyLink') } let(:pipelines) { all_graphql_fields_for('Pipeline', max_depth: 1) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:package_details) { graphql_data_at(:package) } let(:metadata_response) { graphql_data_at(:package, :metadata) } let(:first_file) { package.package_files.find { |f| global_id_of(f) == first_file_response['id'] } } diff --git a/spec/support/shared_examples/features/creatable_merge_request_shared_examples.rb b/spec/support/shared_examples/features/creatable_merge_request_shared_examples.rb index 1c816ee4b0aeb4f346c212b29009e1586af458a8..456175e7113d182dac70e959e90cbaaf11e69048 100644 --- a/spec/support/shared_examples/features/creatable_merge_request_shared_examples.rb +++ b/spec/support/shared_examples/features/creatable_merge_request_shared_examples.rb @@ -62,7 +62,7 @@ end it 'updates the branches when selecting a new target project', :js do - target_project_member = target_project.owner + target_project_member = target_project.first_owner ::Branches::CreateService.new(target_project, target_project_member) .execute('a-brand-new-branch-to-test', 'master') diff --git a/spec/support/shared_examples/lib/sidebars/projects/menus/zentao_menu_shared_examples.rb b/spec/support/shared_examples/lib/sidebars/projects/menus/zentao_menu_shared_examples.rb index d3fd28727b59170066d35c93958cd47d71d6c3ee..b4c438771ce569d66bb90bd4576c1ecb73fd8218 100644 --- a/spec/support/shared_examples/lib/sidebars/projects/menus/zentao_menu_shared_examples.rb +++ b/spec/support/shared_examples/lib/sidebars/projects/menus/zentao_menu_shared_examples.rb @@ -4,7 +4,7 @@ RSpec.shared_examples 'ZenTao menu with CE version' do let(:project) { create(:project, has_external_issue_tracker: true) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:context) { Sidebars::Projects::Context.new(current_user: user, container: project) } let(:zentao_integration) { create(:zentao_integration, project: project) } diff --git a/spec/support/shared_examples/models/update_project_statistics_shared_examples.rb b/spec/support/shared_examples/models/update_project_statistics_shared_examples.rb index 06326ffac97af4d989628ac9d522fc303afe5f0f..ad0bbc0aeff9174617ad5b379354ee61649cbf12 100644 --- a/spec/support/shared_examples/models/update_project_statistics_shared_examples.rb +++ b/spec/support/shared_examples/models/update_project_statistics_shared_examples.rb @@ -115,14 +115,14 @@ def expect_flush_counter_increments_worker_performed expect(ProjectStatistics) .not_to receive(:increment_statistic) - expect(Projects::DestroyService.new(project, project.owner).execute).to eq(true) + expect(Projects::DestroyService.new(project, project.first_owner).execute).to eq(true) end it 'does not schedule a namespace statistics worker' do expect(Namespaces::ScheduleAggregationWorker) .not_to receive(:perform_async) - expect(Projects::DestroyService.new(project, project.owner).execute).to eq(true) + expect(Projects::DestroyService.new(project, project.first_owner).execute).to eq(true) end end end diff --git a/spec/support/shared_examples/requests/api/notes_shared_examples.rb b/spec/support/shared_examples/requests/api/notes_shared_examples.rb index 0434d0beb7e1083d94761cd4d4ba03bc47614296..2a157f6e8557452e985da8a36d82cc4cfe98a5c5 100644 --- a/spec/support/shared_examples/requests/api/notes_shared_examples.rb +++ b/spec/support/shared_examples/requests/api/notes_shared_examples.rb @@ -190,7 +190,7 @@ if parent_type == 'projects' context 'by a project owner' do - let(:user) { project.owner } + let(:user) { project.first_owner } it 'sets the creation time on the new note' do post api("/#{parent_type}/#{parent.id}/#{noteable_type}/#{noteable[id_name]}/notes", user), params: params diff --git a/spec/tasks/gitlab/backup_rake_spec.rb b/spec/tasks/gitlab/backup_rake_spec.rb index c5e73aa3b45b002a0ab0fe3592a859d2a94861a1..92843f48b8b523acfc5170a52af4abbaeb57de49 100644 --- a/spec/tasks/gitlab/backup_rake_spec.rb +++ b/spec/tasks/gitlab/backup_rake_spec.rb @@ -344,9 +344,9 @@ def reenable_backup_sub_tasks shared_examples 'includes repositories in all repository storages' do specify :aggregate_failures do project_a = create(:project, :repository) - project_snippet_a = create(:project_snippet, :repository, project: project_a, author: project_a.owner) + project_snippet_a = create(:project_snippet, :repository, project: project_a, author: project_a.first_owner) project_b = create(:project, :repository, repository_storage: second_storage_name) - project_snippet_b = create(:project_snippet, :repository, project: project_b, author: project_b.owner) + project_snippet_b = create(:project_snippet, :repository, project: project_b, author: project_b.first_owner) project_snippet_b.snippet_repository.update!(shard: project_b.project_repository.shard) create(:wiki_page, container: project_a) create(:design, :with_file, issue: create(:issue, project: project_a)) diff --git a/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb b/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb index 869defbb3310cae21c55507c4634e125f1c65672..22e925e22ae5e6ecc801dcb3c4eb051712707d9f 100644 --- a/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb +++ b/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb @@ -5,7 +5,7 @@ RSpec.describe 'layouts/nav/sidebar/_project' do let_it_be_with_reload(:project) { create(:project, :repository) } - let(:user) { project.owner } + let(:user) { project.first_owner } let(:current_ref) { 'master' } before do diff --git a/spec/workers/ci/external_pull_requests/create_pipeline_worker_spec.rb b/spec/workers/ci/external_pull_requests/create_pipeline_worker_spec.rb index 116a0e4d0352a12ef96ed7f8d0b9a616d8a7b07f..a637ac088ff871347fcb3b9fa036e69e43cadda8 100644 --- a/spec/workers/ci/external_pull_requests/create_pipeline_worker_spec.rb +++ b/spec/workers/ci/external_pull_requests/create_pipeline_worker_spec.rb @@ -4,7 +4,7 @@ RSpec.describe Ci::ExternalPullRequests::CreatePipelineWorker do let_it_be(:project) { create(:project, :auto_devops, :repository) } - let_it_be(:user) { project.owner } + let_it_be(:user) { project.first_owner } let_it_be(:external_pull_request) do branch = project.repository.branches.last create(:external_pull_request, project: project, source_branch: branch.name, source_sha: branch.target) diff --git a/spec/workers/cleanup_container_repository_worker_spec.rb b/spec/workers/cleanup_container_repository_worker_spec.rb index 6ae4308bd46dd99c8906d008ec0b2178d11a6ff2..6723ea2049d7e5d343bae8997d350a33a516f8c8 100644 --- a/spec/workers/cleanup_container_repository_worker_spec.rb +++ b/spec/workers/cleanup_container_repository_worker_spec.rb @@ -5,7 +5,7 @@ RSpec.describe CleanupContainerRepositoryWorker, :clean_gitlab_redis_shared_state do let(:repository) { create(:container_repository) } let(:project) { repository.project } - let(:user) { project.owner } + let(:user) { project.first_owner } subject { described_class.new } diff --git a/spec/workers/delete_container_repository_worker_spec.rb b/spec/workers/delete_container_repository_worker_spec.rb index b8363a2f81a04afaa70ba995f432b7b301f1c728..ec040eab2d424d5bd7195f84817369d8a68f1e71 100644 --- a/spec/workers/delete_container_repository_worker_spec.rb +++ b/spec/workers/delete_container_repository_worker_spec.rb @@ -5,7 +5,7 @@ RSpec.describe DeleteContainerRepositoryWorker do let(:registry) { create(:container_repository) } let(:project) { registry.project } - let(:user) { project.owner } + let(:user) { project.first_owner } subject { described_class.new } diff --git a/spec/workers/delete_merged_branches_worker_spec.rb b/spec/workers/delete_merged_branches_worker_spec.rb index 861ca111b92328fb100450a3caf8c5ba34fc007b..056fcb1200d542248d93ae105132663ff5b0aa7b 100644 --- a/spec/workers/delete_merged_branches_worker_spec.rb +++ b/spec/workers/delete_merged_branches_worker_spec.rb @@ -13,11 +13,11 @@ expect(instance).to receive(:execute).and_return(true) end - worker.perform(project.id, project.owner.id) + worker.perform(project.id, project.first_owner.id) end it "returns false when project was not found" do - expect(worker.perform('unknown', project.owner.id)).to be_falsy + expect(worker.perform('unknown', project.first_owner.id)).to be_falsy end end end diff --git a/spec/workers/post_receive_spec.rb b/spec/workers/post_receive_spec.rb index 42e39c51a889232663b1011e73166658f9898a31..9b33e559c71867794deb0a53971bb65463812321 100644 --- a/spec/workers/post_receive_spec.rb +++ b/spec/workers/post_receive_spec.rb @@ -15,7 +15,7 @@ let(:wrongly_encoded_changes) { changes.encode("ISO-8859-1").force_encoding("UTF-8") } let(:base64_changes) { Base64.encode64(wrongly_encoded_changes) } let(:gl_repository) { "project-#{project.id}" } - let(:key) { create(:key, user: project.owner) } + let(:key) { create(:key, user: project.first_owner) } let!(:key_id) { key.shell_id } let(:project) do @@ -47,7 +47,7 @@ def perform(changes: base64_changes) context 'with PersonalSnippet' do let(:gl_repository) { "snippet-#{snippet.id}" } - let(:snippet) { create(:personal_snippet, author: project.owner) } + let(:snippet) { create(:personal_snippet, author: project.first_owner) } it 'does not log an error' do expect(Gitlab::GitLogger).not_to receive(:error) @@ -60,7 +60,7 @@ def perform(changes: base64_changes) context 'with ProjectSnippet' do let(:gl_repository) { "snippet-#{snippet.id}" } - let(:snippet) { create(:snippet, type: 'ProjectSnippet', project: nil, author: project.owner) } + let(:snippet) { create(:snippet, type: 'ProjectSnippet', project: nil, author: project.first_owner) } it 'returns false and logs an error' do expect(Gitlab::GitLogger).to receive(:error).with("POST-RECEIVE: #{error_message}") @@ -74,7 +74,7 @@ def perform(changes: base64_changes) let(:empty_project) { create(:project, :empty_repo) } before do - allow_next(Gitlab::GitPostReceive).to receive(:identify).and_return(empty_project.owner) + allow_next(Gitlab::GitPostReceive).to receive(:identify).and_return(empty_project.first_owner) # Need to mock here so we can expect calls on project allow(Gitlab::GlRepository).to receive(:parse).and_return([empty_project, empty_project, Gitlab::GlRepository::PROJECT]) end @@ -128,7 +128,7 @@ def perform(changes: base64_changes) let(:push_service) { double(execute: true) } before do - allow_next(Gitlab::GitPostReceive).to receive(:identify).and_return(project.owner) + allow_next(Gitlab::GitPostReceive).to receive(:identify).and_return(project.first_owner) allow(Gitlab::GlRepository).to receive(:parse).and_return([project, project, Gitlab::GlRepository::PROJECT]) end @@ -381,7 +381,7 @@ def perform(changes: base64_changes) allow(Project).to receive(:find_by).and_return(project) expect_next(MergeRequests::PushedBranchesService).to receive(:execute).and_return(%w(tést)) - expect(UpdateMergeRequestsWorker).to receive(:perform_async).with(project.id, project.owner.id, any_args) + expect(UpdateMergeRequestsWorker).to receive(:perform_async).with(project.id, project.first_owner.id, any_args) perform end @@ -461,13 +461,13 @@ def perform(changes: base64_changes) end context 'with PersonalSnippet' do - let!(:snippet) { create(:personal_snippet, :repository, author: project.owner) } + let!(:snippet) { create(:personal_snippet, :repository, author: project.first_owner) } it_behaves_like 'snippet changes actions' end context 'with ProjectSnippet' do - let!(:snippet) { create(:project_snippet, :repository, project: project, author: project.owner) } + let!(:snippet) { create(:project_snippet, :repository, project: project, author: project.first_owner) } it_behaves_like 'snippet changes actions' end diff --git a/spec/workers/project_destroy_worker_spec.rb b/spec/workers/project_destroy_worker_spec.rb index 00a4ddac29f5c7b38e4b8e837ea187f9b7d4cfee..0b0543a50893ed03622a435cb15479bbfb9cffb6 100644 --- a/spec/workers/project_destroy_worker_spec.rb +++ b/spec/workers/project_destroy_worker_spec.rb @@ -14,7 +14,7 @@ describe '#perform' do it 'deletes the project' do - subject.perform(project.id, project.owner.id, {}) + subject.perform(project.id, project.first_owner.id, {}) expect(Project.all).not_to include(project) expect(Dir.exist?(path)).to be_falsey @@ -22,7 +22,7 @@ it 'does not raise error when project could not be found' do expect do - subject.perform(-1, project.owner.id, {}) + subject.perform(-1, project.first_owner.id, {}) end.not_to raise_error end