Fix: CI token removal regression from build trace

This commit is contained in:
Kamil Trzcinski 2015-10-01 11:43:06 +02:00
parent 9d8257238e
commit 0e54847339
2 changed files with 21 additions and 7 deletions

View file

@ -143,12 +143,6 @@ module Ci
html ||= '' html ||= ''
end end
def trace
if project && read_attribute(:trace).present?
read_attribute(:trace).gsub(project.token, 'xxxxxx')
end
end
def started? def started?
!pending? && !canceled? && started_at !pending? && !canceled? && started_at
end end
@ -223,7 +217,7 @@ module Ci
end end
end end
def trace def raw_trace
if File.exist?(path_to_trace) if File.exist?(path_to_trace)
File.read(path_to_trace) File.read(path_to_trace)
else else
@ -232,6 +226,15 @@ module Ci
end end
end end
def trace
trace = raw_trace
if project && trace.present?
trace.gsub(project.token, 'xxxxxx')
else
trace
end
end
def trace=(trace) def trace=(trace)
unless Dir.exists? dir_to_trace unless Dir.exists? dir_to_trace
FileUtils.mkdir_p dir_to_trace FileUtils.mkdir_p dir_to_trace

View file

@ -178,6 +178,17 @@ describe Ci::Build do
it { is_expected.to include(text) } it { is_expected.to include(text) }
it { expect(subject.length).to be >= text.length } it { expect(subject.length).to be >= text.length }
end end
context 'if build.trace hides token' do
let(:token) { 'my_secret_token' }
before do
build.project.update_attributes(token: token)
build.update_attributes(trace: token)
end
it { is_expected.to_not include(token) }
end
end end
describe :timeout do describe :timeout do