diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-06 15:09:21 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-06 15:09:21 +0300 |
commit | ebed39e3cedad74e1a1ee4e8d33adfb8bbdc7040 (patch) | |
tree | ae91160251c527eb063413ff9e530b6da96eb74d /spec/services | |
parent | 61ee5c363522f2639d1c515a74b9b02b7672c7c2 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/services')
-rw-r--r-- | spec/services/ci/archive_trace_service_spec.rb | 46 | ||||
-rw-r--r-- | spec/services/pages/delete_service_spec.rb (renamed from spec/services/pages/delete_services_spec.rb) | 14 | ||||
-rw-r--r-- | spec/services/projects/update_pages_configuration_service_spec.rb | 2 | ||||
-rw-r--r-- | spec/services/projects/update_pages_service_spec.rb | 2 |
4 files changed, 57 insertions, 7 deletions
diff --git a/spec/services/ci/archive_trace_service_spec.rb b/spec/services/ci/archive_trace_service_spec.rb index 07ea314debc..a4f498f17c3 100644 --- a/spec/services/ci/archive_trace_service_spec.rb +++ b/spec/services/ci/archive_trace_service_spec.rb @@ -24,6 +24,52 @@ RSpec.describe Ci::ArchiveTraceService, '#execute' do it 'does not create an archived trace' do expect { subject }.not_to change { Ci::JobArtifact.trace.count } end + + context 'when live trace chunks still exist' do + before do + create(:ci_build_trace_chunk, build: job) + end + + context 'when the feature flag `erase_traces_from_already_archived_jobs_when_archiving_again` is enabled' do + before do + stub_feature_flags(erase_traces_from_already_archived_jobs_when_archiving_again: true) + end + + it 'removes the trace chunks' do + expect { subject }.to change { job.trace_chunks.count }.to(0) + end + + context 'when associated data does not exist' do + before do + job.job_artifacts_trace.file.remove! + end + + it 'removes the trace artifact' do + expect { subject }.to change { job.reload.job_artifacts_trace }.to(nil) + end + end + end + + context 'when the feature flag `erase_traces_from_already_archived_jobs_when_archiving_again` is disabled' do + before do + stub_feature_flags(erase_traces_from_already_archived_jobs_when_archiving_again: false) + end + + it 'does not remove the trace chunks' do + expect { subject }.not_to change { job.trace_chunks.count } + end + + context 'when associated data does not exist' do + before do + job.job_artifacts_trace.file.remove! + end + + it 'does not remove the trace artifact' do + expect { subject }.not_to change { job.reload.job_artifacts_trace } + end + end + end + end end context 'when job does not have trace' do diff --git a/spec/services/pages/delete_services_spec.rb b/spec/services/pages/delete_service_spec.rb index f1edf93b0c1..a79c89a1c35 100644 --- a/spec/services/pages/delete_services_spec.rb +++ b/spec/services/pages/delete_service_spec.rb @@ -16,7 +16,10 @@ RSpec.describe Pages::DeleteService do it 'deletes published pages', :sidekiq_inline do expect(project.pages_deployed?).to be(true) - expect_any_instance_of(Gitlab::PagesTransfer).to receive(:rename_project).and_return true + expect_next_instance_of(Gitlab::PagesTransfer) do |pages_transfer| + expect(pages_transfer).to receive(:rename_project).and_return true + end + expect(PagesWorker).to receive(:perform_in).with(5.minutes, :remove, project.namespace.full_path, anything) service.execute @@ -24,11 +27,10 @@ RSpec.describe Pages::DeleteService do expect(project.pages_deployed?).to be(false) end - it "doesn't remove anything from the legacy storage if updates on it are disabled", :sidekiq_inline do - stub_feature_flags(pages_update_legacy_storage: false) + it "doesn't remove anything from the legacy storage", :sidekiq_inline do + allow(Settings.pages.local_store).to receive(:enabled).and_return(false) expect(project.pages_deployed?).to be(true) - expect(PagesWorker).not_to receive(:perform_in) service.execute @@ -69,7 +71,9 @@ RSpec.describe Pages::DeleteService do expect(project.pages_deployed?).to eq(false) expect(project.pages_domains.count).to eq(0) - expect_any_instance_of(Gitlab::PagesTransfer).to receive(:rename_project).and_return true + expect_next_instance_of(Gitlab::PagesTransfer) do |pages_transfer| + expect(pages_transfer).to receive(:rename_project).and_return true + end Sidekiq::Worker.drain_all end diff --git a/spec/services/projects/update_pages_configuration_service_spec.rb b/spec/services/projects/update_pages_configuration_service_spec.rb index 9ef66a10f0d..58939ef4ada 100644 --- a/spec/services/projects/update_pages_configuration_service_spec.rb +++ b/spec/services/projects/update_pages_configuration_service_spec.rb @@ -35,7 +35,7 @@ RSpec.describe Projects::UpdatePagesConfigurationService do end it "doesn't update configuration files if updates on legacy storage are disabled" do - stub_feature_flags(pages_update_legacy_storage: false) + allow(Settings.pages.local_store).to receive(:enabled).and_return(false) expect(service).not_to receive(:update_file) diff --git a/spec/services/projects/update_pages_service_spec.rb b/spec/services/projects/update_pages_service_spec.rb index b735f4b6bc2..afdb4c3115a 100644 --- a/spec/services/projects/update_pages_service_spec.rb +++ b/spec/services/projects/update_pages_service_spec.rb @@ -56,7 +56,7 @@ RSpec.describe Projects::UpdatePagesService do end it "doesn't deploy to legacy storage if it's disabled" do - stub_feature_flags(pages_update_legacy_storage: false) + allow(Settings.pages.local_store).to receive(:enabled).and_return(false) expect(execute).to eq(:success) expect(project.pages_deployed?).to be_truthy |