From 48aff82709769b098321c738f3444b9bdaa694c6 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 21 Oct 2020 07:08:36 +0000 Subject: Add latest changes from gitlab-org/gitlab@13-5-stable-ee --- .../services/projects/update_pages_service_spec.rb | 34 ++++++++++++++++------ 1 file changed, 25 insertions(+), 9 deletions(-) (limited to 'spec/services/projects/update_pages_service_spec.rb') diff --git a/spec/services/projects/update_pages_service_spec.rb b/spec/services/projects/update_pages_service_spec.rb index bfb3cbb0131..d3eb84a3137 100644 --- a/spec/services/projects/update_pages_service_spec.rb +++ b/spec/services/projects/update_pages_service_spec.rb @@ -16,8 +16,6 @@ RSpec.describe Projects::UpdatePagesService do subject { described_class.new(project, build) } before do - stub_feature_flags(safezip_use_rubyzip: true) - project.remove_pages end @@ -59,6 +57,28 @@ RSpec.describe Projects::UpdatePagesService do end end + it 'creates pages_deployment and saves it in the metadata' do + expect do + expect(execute).to eq(:success) + end.to change { project.pages_deployments.count }.by(1) + + deployment = project.pages_deployments.last + + expect(deployment.size).to eq(file.size) + expect(deployment.file).to be + expect(project.pages_metadatum.reload.pages_deployment_id).to eq(deployment.id) + end + + it 'does not create deployment when zip_pages_deployments feature flag is disabled' do + stub_feature_flags(zip_pages_deployments: false) + + expect do + expect(execute).to eq(:success) + end.not_to change { project.pages_deployments.count } + + expect(project.pages_metadatum.reload.pages_deployment_id).to be_nil + end + it 'limits pages size' do stub_application_setting(max_pages_size: 1) expect(execute).not_to eq(:success) @@ -75,14 +95,14 @@ RSpec.describe Projects::UpdatePagesService do expect(project.pages_deployed?).to be_truthy expect(Dir.exist?(File.join(project.pages_path))).to be_truthy - project.destroy + project.destroy! expect(Dir.exist?(File.join(project.pages_path))).to be_falsey expect(ProjectPagesMetadatum.find_by_project_id(project)).to be_nil end it 'fails if sha on branch is not latest' do - build.update(ref: 'feature') + build.update!(ref: 'feature') expect(execute).not_to eq(:success) expect(project.pages_metadatum).not_to be_deployed @@ -104,10 +124,6 @@ RSpec.describe Projects::UpdatePagesService do let(:file) { fixture_file_upload("spec/fixtures/pages_non_writeable.zip") } context 'when using RubyZip' do - before do - stub_feature_flags(safezip_use_rubyzip: true) - end - it 'succeeds to extract' do expect(execute).to eq(:success) expect(project.pages_metadatum).to be_deployed @@ -175,7 +191,7 @@ RSpec.describe Projects::UpdatePagesService do it 'fails to remove project pages when no pages is deployed' do expect(PagesWorker).not_to receive(:perform_in) expect(project.pages_deployed?).to be_falsey - project.destroy + project.destroy! end it 'fails if no artifacts' do -- cgit v1.2.3