Call update hook from new GitHooksService class. #3069
This commit is contained in:
parent
5145706c82
commit
338eb2c41e
3 changed files with 19 additions and 10 deletions
|
@ -8,9 +8,7 @@ class GitHooksService
|
||||||
@newrev = newrev
|
@newrev = newrev
|
||||||
@ref = ref
|
@ref = ref
|
||||||
|
|
||||||
pre_status = run_hook('pre-receive')
|
if run_hook('pre-receive') && run_hook('update')
|
||||||
|
|
||||||
if pre_status
|
|
||||||
yield
|
yield
|
||||||
|
|
||||||
run_hook('post-receive')
|
run_hook('post-receive')
|
||||||
|
|
|
@ -107,7 +107,7 @@ describe Repository do
|
||||||
context 'when pre hooks were successful' do
|
context 'when pre hooks were successful' do
|
||||||
it 'should run without errors' do
|
it 'should run without errors' do
|
||||||
hook = double(trigger: true)
|
hook = double(trigger: true)
|
||||||
expect(Gitlab::Git::Hook).to receive(:new).twice.and_return(hook)
|
expect(Gitlab::Git::Hook).to receive(:new).exactly(3).times.and_return(hook)
|
||||||
|
|
||||||
expect { repository.add_branch(user, 'new_feature', 'master') }.not_to raise_error
|
expect { repository.add_branch(user, 'new_feature', 'master') }.not_to raise_error
|
||||||
end
|
end
|
||||||
|
|
|
@ -17,16 +17,17 @@ describe GitHooksService do
|
||||||
|
|
||||||
describe '#execute' do
|
describe '#execute' do
|
||||||
|
|
||||||
context 'when pre hooks were successful' do
|
context 'when receive hooks were successful' do
|
||||||
it 'should call post hooks' do
|
it 'should call post-receive hook' do
|
||||||
expect(service).to receive(:run_hook).with('pre-receive').and_return(true)
|
hook = double(trigger: true)
|
||||||
expect(service).to receive(:run_hook).with('post-receive').and_return(true)
|
expect(Gitlab::Git::Hook).to receive(:new).exactly(3).times.and_return(hook)
|
||||||
|
|
||||||
expect(service.execute(user, @repo_path, @blankrev, @newrev, @ref) { }).to eq(true)
|
expect(service.execute(user, @repo_path, @blankrev, @newrev, @ref) { }).to eq(true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when pre hooks failed' do
|
context 'when pre-receive hook failed' do
|
||||||
it 'should not call post hooks' do
|
it 'should not call post-receive hook' do
|
||||||
expect(service).to receive(:run_hook).with('pre-receive').and_return(false)
|
expect(service).to receive(:run_hook).with('pre-receive').and_return(false)
|
||||||
expect(service).not_to receive(:run_hook).with('post-receive')
|
expect(service).not_to receive(:run_hook).with('post-receive')
|
||||||
|
|
||||||
|
@ -34,5 +35,15 @@ describe GitHooksService do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
context 'when update hook failed' do
|
||||||
|
it 'should not call post-receive hook' do
|
||||||
|
expect(service).to receive(:run_hook).with('pre-receive').and_return(true)
|
||||||
|
expect(service).to receive(:run_hook).with('update').and_return(false)
|
||||||
|
expect(service).not_to receive(:run_hook).with('post-receive')
|
||||||
|
|
||||||
|
service.execute(user, @repo_path, @blankrev, @newrev, @ref)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue