summaryrefslogtreecommitdiff
path: root/spec/support
diff options
context:
space:
mode:
Diffstat (limited to 'spec/support')
-rw-r--r--spec/support/shared_contexts/lib/gitlab/import_export/project/rake_task_object_storage_shared_context.rb17
-rw-r--r--spec/support/shared_examples/lib/gitlab/import_export/project/rake_task_object_storage_shared_examples.rb22
2 files changed, 39 insertions, 0 deletions
diff --git a/spec/support/shared_contexts/lib/gitlab/import_export/project/rake_task_object_storage_shared_context.rb b/spec/support/shared_contexts/lib/gitlab/import_export/project/rake_task_object_storage_shared_context.rb
new file mode 100644
index 00000000000..dc1a52e3629
--- /dev/null
+++ b/spec/support/shared_contexts/lib/gitlab/import_export/project/rake_task_object_storage_shared_context.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+RSpec.shared_context 'rake task object storage shared context' do
+ before do
+ allow(Settings.uploads.object_store).to receive(:[]=).and_call_original
+ end
+
+ around do |example|
+ old_object_store_setting = Settings.uploads.object_store['enabled']
+
+ Settings.uploads.object_store['enabled'] = true
+
+ example.run
+
+ Settings.uploads.object_store['enabled'] = old_object_store_setting
+ end
+end
diff --git a/spec/support/shared_examples/lib/gitlab/import_export/project/rake_task_object_storage_shared_examples.rb b/spec/support/shared_examples/lib/gitlab/import_export/project/rake_task_object_storage_shared_examples.rb
new file mode 100644
index 00000000000..d6dc89a2c15
--- /dev/null
+++ b/spec/support/shared_examples/lib/gitlab/import_export/project/rake_task_object_storage_shared_examples.rb
@@ -0,0 +1,22 @@
+# frozen_string_literal: true
+
+RSpec.shared_examples 'rake task with disabled object_storage' do |service_class, method|
+ it 'disables direct & background upload only for service call' do
+ expect_next_instance_of(service_class) do |service|
+ expect(service).to receive(:execute).and_wrap_original do |m|
+ expect(Settings.uploads.object_store['enabled']).to eq(false)
+
+ m.call
+ end
+ end
+
+ expect(rake_task).to receive(method).and_wrap_original do |m, *args|
+ expect(Settings.uploads.object_store['enabled']).to eq(true)
+ expect(Settings.uploads.object_store).not_to receive(:[]=).with('enabled', false)
+
+ m.call(*args)
+ end
+
+ subject
+ end
+end