Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-12-20 17:22:11 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-12-20 17:22:11 +0300
commit0c872e02b2c822e3397515ec324051ff540f0cd5 (patch)
treece2fb6ce7030e4dad0f4118d21ab6453e5938cdd /spec/uploaders
parentf7e05a6853b12f02911494c4b3fe53d9540d74fc (diff)
Add latest changes from gitlab-org/gitlab@15-7-stable-eev15.7.0-rc42
Diffstat (limited to 'spec/uploaders')
-rw-r--r--spec/uploaders/ci/secure_file_uploader_spec.rb6
-rw-r--r--spec/uploaders/external_diff_uploader_spec.rb25
-rw-r--r--spec/uploaders/file_mover_spec.rb6
-rw-r--r--spec/uploaders/gitlab_uploader_spec.rb15
-rw-r--r--spec/uploaders/lfs_object_uploader_spec.rb24
-rw-r--r--spec/uploaders/packages/composer/cache_uploader_spec.rb2
-rw-r--r--spec/uploaders/packages/debian/component_file_uploader_spec.rb2
-rw-r--r--spec/uploaders/packages/debian/distribution_release_file_uploader_spec.rb2
-rw-r--r--spec/uploaders/packages/package_file_uploader_spec.rb2
-rw-r--r--spec/uploaders/packages/rpm/repository_file_uploader_spec.rb2
-rw-r--r--spec/uploaders/personal_file_uploader_spec.rb8
-rw-r--r--spec/uploaders/terraform/state_uploader_spec.rb6
-rw-r--r--spec/uploaders/workers/object_storage/background_move_worker_spec.rb116
13 files changed, 18 insertions, 198 deletions
diff --git a/spec/uploaders/ci/secure_file_uploader_spec.rb b/spec/uploaders/ci/secure_file_uploader_spec.rb
index 4bac591704b..ec7bbf637a1 100644
--- a/spec/uploaders/ci/secure_file_uploader_spec.rb
+++ b/spec/uploaders/ci/secure_file_uploader_spec.rb
@@ -46,12 +46,6 @@ RSpec.describe Ci::SecureFileUploader do
end
end
- describe '.background_upload_enabled?' do
- it 'returns false' do
- expect(described_class.background_upload_enabled?).to eq(false)
- end
- end
-
describe '.default_store' do
context 'when object storage is enabled' do
it 'returns REMOTE' do
diff --git a/spec/uploaders/external_diff_uploader_spec.rb b/spec/uploaders/external_diff_uploader_spec.rb
index ee23c1e36b7..a889181b72c 100644
--- a/spec/uploaders/external_diff_uploader_spec.rb
+++ b/spec/uploaders/external_diff_uploader_spec.rb
@@ -24,29 +24,6 @@ RSpec.describe ExternalDiffUploader do
store_dir: %r[merge_request_diffs/mr-\d+]
end
- describe 'migration to object storage' do
- context 'with object storage disabled' do
- it "is skipped" do
- expect(ObjectStorage::BackgroundMoveWorker).not_to receive(:perform_async)
-
- diff
- end
- end
-
- context 'with object storage enabled' do
- before do
- stub_external_diffs_setting(enabled: true)
- stub_external_diffs_object_storage(background_upload: true)
- end
-
- it 'is scheduled to run after creation' do
- expect(ObjectStorage::BackgroundMoveWorker).to receive(:perform_async).with(described_class.name, 'MergeRequestDiff', :external_diff, kind_of(Numeric))
-
- diff
- end
- end
- end
-
describe 'remote file' do
context 'with object storage enabled' do
before do
@@ -57,8 +34,6 @@ RSpec.describe ExternalDiffUploader do
end
it 'can store file remotely' do
- allow(ObjectStorage::BackgroundMoveWorker).to receive(:perform_async)
-
diff
expect(diff.external_diff_store).to eq(described_class::Store::REMOTE)
diff --git a/spec/uploaders/file_mover_spec.rb b/spec/uploaders/file_mover_spec.rb
index 3b8c6f6f881..13a5a7e0549 100644
--- a/spec/uploaders/file_mover_spec.rb
+++ b/spec/uploaders/file_mover_spec.rb
@@ -57,12 +57,6 @@ RSpec.describe FileMover do
.to change { tmp_upload.reload.attributes.values_at('model_id', 'model_type') }
.from([user.id, 'User']).to([snippet.id, 'Snippet'])
end
-
- it 'schedules a background migration' do
- expect_any_instance_of(PersonalFileUploader).to receive(:schedule_background_upload).once
-
- subject
- end
end
context 'when update_markdown fails' do
diff --git a/spec/uploaders/gitlab_uploader_spec.rb b/spec/uploaders/gitlab_uploader_spec.rb
index db70441aaf5..f62ab726631 100644
--- a/spec/uploaders/gitlab_uploader_spec.rb
+++ b/spec/uploaders/gitlab_uploader_spec.rb
@@ -6,7 +6,7 @@ require 'carrierwave/storage/fog'
RSpec.describe GitlabUploader do
let(:uploader_class) { Class.new(described_class) }
- subject { uploader_class.new(double) }
+ subject(:uploader) { uploader_class.new(double) }
describe '#file_storage?' do
context 'when file storage is used' do
@@ -161,6 +161,19 @@ RSpec.describe GitlabUploader do
end
end
+ describe '#multi_read' do
+ let(:file) { fixture_file_upload('spec/fixtures/trace/sample_trace', 'text/plain') }
+ let(:byte_offsets) { [[4, 10], [17, 29]] }
+
+ subject { uploader.multi_read(byte_offsets) }
+
+ before do
+ uploader.store!(file)
+ end
+
+ it { is_expected.to eq(%w[Running gitlab-runner]) }
+ end
+
describe '.version' do
subject { uploader_class.version }
diff --git a/spec/uploaders/lfs_object_uploader_spec.rb b/spec/uploaders/lfs_object_uploader_spec.rb
index d1a3fb243ac..b85892a42b5 100644
--- a/spec/uploaders/lfs_object_uploader_spec.rb
+++ b/spec/uploaders/lfs_object_uploader_spec.rb
@@ -25,28 +25,6 @@ RSpec.describe LfsObjectUploader do
store_dir: %r[\h{2}/\h{2}]
end
- describe 'migration to object storage' do
- context 'with object storage disabled' do
- it "is skipped" do
- expect(ObjectStorage::BackgroundMoveWorker).not_to receive(:perform_async)
-
- lfs_object
- end
- end
-
- context 'with object storage enabled' do
- before do
- stub_lfs_object_storage(background_upload: true)
- end
-
- it 'is scheduled to run after creation' do
- expect(ObjectStorage::BackgroundMoveWorker).to receive(:perform_async).with(described_class.name, 'LfsObject', :file, kind_of(Numeric))
-
- lfs_object
- end
- end
- end
-
describe 'remote file' do
let(:lfs_object) { create(:lfs_object, :object_storage, :with_file) }
@@ -56,8 +34,6 @@ RSpec.describe LfsObjectUploader do
end
it 'can store file remotely' do
- allow(ObjectStorage::BackgroundMoveWorker).to receive(:perform_async)
-
lfs_object
expect(lfs_object.file_store).to eq(described_class::Store::REMOTE)
diff --git a/spec/uploaders/packages/composer/cache_uploader_spec.rb b/spec/uploaders/packages/composer/cache_uploader_spec.rb
index a4ba4cc2a1e..7ceaa24f463 100644
--- a/spec/uploaders/packages/composer/cache_uploader_spec.rb
+++ b/spec/uploaders/packages/composer/cache_uploader_spec.rb
@@ -33,8 +33,6 @@ RSpec.describe Packages::Composer::CacheUploader do
end
it 'can store file remotely' do
- allow(ObjectStorage::BackgroundMoveWorker).to receive(:perform_async)
-
cache_file
expect(cache_file.file_store).to eq(described_class::Store::REMOTE)
diff --git a/spec/uploaders/packages/debian/component_file_uploader_spec.rb b/spec/uploaders/packages/debian/component_file_uploader_spec.rb
index de60ec94acf..bee82fb2715 100644
--- a/spec/uploaders/packages/debian/component_file_uploader_spec.rb
+++ b/spec/uploaders/packages/debian/component_file_uploader_spec.rb
@@ -38,8 +38,6 @@ RSpec.describe Packages::Debian::ComponentFileUploader do
end
it 'can store file remotely' do
- allow(ObjectStorage::BackgroundMoveWorker).to receive(:perform_async)
-
component_file
expect(component_file.file_store).to eq(described_class::Store::REMOTE)
diff --git a/spec/uploaders/packages/debian/distribution_release_file_uploader_spec.rb b/spec/uploaders/packages/debian/distribution_release_file_uploader_spec.rb
index dbbf69e3c8d..96655edb186 100644
--- a/spec/uploaders/packages/debian/distribution_release_file_uploader_spec.rb
+++ b/spec/uploaders/packages/debian/distribution_release_file_uploader_spec.rb
@@ -38,8 +38,6 @@ RSpec.describe Packages::Debian::DistributionReleaseFileUploader do
end
it 'can store file remotely' do
- allow(ObjectStorage::BackgroundMoveWorker).to receive(:perform_async)
-
distribution
expect(distribution.file_store).to eq(described_class::Store::REMOTE)
diff --git a/spec/uploaders/packages/package_file_uploader_spec.rb b/spec/uploaders/packages/package_file_uploader_spec.rb
index 0c7bf6432cb..7d270ad03c9 100644
--- a/spec/uploaders/packages/package_file_uploader_spec.rb
+++ b/spec/uploaders/packages/package_file_uploader_spec.rb
@@ -33,8 +33,6 @@ RSpec.describe Packages::PackageFileUploader do
end
it 'can store file remotely' do
- allow(ObjectStorage::BackgroundMoveWorker).to receive(:perform_async)
-
package_file
expect(package_file.file_store).to eq(described_class::Store::REMOTE)
diff --git a/spec/uploaders/packages/rpm/repository_file_uploader_spec.rb b/spec/uploaders/packages/rpm/repository_file_uploader_spec.rb
index 720e109533b..b3767ae179a 100644
--- a/spec/uploaders/packages/rpm/repository_file_uploader_spec.rb
+++ b/spec/uploaders/packages/rpm/repository_file_uploader_spec.rb
@@ -33,8 +33,6 @@ RSpec.describe Packages::Rpm::RepositoryFileUploader do
end
it 'can store file remotely' do
- allow(ObjectStorage::BackgroundMoveWorker).to receive(:perform_async)
-
repository_file
expect(repository_file.file_store).to eq(described_class::Store::REMOTE)
diff --git a/spec/uploaders/personal_file_uploader_spec.rb b/spec/uploaders/personal_file_uploader_spec.rb
index d2eae5d7a54..1373ccac23d 100644
--- a/spec/uploaders/personal_file_uploader_spec.rb
+++ b/spec/uploaders/personal_file_uploader_spec.rb
@@ -43,8 +43,8 @@ RSpec.describe PersonalFileUploader do
it 'builds correct paths for both local and remote storage' do
paths = uploader.upload_paths('test.jpg')
- expect(paths.first).to match(%r[\h+\/test.jpg])
- expect(paths.second).to match(%r[^personal_snippet\/\d+\/\h+\/test.jpg])
+ expect(paths.first).to match(%r[\h+/test.jpg])
+ expect(paths.second).to match(%r[^personal_snippet/\d+/\h+/test.jpg])
end
end
@@ -52,7 +52,7 @@ RSpec.describe PersonalFileUploader do
it_behaves_like 'builds correct paths',
store_dir: %r[uploads/-/system/personal_snippet/\d+/\h+],
upload_path: %r[\h+/\S+],
- absolute_path: %r[#{CarrierWave.root}/uploads/-/system/personal_snippet\/\d+\/\h+\/\S+$]
+ absolute_path: %r[#{CarrierWave.root}/uploads/-/system/personal_snippet/\d+/\h+/\S+$]
it_behaves_like '#base_dir'
it_behaves_like '#to_h'
@@ -67,7 +67,7 @@ RSpec.describe PersonalFileUploader do
it_behaves_like 'builds correct paths',
store_dir: %r[\d+/\h+],
- upload_path: %r[^personal_snippet\/\d+\/\h+\/<filename>]
+ upload_path: %r[^personal_snippet/\d+/\h+/<filename>]
it_behaves_like '#base_dir'
it_behaves_like '#to_h'
diff --git a/spec/uploaders/terraform/state_uploader_spec.rb b/spec/uploaders/terraform/state_uploader_spec.rb
index bd8e7fbc016..2c17edf4e67 100644
--- a/spec/uploaders/terraform/state_uploader_spec.rb
+++ b/spec/uploaders/terraform/state_uploader_spec.rb
@@ -72,12 +72,6 @@ RSpec.describe Terraform::StateUploader do
end
end
- describe '.background_upload_enabled?' do
- it 'returns false' do
- expect(described_class.background_upload_enabled?).to eq(false)
- end
- end
-
describe '.proxy_download_enabled?' do
it 'returns true' do
expect(described_class.proxy_download_enabled?).to eq(true)
diff --git a/spec/uploaders/workers/object_storage/background_move_worker_spec.rb b/spec/uploaders/workers/object_storage/background_move_worker_spec.rb
deleted file mode 100644
index a481939ed7a..00000000000
--- a/spec/uploaders/workers/object_storage/background_move_worker_spec.rb
+++ /dev/null
@@ -1,116 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe ObjectStorage::BackgroundMoveWorker do
- let(:local) { ObjectStorage::Store::LOCAL }
- let(:remote) { ObjectStorage::Store::REMOTE }
-
- def perform
- described_class.perform_async(uploader_class.name, subject_class, file_field, subject_id)
- end
-
- context 'for LFS' do
- let!(:lfs_object) { create(:lfs_object, :with_file, file_store: local) }
- let(:uploader_class) { LfsObjectUploader }
- let(:subject_class) { LfsObject }
- let(:file_field) { :file }
- let(:subject_id) { lfs_object.id }
-
- context 'when object storage is enabled' do
- before do
- stub_lfs_object_storage(background_upload: true)
- end
-
- it 'uploads object to storage', :sidekiq_might_not_need_inline do
- expect { perform }.to change { lfs_object.reload.file_store }.from(local).to(remote)
- end
-
- context 'when background upload is disabled' do
- before do
- allow(Gitlab.config.lfs.object_store).to receive(:background_upload) { false }
- end
-
- it 'is skipped' do
- expect { perform }.not_to change { lfs_object.reload.file_store }
- end
- end
- end
-
- context 'when object storage is disabled' do
- before do
- stub_lfs_object_storage(enabled: false)
- end
-
- it "doesn't migrate files" do
- perform
-
- expect(lfs_object.reload.file_store).to eq(local)
- end
- end
- end
-
- context 'for job artifacts' do
- let(:artifact) { create(:ci_job_artifact, :archive) }
- let(:uploader_class) { JobArtifactUploader }
- let(:subject_class) { Ci::JobArtifact }
- let(:file_field) { :file }
- let(:subject_id) { artifact.id }
-
- context 'when local storage is used' do
- let(:store) { local }
-
- context 'and remote storage is defined' do
- before do
- stub_artifacts_object_storage(background_upload: true)
- end
-
- it "migrates file to remote storage", :sidekiq_might_not_need_inline do
- perform
-
- expect(artifact.reload.file_store).to eq(remote)
- end
- end
- end
- end
-
- context 'for uploads' do
- let!(:project) { create(:project, :with_avatar) }
- let(:uploader_class) { AvatarUploader }
- let(:file_field) { :avatar }
-
- context 'when local storage is used' do
- let(:store) { local }
-
- context 'and remote storage is defined' do
- before do
- stub_uploads_object_storage(uploader_class, background_upload: true)
- end
-
- describe 'supports using the model' do
- let(:subject_class) { project.class }
- let(:subject_id) { project.id }
-
- it "migrates file to remote storage", :sidekiq_might_not_need_inline do
- perform
- project.reload
- BatchLoader::Executor.clear_current
-
- expect(project.avatar).not_to be_file_storage
- end
- end
-
- describe 'supports using the Upload' do
- let(:subject_class) { Upload }
- let(:subject_id) { project.avatar.upload.id }
-
- it "migrates file to remote storage", :sidekiq_might_not_need_inline do
- perform
-
- expect(project.reload.avatar).not_to be_file_storage
- end
- end
- end
- end
- end
-end