summaryrefslogtreecommitdiff
path: root/spec/services/projects/gitlab_projects_import_service_spec.rb
diff options
context:
space:
mode:
authorStan Hu <stan@gitlab.com>2018-01-04 05:42:52 +0000
committerStan Hu <stanhu@gmail.com>2018-01-16 17:04:38 -0800
commit1f96512ba189d1eceb01353ca41c1cb6216d32c1 (patch)
treee838b79b23e24ef042dc189a2112ac7ec10a8190 /spec/services/projects/gitlab_projects_import_service_spec.rb
parent8f4b06137577f868ffaa41d10c27aa1e763bc825 (diff)
downloadgitlab-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.rb31
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