fix some broken specs

This commit is contained in:
Micaël Bergeron 2018-03-06 16:19:24 -05:00
parent b03b31659b
commit a85948862e
8 changed files with 31 additions and 43 deletions

View file

@ -11,7 +11,6 @@ module ObjectStorage
return unless uploader_class < ObjectStorage::Concern
return unless uploader_class.object_store_enabled?
return unless uploader_class.licensed?
return unless uploader_class.background_upload_enabled?
subject = subject_class.find(subject_id)

View file

@ -12,7 +12,6 @@ class ObjectStorageUploadWorker
return unless uploader_class < ObjectStorage::Concern
return unless uploader_class.object_store_enabled?
return unless uploader_class.licensed?
return unless uploader_class.background_upload_enabled?
subject = subject_class.find(subject_id)

View file

@ -147,8 +147,11 @@ module Gitlab
end
def send_artifacts_entry(build, entry)
file = build.artifacts_file
archive = file.file_storage? ? file.path : file.url
params = {
'Archive' => build.artifacts_file.path,
'Archive' => archive,
'Entry' => Base64.encode64(entry.to_s)
}

View file

@ -118,6 +118,7 @@ describe Projects::ArtifactsController do
shared_examples 'a valid file' do
it 'serves the file using workhorse' do
binding.pry
subject
expect(response).to have_gitlab_http_status(200)

View file

@ -161,21 +161,17 @@ describe Ci::Build do
end
end
context 'when legacy artifacts are used' do
context 'artifacts archive does not exist' do
let(:build) { create(:ci_build) }
context 'is not expired' do
it { is_expected.to be_truthy }
end
end
end
context 'when legacy artifacts are used' do
let(:build) { create(:ci_build, :legacy_artifacts) }
subject { build.artifacts? }
context 'is expired' do
let(:build) { create(:ci_build, :legacy_artifacts, :expired) }
it { is_expected.to be_falsy }
end
context 'artifacts archive does not exist' do
let(:build) { create(:ci_build) }
@ -186,19 +182,13 @@ describe Ci::Build do
let(:build) { create(:ci_build, :legacy_artifacts) }
it { is_expected.to be_truthy }
context 'is expired' do
let(:build) { create(:ci_build, :legacy_artifacts, :expired) }
it { is_expected.to be_falsy }
end
end
end
end
describe '#browsable_artifacts?' do
subject { build.browsable_artifacts? }
context 'artifacts metadata does not exist' do
before do
build.update_attributes(legacy_artifacts_metadata: nil)
@ -219,10 +209,6 @@ describe Ci::Build do
subject { build.downloadable_single_artifacts_file? }
before do
expect_any_instance_of(Ci::Build).to receive(:artifacts_metadata?).and_call_original
end
context 'artifacts are stored locally' do
let(:store) { ObjectStoreUploader::LOCAL_STORE }

View file

@ -33,28 +33,14 @@ describe Ci::JobArtifact do
context 'when object storage is enabled' do
context 'when background upload is enabled' do
context 'when is licensed' do
before do
stub_artifacts_object_storage(background_upload: true)
end
it 'schedules the model for migration' do
expect(ObjectStorageUploadWorker).to receive(:perform_async).with('JobArtifactUploader', described_class.name, :file, kind_of(Numeric))
subject
end
before do
stub_artifacts_object_storage(background_upload: true)
end
context 'when is unlicensed' do
before do
stub_artifacts_object_storage(background_upload: true, licensed: false)
end
it 'schedules the model for migration' do
expect(ObjectStorageUploadWorker).to receive(:perform_async).with('JobArtifactUploader', described_class.name, :file, kind_of(Numeric))
it 'does not schedule the migration' do
expect(ObjectStorageUploadWorker).not_to receive(:perform_async)
subject
end
subject
end
end

View file

@ -307,6 +307,19 @@ describe API::Jobs do
end
describe 'GET /projects/:id/jobs/:job_id/artifacts' do
shared_examples 'downloads artifact' do
let(:download_headers) do
{ 'Content-Transfer-Encoding' => 'binary',
'Content-Disposition' => 'attachment; filename=ci_build_artifacts.zip' }
end
it 'returns specific job artifacts' do
expect(response).to have_gitlab_http_status(200)
expect(response.headers).to include(download_headers)
expect(response.body).to match_file(job.artifacts_file.file.file)
end
end
before do
stub_artifacts_object_storage
get api("/projects/#{project.id}/jobs/#{job.id}/artifacts", api_user)

View file

@ -116,6 +116,7 @@ describe PipelineSerializer do
shared_examples 'no N+1 queries' do
it 'verifies number of queries', :request_store do
binding.pry
recorded = ActiveRecord::QueryRecorder.new { subject }
expect(recorded.count).to be_within(1).of(40)