diff options
author | Stan Hu <stan@gitlab.com> | 2018-01-04 05:42:52 +0000 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2018-01-16 17:04:38 -0800 |
commit | 1f96512ba189d1eceb01353ca41c1cb6216d32c1 (patch) | |
tree | e838b79b23e24ef042dc189a2112ac7ec10a8190 /spec/services/projects/gitlab_projects_import_service_spec.rb | |
parent | 8f4b06137577f868ffaa41d10c27aa1e763bc825 (diff) | |
download | gitlab-ce-1f96512ba189d1eceb01353ca41c1cb6216d32c1.tar.gz |
Merge branch 'sh-validate-path-project-import-10-3' into 'security-10-3'
Validate project path in Gitlab import - 10.3 port
See merge request gitlab/gitlabhq!2268
(cherry picked from commit 94c82376d66fc80d46dd2d5eeb5bade408ec6a7e)
2b94a7c2 Validate project path in Gitlab import
Diffstat (limited to 'spec/services/projects/gitlab_projects_import_service_spec.rb')
-rw-r--r-- | spec/services/projects/gitlab_projects_import_service_spec.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/services/projects/gitlab_projects_import_service_spec.rb b/spec/services/projects/gitlab_projects_import_service_spec.rb new file mode 100644 index 00000000000..bb0e274c93e --- /dev/null +++ b/spec/services/projects/gitlab_projects_import_service_spec.rb @@ -0,0 +1,31 @@ +require 'spec_helper' + +describe Projects::GitlabProjectsImportService do + set(:namespace) { build(:namespace) } + let(:file) { fixture_file_upload(Rails.root + 'spec/fixtures/doc_sample.txt', 'text/plain') } + subject { described_class.new(namespace.owner, { namespace_id: namespace.id, path: path, file: file }) } + + describe '#execute' do + context 'with an invalid path' do + let(:path) { '/invalid-path/' } + + it 'returns an invalid project' do + project = subject.execute + + expect(project).not_to be_persisted + expect(project).not_to be_valid + end + end + + context 'with a valid path' do + let(:path) { 'test-path' } + + it 'creates a project' do + project = subject.execute + + expect(project).to be_persisted + expect(project).to be_valid + end + end + end +end |