diff options
-rw-r--r-- | lib/api/project_import.rb | 7 | ||||
-rw-r--r-- | spec/requests/api/project_import_spec.rb | 4 |
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 |