diff options
author | James Lopez <james@jameslopez.es> | 2018-02-12 16:02:15 +0100 |
---|---|---|
committer | James Lopez <james@jameslopez.es> | 2018-02-13 15:25:48 +0100 |
commit | 7ec1a022b79c68dd3232c0abf07d119f0dad808f (patch) | |
tree | a0c9838f86163dad5e218daba99038caf3ce0adf | |
parent | 516d33f5ac8f65d8d69d1e5e88efbf0faabbe0eb (diff) | |
download | gitlab-ce-7ec1a022b79c68dd3232c0abf07d119f0dad808f.tar.gz |
fix file upload
-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 |