summaryrefslogtreecommitdiff
path: root/spec/workers
diff options
context:
space:
mode:
authorRubén Dávila <rdavila84@gmail.com>2016-05-18 21:16:36 -0500
committerRubén Dávila <rdavila84@gmail.com>2016-05-18 21:16:36 -0500
commit0c47b68d0474b595bb03a49ce755c96f5d00fbf1 (patch)
tree3c5b4dc75958ad40960cde6f4967fc375222d826 /spec/workers
parent28eea9bdfd0b28ad044f76bd4fcf988329ca9921 (diff)
downloadgitlab-ce-0c47b68d0474b595bb03a49ce755c96f5d00fbf1.tar.gz
Mask credentials from URL when import of project has failed.
Diffstat (limited to 'spec/workers')
-rw-r--r--spec/workers/repository_import_worker_spec.rb26
1 files changed, 20 insertions, 6 deletions
diff --git a/spec/workers/repository_import_worker_spec.rb b/spec/workers/repository_import_worker_spec.rb
index 6739063543b..f1b1574abf4 100644
--- a/spec/workers/repository_import_worker_spec.rb
+++ b/spec/workers/repository_import_worker_spec.rb
@@ -6,14 +6,28 @@ describe RepositoryImportWorker do
subject { described_class.new }
describe '#perform' do
- it 'imports a project' do
- expect_any_instance_of(Projects::ImportService).to receive(:execute).
- and_return({ status: :ok })
+ context 'when the import was successful' do
+ it 'imports a project' do
+ expect_any_instance_of(Projects::ImportService).to receive(:execute).
+ and_return({ status: :ok })
- expect_any_instance_of(Repository).to receive(:expire_emptiness_caches)
- expect_any_instance_of(Project).to receive(:import_finish)
+ expect_any_instance_of(Repository).to receive(:expire_emptiness_caches)
+ expect_any_instance_of(Project).to receive(:import_finish)
- subject.perform(project.id)
+ subject.perform(project.id)
+ end
+ end
+
+ context 'when the import has failed' do
+ it 'hide the credentials that were used in the import URL' do
+ error = %Q{remote: Not Found fatal: repository 'https://user:pass@test.com/root/repoC.git/' not found }
+ expect_any_instance_of(Projects::ImportService).to receive(:execute).
+ and_return({ status: :error, message: error })
+
+ subject.perform(project.id)
+
+ expect(project.reload.import_error).to include("https://*****:*****@test.com/root/repoC.git/")
+ end
end
end
end