diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-12 09:09:55 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-12 09:09:55 +0000 |
commit | 18f7828977b74bf6e5153594a098ef90e773b3b7 (patch) | |
tree | 49cb1e16d5341d773807ee583357ae6eb167d61f /spec/requests/api/project_export_spec.rb | |
parent | 8191b1571c017378eac33b3ed296ad5216d0a410 (diff) | |
download | gitlab-ce-18f7828977b74bf6e5153594a098ef90e773b3b7.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/requests/api/project_export_spec.rb')
-rw-r--r-- | spec/requests/api/project_export_spec.rb | 53 |
1 files changed, 32 insertions, 21 deletions
diff --git a/spec/requests/api/project_export_spec.rb b/spec/requests/api/project_export_spec.rb index d5c822385da..859a3cca44f 100644 --- a/spec/requests/api/project_export_spec.rb +++ b/spec/requests/api/project_export_spec.rb @@ -27,12 +27,9 @@ describe API::ProjectExport, :clean_gitlab_redis_cache do before do allow_any_instance_of(Gitlab::ImportExport).to receive(:storage_path).and_return(export_path) - - # simulate exporting work directory - FileUtils.mkdir_p File.join(project_started.export_path, 'securerandom-hex') - - # simulate in after export action - FileUtils.touch File.join(project_after_export.import_export_shared.lock_files_path, SecureRandom.hex) + allow_next_instance_of(ProjectExportWorker) do |job| + allow(job).to receive(:jid).and_return(SecureRandom.hex(8)) + end end after do @@ -82,28 +79,42 @@ describe API::ProjectExport, :clean_gitlab_redis_cache do expect(json_response['export_status']).to eq('none') end - it 'is started' do - get api(path_started, user) + context 'when project export has started' do + before do + create(:project_export_job, project: project_started, status: 1) + end - expect(response).to have_gitlab_http_status(:ok) - expect(response).to match_response_schema('public_api/v4/project/export_status') - expect(json_response['export_status']).to eq('started') + it 'returns status started' do + get api(path_started, user) + + expect(response).to have_gitlab_http_status(:ok) + expect(response).to match_response_schema('public_api/v4/project/export_status') + expect(json_response['export_status']).to eq('started') + end end - it 'is after_export' do - get api(path_after_export, user) + context 'when project export has finished' do + it 'returns status finished' do + get api(path_finished, user) - expect(response).to have_gitlab_http_status(:ok) - expect(response).to match_response_schema('public_api/v4/project/export_status') - expect(json_response['export_status']).to eq('after_export_action') + expect(response).to have_gitlab_http_status(:ok) + expect(response).to match_response_schema('public_api/v4/project/export_status') + expect(json_response['export_status']).to eq('finished') + end end - it 'is finished' do - get api(path_finished, user) + context 'when project export is being regenerated' do + before do + create(:project_export_job, project: project_finished, status: 1) + end + + it 'returns status regeneration_in_progress' do + get api(path_finished, user) - expect(response).to have_gitlab_http_status(:ok) - expect(response).to match_response_schema('public_api/v4/project/export_status') - expect(json_response['export_status']).to eq('finished') + expect(response).to have_gitlab_http_status(:ok) + expect(response).to match_response_schema('public_api/v4/project/export_status') + expect(json_response['export_status']).to eq('regeneration_in_progress') + end end end |