diff options
author | Rubén Dávila <rdavila84@gmail.com> | 2016-05-18 21:16:36 -0500 |
---|---|---|
committer | Rubén Dávila <rdavila84@gmail.com> | 2016-05-18 21:16:36 -0500 |
commit | 0c47b68d0474b595bb03a49ce755c96f5d00fbf1 (patch) | |
tree | 3c5b4dc75958ad40960cde6f4967fc375222d826 /spec/workers | |
parent | 28eea9bdfd0b28ad044f76bd4fcf988329ca9921 (diff) | |
download | gitlab-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.rb | 26 |
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 |