Implement `-t' CLI option switch to specify target

This commit is contained in:
Thibault Jouan
2014-06-27 17:32:42 +00:00
parent e423a66d5c
commit e6ee3d5f77
6 changed files with 44 additions and 7 deletions

View File

@@ -122,7 +122,7 @@ module Producer::Core
describe '#parse_arguments!' do
context 'with options' do
let(:options) { %w[-v] }
let(:options) { %w[-v -t some_host.example] }
before { cli.parse_arguments! }
@@ -131,6 +131,8 @@ module Producer::Core
end
context 'verbose' do
let(:options) { %w[-v] }
it 'enables env verbose mode' do
expect(cli.env).to be_verbose
end
@@ -143,6 +145,14 @@ module Producer::Core
expect(cli.env).to be_dry_run
end
end
context 'target' do
let(:options) { %w[-t some_host.example] }
it 'assigns the given target to the env' do
expect(cli.env.target).to eq 'some_host.example'
end
end
end
context 'without arguments' do

View File

@@ -65,9 +65,19 @@ module Producer::Core
describe '#target' do
let(:host) { 'some_host.example' }
it 'registers the target host in the env' do
dsl.target host
expect(env.target).to eq host
context 'when env has no assigned target' do
it 'registers the target host in the env' do
dsl.target host
expect(env.target).to eq host
end
end
context 'when env has an assigned target' do
before { env.target = 'already_assigned_host.example' }
it 'does not change env target' do
expect { dsl.target host }.not_to change { env.target }
end
end
end