summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/api/project_import.rb7
-rw-r--r--spec/requests/api/project_import_spec.rb4
2 files changed, 6 insertions, 5 deletions
diff --git a/lib/api/project_import.rb b/lib/api/project_import.rb
index 1b63f4d4d9f..5a4e4189a58 100644
--- a/lib/api/project_import.rb
+++ b/lib/api/project_import.rb
@@ -8,7 +8,7 @@ module API
end
def file_is_valid?
- import_params[:file] && import_params[:file].respond_to?(:read)
+ import_params[:file] && import_params[:file]['tempfile'].respond_to?(:read)
end
end
@@ -26,7 +26,7 @@ module API
success Entities::ProjectImportStatus
end
post 'import' do
- render_api_error!('The branch refname is invalid', 400) unless file_is_valid?
+ render_api_error!('The file is invalid', 400) unless file_is_valid?
namespace = import_params[:namespace]
@@ -38,7 +38,8 @@ module API
Namespace.find_by_path_or_name(namespace)
end
- project_params = import_params.merge(namespace_id: namespace.id)
+ project_params = import_params.merge(namespace_id: namespace.id,
+ file: import_params[:file]['tempfile'])
project = ::Projects::GitlabProjectsImportService.new(current_user, project_params).execute
diff --git a/spec/requests/api/project_import_spec.rb b/spec/requests/api/project_import_spec.rb
index 0875c1cc149..3c9a05f93ea 100644
--- a/spec/requests/api/project_import_spec.rb
+++ b/spec/requests/api/project_import_spec.rb
@@ -19,9 +19,9 @@ describe API::ProjectImport do
it 'schedules an import' do
expect_any_instance_of(Project).to receive(:import_schedule)
- post api('/projects/import', user), path: 'test-import', file: file, namespace: namespace.full_path
+ post api('/projects/import', user), path: 'test-import', file: fixture_file_upload(file), namespace: namespace.full_path
- expect(response).to have_gitlab_http_status(200)
+ expect(response).to have_gitlab_http_status(201)
expect(Project.find_by_name('test-import').first.status).to eq('started')
end