diff options
Diffstat (limited to 'spec/lib/api/ci/helpers/runner_spec.rb')
| -rw-r--r-- | spec/lib/api/ci/helpers/runner_spec.rb | 68 |
1 files changed, 19 insertions, 49 deletions
diff --git a/spec/lib/api/ci/helpers/runner_spec.rb b/spec/lib/api/ci/helpers/runner_spec.rb index 7efce9ca2bc..06ec0396ab1 100644 --- a/spec/lib/api/ci/helpers/runner_spec.rb +++ b/spec/lib/api/ci/helpers/runner_spec.rb @@ -73,68 +73,38 @@ RSpec.describe API::Ci::Helpers::Runner do subject(:current_runner_manager) { helper.current_runner_manager } - context 'with create_runner_machine FF enabled' do + context 'when runner manager already exists' do before do - stub_feature_flags(create_runner_machine: true) + allow(helper).to receive(:params).and_return(token: runner.token, system_id: runner_manager.system_xid) end - context 'when runner manager already exists' do - before do - allow(helper).to receive(:params).and_return(token: runner.token, system_id: runner_manager.system_xid) - end + it { is_expected.to eq(runner_manager) } - it { is_expected.to eq(runner_manager) } - - it 'does not update the contacted_at field' do - expect(current_runner_manager.contacted_at).to eq 1.hour.ago - end - end - - context 'when runner manager cannot be found' do - it 'creates a new runner manager', :aggregate_failures do - allow(helper).to receive(:params).and_return(token: runner.token, system_id: 'new_system_id') - - expect { current_runner_manager }.to change { Ci::RunnerManager.count }.by(1) - - expect(current_runner_manager).not_to be_nil - expect(current_runner_manager.system_xid).to eq('new_system_id') - expect(current_runner_manager.contacted_at).to eq(Time.current) - expect(current_runner_manager.runner).to eq(runner) - end - - it 'creates a new <legacy> runner manager if system_id is not specified', :aggregate_failures do - allow(helper).to receive(:params).and_return(token: runner.token) - - expect { current_runner_manager }.to change { Ci::RunnerManager.count }.by(1) - - expect(current_runner_manager).not_to be_nil - expect(current_runner_manager.system_xid).to eq(::API::Ci::Helpers::Runner::LEGACY_SYSTEM_XID) - expect(current_runner_manager.runner).to eq(runner) - end + it 'does not update the contacted_at field' do + expect(current_runner_manager.contacted_at).to eq 1.hour.ago end end - context 'with create_runner_machine FF disabled' do - before do - stub_feature_flags(create_runner_machine: false) - end + context 'when runner manager cannot be found' do + it 'creates a new runner manager', :aggregate_failures do + allow(helper).to receive(:params).and_return(token: runner.token, system_id: 'new_system_id') - it 'does not return runner manager if no system_id specified' do - allow(helper).to receive(:params).and_return(token: runner.token) + expect { current_runner_manager }.to change { Ci::RunnerManager.count }.by(1) - is_expected.to be_nil + expect(current_runner_manager).not_to be_nil + expect(current_runner_manager.system_xid).to eq('new_system_id') + expect(current_runner_manager.contacted_at).to eq(Time.current) + expect(current_runner_manager.runner).to eq(runner) end - context 'when runner manager can not be found' do - before do - allow(helper).to receive(:params).and_return(token: runner.token, system_id: 'new_system_id') - end + it 'creates a new <legacy> runner manager if system_id is not specified', :aggregate_failures do + allow(helper).to receive(:params).and_return(token: runner.token) - it 'does not create a new runner manager', :aggregate_failures do - expect { current_runner_manager }.not_to change { Ci::RunnerManager.count } + expect { current_runner_manager }.to change { Ci::RunnerManager.count }.by(1) - expect(current_runner_manager).to be_nil - end + expect(current_runner_manager).not_to be_nil + expect(current_runner_manager.system_xid).to eq(::API::Ci::Helpers::Runner::LEGACY_SYSTEM_XID) + expect(current_runner_manager.runner).to eq(runner) end end end |
