summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/import_export/project/import_task_spec.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-05-20 14:34:42 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-05-20 14:34:42 +0000
commit9f46488805e86b1bc341ea1620b866016c2ce5ed (patch)
treef9748c7e287041e37d6da49e0a29c9511dc34768 /spec/lib/gitlab/import_export/project/import_task_spec.rb
parentdfc92d081ea0332d69c8aca2f0e745cb48ae5e6d (diff)
downloadgitlab-ce-9f46488805e86b1bc341ea1620b866016c2ce5ed.tar.gz
Add latest changes from gitlab-org/gitlab@13-0-stable-ee
Diffstat (limited to 'spec/lib/gitlab/import_export/project/import_task_spec.rb')
-rw-r--r--spec/lib/gitlab/import_export/project/import_task_spec.rb49
1 files changed, 6 insertions, 43 deletions
diff --git a/spec/lib/gitlab/import_export/project/import_task_spec.rb b/spec/lib/gitlab/import_export/project/import_task_spec.rb
index 4f4fcd3ad8a..7c11161aaa7 100644
--- a/spec/lib/gitlab/import_export/project/import_task_spec.rb
+++ b/spec/lib/gitlab/import_export/project/import_task_spec.rb
@@ -8,7 +8,7 @@ describe Gitlab::ImportExport::Project::ImportTask, :request_store do
let!(:user) { create(:user, username: username) }
let(:measurement_enabled) { false }
let(:project) { Project.find_by_full_path("#{namespace_path}/#{project_name}") }
- let(:import_task) { described_class.new(task_params) }
+ let(:rake_task) { described_class.new(task_params) }
let(:task_params) do
{
username: username,
@@ -19,29 +19,16 @@ describe Gitlab::ImportExport::Project::ImportTask, :request_store do
}
end
- before do
- allow(Settings.uploads.object_store).to receive(:[]=).and_call_original
- end
-
- around do |example|
- old_direct_upload_setting = Settings.uploads.object_store['direct_upload']
- old_background_upload_setting = Settings.uploads.object_store['background_upload']
-
- Settings.uploads.object_store['direct_upload'] = true
- Settings.uploads.object_store['background_upload'] = true
-
- example.run
-
- Settings.uploads.object_store['direct_upload'] = old_direct_upload_setting
- Settings.uploads.object_store['background_upload'] = old_background_upload_setting
- end
-
- subject { import_task.import }
+ subject { rake_task.import }
context 'when project import is valid' do
let(:project_name) { 'import_rake_test_project' }
let(:file_path) { 'spec/fixtures/gitlab/import_export/lightweight_project_export.tar.gz' }
+ include_context 'rake task object storage shared context'
+
+ it_behaves_like 'rake task with disabled object_storage', ::Projects::GitlabProjectsImportService, :execute_sidekiq_job
+
it 'performs project import successfully' do
expect { subject }.to output(/Done!/).to_stdout
expect { subject }.not_to raise_error
@@ -52,30 +39,6 @@ describe Gitlab::ImportExport::Project::ImportTask, :request_store do
expect(project.milestones.count).to be > 0
expect(project.import_state.status).to eq('finished')
end
-
- it 'disables direct & background upload only during project creation' do
- expect_next_instance_of(Projects::GitlabProjectsImportService) do |service|
- expect(service).to receive(:execute).and_wrap_original do |m|
- expect(Settings.uploads.object_store['background_upload']).to eq(false)
- expect(Settings.uploads.object_store['direct_upload']).to eq(false)
-
- m.call
- end
- end
-
- expect(import_task).to receive(:execute_sidekiq_job).and_wrap_original do |m|
- expect(Settings.uploads.object_store['background_upload']).to eq(true)
- expect(Settings.uploads.object_store['direct_upload']).to eq(true)
- expect(Settings.uploads.object_store).not_to receive(:[]=).with('backgroud_upload', false)
- expect(Settings.uploads.object_store).not_to receive(:[]=).with('direct_upload', false)
-
- m.call
- end
-
- subject
- end
-
- it_behaves_like 'measurable'
end
context 'when project import is invalid' do