Properly set the expectation on the main object
This commit is contained in:
parent
5d963fccab
commit
77f10d55de
|
|
@ -5,11 +5,15 @@ module RakeHelpers
|
|||
end
|
||||
|
||||
def stub_warn_user_is_not_gitlab
|
||||
allow_any_instance_of(Object).to receive(:warn_user_is_not_gitlab)
|
||||
allow(main_object).to receive(:warn_user_is_not_gitlab)
|
||||
end
|
||||
|
||||
def silence_output
|
||||
allow($stdout).to receive(:puts)
|
||||
allow($stdout).to receive(:print)
|
||||
allow(main_object).to receive(:puts)
|
||||
allow(main_object).to receive(:print)
|
||||
end
|
||||
|
||||
def main_object
|
||||
@main_object ||= TOPLEVEL_BINDING.eval('self')
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ describe 'gitlab:gitaly namespace rake task' do
|
|||
|
||||
context 'when an underlying Git command fail' do
|
||||
it 'aborts and display a help message' do
|
||||
expect_any_instance_of(Object)
|
||||
expect(main_object)
|
||||
.to receive(:checkout_or_clone_version).and_raise 'Git error'
|
||||
|
||||
expect { run_rake_task('gitlab:gitaly:install', clone_path) }.to raise_error 'Git error'
|
||||
|
|
@ -33,7 +33,7 @@ describe 'gitlab:gitaly namespace rake task' do
|
|||
end
|
||||
|
||||
it 'calls checkout_or_clone_version with the right arguments' do
|
||||
expect_any_instance_of(Object)
|
||||
expect(main_object)
|
||||
.to receive(:checkout_or_clone_version).with(version: version, repo: repo, target_dir: clone_path)
|
||||
|
||||
run_rake_task('gitlab:gitaly:install', clone_path)
|
||||
|
|
@ -58,13 +58,13 @@ describe 'gitlab:gitaly namespace rake task' do
|
|||
|
||||
context 'gmake is available' do
|
||||
before do
|
||||
expect_any_instance_of(Object).to receive(:checkout_or_clone_version)
|
||||
allow_any_instance_of(Object).to receive(:run_command!).with(command_preamble + ['gmake']).and_return(true)
|
||||
expect(main_object).to receive(:checkout_or_clone_version)
|
||||
allow(main_object).to receive(:run_command!).with(command_preamble + ['gmake']).and_return(true)
|
||||
end
|
||||
|
||||
it 'calls gmake in the gitaly directory' do
|
||||
expect(Gitlab::Popen).to receive(:popen).with(%w[which gmake]).and_return(['/usr/bin/gmake', 0])
|
||||
expect_any_instance_of(Object).to receive(:run_command!).with(command_preamble + ['gmake']).and_return(true)
|
||||
expect(main_object).to receive(:run_command!).with(command_preamble + ['gmake']).and_return(true)
|
||||
|
||||
run_rake_task('gitlab:gitaly:install', clone_path)
|
||||
end
|
||||
|
|
@ -72,13 +72,13 @@ describe 'gitlab:gitaly namespace rake task' do
|
|||
|
||||
context 'gmake is not available' do
|
||||
before do
|
||||
expect_any_instance_of(Object).to receive(:checkout_or_clone_version)
|
||||
allow_any_instance_of(Object).to receive(:run_command!).with(command_preamble + ['make']).and_return(true)
|
||||
expect(main_object).to receive(:checkout_or_clone_version)
|
||||
allow(main_object).to receive(:run_command!).with(command_preamble + ['make']).and_return(true)
|
||||
end
|
||||
|
||||
it 'calls make in the gitaly directory' do
|
||||
expect(Gitlab::Popen).to receive(:popen).with(%w[which gmake]).and_return(['', 42])
|
||||
expect_any_instance_of(Object).to receive(:run_command!).with(command_preamble + ['make']).and_return(true)
|
||||
expect(main_object).to receive(:run_command!).with(command_preamble + ['make']).and_return(true)
|
||||
|
||||
run_rake_task('gitlab:gitaly:install', clone_path)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ describe 'gitlab:workhorse namespace rake task' do
|
|||
|
||||
context 'when an underlying Git command fail' do
|
||||
it 'aborts and display a help message' do
|
||||
expect_any_instance_of(Object)
|
||||
expect(main_object)
|
||||
.to receive(:checkout_or_clone_version).and_raise 'Git error'
|
||||
|
||||
expect { run_rake_task('gitlab:workhorse:install', clone_path) }.to raise_error 'Git error'
|
||||
|
|
@ -33,7 +33,7 @@ describe 'gitlab:workhorse namespace rake task' do
|
|||
end
|
||||
|
||||
it 'calls checkout_or_clone_version with the right arguments' do
|
||||
expect_any_instance_of(Object)
|
||||
expect(main_object)
|
||||
.to receive(:checkout_or_clone_version).with(version: version, repo: repo, target_dir: clone_path)
|
||||
|
||||
run_rake_task('gitlab:workhorse:install', clone_path)
|
||||
|
|
@ -48,13 +48,13 @@ describe 'gitlab:workhorse namespace rake task' do
|
|||
|
||||
context 'gmake is available' do
|
||||
before do
|
||||
expect_any_instance_of(Object).to receive(:checkout_or_clone_version)
|
||||
allow_any_instance_of(Object).to receive(:run_command!).with(['gmake']).and_return(true)
|
||||
expect(main_object).to receive(:checkout_or_clone_version)
|
||||
allow(Object).to receive(:run_command!).with(['gmake']).and_return(true)
|
||||
end
|
||||
|
||||
it 'calls gmake in the gitlab-workhorse directory' do
|
||||
expect(Gitlab::Popen).to receive(:popen).with(%w[which gmake]).and_return(['/usr/bin/gmake', 0])
|
||||
expect_any_instance_of(Object).to receive(:run_command!).with(['gmake']).and_return(true)
|
||||
expect(main_object).to receive(:run_command!).with(['gmake']).and_return(true)
|
||||
|
||||
run_rake_task('gitlab:workhorse:install', clone_path)
|
||||
end
|
||||
|
|
@ -62,13 +62,13 @@ describe 'gitlab:workhorse namespace rake task' do
|
|||
|
||||
context 'gmake is not available' do
|
||||
before do
|
||||
expect_any_instance_of(Object).to receive(:checkout_or_clone_version)
|
||||
allow_any_instance_of(Object).to receive(:run_command!).with(['make']).and_return(true)
|
||||
expect(main_object).to receive(:checkout_or_clone_version)
|
||||
allow(main_object).to receive(:run_command!).with(['make']).and_return(true)
|
||||
end
|
||||
|
||||
it 'calls make in the gitlab-workhorse directory' do
|
||||
expect(Gitlab::Popen).to receive(:popen).with(%w[which gmake]).and_return(['', 42])
|
||||
expect_any_instance_of(Object).to receive(:run_command!).with(['make']).and_return(true)
|
||||
expect(main_object).to receive(:run_command!).with(['make']).and_return(true)
|
||||
|
||||
run_rake_task('gitlab:workhorse:install', clone_path)
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in New Issue