diff options
author | Marvin Frick <marvin.frick@sinnerschrader.com> | 2014-06-10 23:21:28 +0400 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2015-12-22 02:28:19 +0300 |
commit | 0d05400bdee182de0564e4b0ac85f9365aa76adb (patch) | |
tree | f9705b319f0fd5e31daec2b6a42f19d978c1f0c3 | |
parent | 4156a37aecb83155752d84f44f800dcffb61741e (diff) |
removes api credentials from link to build_page
Also adds a spec for MergeRequestHelper to avoid having a regression
later on.
-rw-r--r-- | app/helpers/merge_requests_helper.rb | 9 | ||||
-rw-r--r-- | spec/helpers/merge_request_helper_spec.rb | 22 |
2 files changed, 30 insertions, 1 deletions
diff --git a/app/helpers/merge_requests_helper.rb b/app/helpers/merge_requests_helper.rb index 6c32647594d..9a9eaa05c6d 100644 --- a/app/helpers/merge_requests_helper.rb +++ b/app/helpers/merge_requests_helper.rb @@ -27,7 +27,14 @@ module MergeRequestsHelper end def ci_build_details_path(merge_request) - merge_request.source_project.ci_service.build_page(merge_request.last_commit.sha, merge_request.source_branch) + build_url = merge_request.source_project.ci_service.build_page(merge_request.last_commit.sha, merge_request.source_branch) + parsed_url = URI.parse(build_url) + + unless parsed_url.userinfo.blank? + parsed_url.userinfo = '' + end + + parsed_url.to_s end def merge_path_description(merge_request, separator) diff --git a/spec/helpers/merge_request_helper_spec.rb b/spec/helpers/merge_request_helper_spec.rb new file mode 100644 index 00000000000..5363511706e --- /dev/null +++ b/spec/helpers/merge_request_helper_spec.rb @@ -0,0 +1,22 @@ +require "spec_helper" + +describe MergeRequestsHelper do + let(:project) { create :project } + let(:merge_request) { MergeRequest.new } + let(:ci_service) { CiService.new } + let(:last_commit) { Commit.new({}) } + + before do + merge_request.stub(:source_project) { project } + merge_request.stub(:last_commit) { last_commit } + project.stub(:ci_service) { ci_service } + last_commit.stub(:sha) { '12d65c' } + end + + describe :ci_build_details_path do + it 'does not include api credentials in a link' do + ci_service.stub(:build_page) { "http://secretuser:secretpass@jenkins.example.com:8888/job/test1/scm/bySHA1/12d65c" } + expect(ci_build_details_path(merge_request)).to_not match("secret") + end + end +end
\ No newline at end of file |