beaker 3.18.0 → 3.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/Rakefile +0 -23
- data/beaker.gemspec +1 -0
- data/lib/beaker/dsl/helpers.rb +3 -4
- data/lib/beaker/dsl/install_utils.rb +2 -7
- data/lib/beaker/dsl/wrappers.rb +0 -87
- data/lib/beaker/host/unix/pkg.rb +56 -17
- data/lib/beaker/hypervisor/docker.rb +26 -1
- data/lib/beaker/options/parser.rb +12 -5
- data/lib/beaker/options/subcommand_options_file_parser.rb +11 -4
- data/lib/beaker/ssh_connection.rb +6 -6
- data/lib/beaker/subcommand.rb +6 -0
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/host/unix/pkg_spec.rb +130 -0
- data/spec/beaker/hypervisor/docker_spec.rb +28 -1
- data/spec/beaker/options/parser_spec.rb +38 -18
- data/spec/beaker/options/subcommand_options_parser_spec.rb +28 -5
- data/spec/beaker/ssh_connection_spec.rb +17 -17
- metadata +16 -28
- data/acceptance/config/puppetgem/acceptance-options.rb +0 -9
- data/acceptance/config/puppetgit/acceptance-options.rb +0 -9
- data/acceptance/config/puppetpkg/acceptance-options.rb +0 -8
- data/acceptance/pre_suite/puppet_gem/install.rb +0 -8
- data/acceptance/pre_suite/puppet_git/install.rb +0 -98
- data/acceptance/pre_suite/puppet_pkg/install.rb +0 -9
- data/acceptance/tests/puppet/README.md +0 -3
- data/acceptance/tests/puppet/install_smoke_test.rb +0 -21
- data/acceptance/tests/puppet/stub_host.rb +0 -47
- data/acceptance/tests/puppet/web_helpers_test.rb +0 -55
- data/acceptance/tests/puppet/with_puppet_running_on.rb +0 -26
- data/lib/beaker/dsl/helpers/puppet_helpers.rb +0 -865
- data/lib/beaker/dsl/helpers/tk_helpers.rb +0 -89
- data/lib/beaker/dsl/install_utils/aio_defaults.rb +0 -93
- data/lib/beaker/dsl/install_utils/ezbake_utils.rb +0 -256
- data/lib/beaker/dsl/install_utils/foss_defaults.rb +0 -211
- data/lib/beaker/dsl/install_utils/foss_utils.rb +0 -1307
- data/lib/beaker/dsl/install_utils/module_utils.rb +0 -244
- data/lib/beaker/dsl/install_utils/puppet_utils.rb +0 -157
- data/lib/beaker/options/homedir_options_file_parser.rb +0 -0
- data/spec/beaker/dsl/helpers/facter_helpers_spec.rb +0 -59
- data/spec/beaker/dsl/helpers/puppet_helpers_spec.rb +0 -1179
- data/spec/beaker/dsl/helpers/tk_helpers_spec.rb +0 -83
- data/spec/beaker/dsl/install_utils/foss_utils_spec.rb +0 -1307
- data/spec/beaker/dsl/install_utils/module_utils_spec.rb +0 -261
- data/spec/beaker/dsl/install_utils/puppet_utils_spec.rb +0 -136
@@ -1,261 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
class ClassMixedWithDSLInstallUtils
|
4
|
-
include Beaker::DSL::InstallUtils
|
5
|
-
include Beaker::DSL::Wrappers
|
6
|
-
include Beaker::DSL::Helpers
|
7
|
-
include Beaker::DSL::Structure
|
8
|
-
include Beaker::DSL::Roles
|
9
|
-
include Beaker::DSL::Patterns
|
10
|
-
|
11
|
-
def logger
|
12
|
-
@logger ||= RSpec::Mocks::Double.new('logger').as_null_object
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
describe ClassMixedWithDSLInstallUtils do
|
17
|
-
let(:presets) { Beaker::Options::Presets.new }
|
18
|
-
let(:opts) { presets.presets.merge(presets.env_vars) }
|
19
|
-
let(:basic_hosts) { make_hosts( { :pe_ver => '3.0',
|
20
|
-
:platform => 'linux',
|
21
|
-
:roles => [ 'agent' ] }, 4 ) }
|
22
|
-
let(:hosts) { basic_hosts[0][:roles] = ['master', 'database', 'dashboard']
|
23
|
-
basic_hosts[1][:platform] = 'windows'
|
24
|
-
basic_hosts[2][:platform] = 'osx-10.9-x86_64'
|
25
|
-
basic_hosts[3][:platform] = 'eos'
|
26
|
-
basic_hosts }
|
27
|
-
let(:hosts_sorted) { [ hosts[1], hosts[0], hosts[2], hosts[3] ] }
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
describe '#install_dev_puppet_module_on' do
|
32
|
-
context 'having set allow( a ).to receive forge' do
|
33
|
-
it 'stubs the forge on the host' do
|
34
|
-
master = hosts.first
|
35
|
-
allow( subject ).to receive( :options ).and_return( {:forge_host => 'ahost.com'} )
|
36
|
-
|
37
|
-
expect( subject ).to receive( :with_forge_stubbed_on )
|
38
|
-
|
39
|
-
subject.install_dev_puppet_module_on( master, {:source => '/module', :module_name => 'test'} )
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'installs via #install_puppet_module_via_pmt' do
|
43
|
-
master = hosts.first
|
44
|
-
allow( subject ).to receive( :options ).and_return( {:forge_host => 'ahost.com'} )
|
45
|
-
allow( subject ).to receive( :with_forge_stubbed_on ).and_yield
|
46
|
-
|
47
|
-
expect( subject ).to receive( :install_puppet_module_via_pmt_on )
|
48
|
-
|
49
|
-
subject.install_dev_puppet_module_on( master, {:source => '/module', :module_name => 'test'} )
|
50
|
-
end
|
51
|
-
end
|
52
|
-
context 'without allow( a ).to receive forge (default)' do
|
53
|
-
it 'calls copy_module_to to get the module on the SUT' do
|
54
|
-
master = hosts.first
|
55
|
-
allow( subject ).to receive( :options ).and_return( {} )
|
56
|
-
|
57
|
-
expect( subject ).to receive( :copy_module_to )
|
58
|
-
|
59
|
-
subject.install_dev_puppet_module_on( master, {:source => '/module', :module_name => 'test'} )
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
describe '#install_dev_puppet_module' do
|
65
|
-
it 'delegates to #install_dev_puppet_module_on with the hosts list' do
|
66
|
-
allow( subject ).to receive( :hosts ).and_return( hosts )
|
67
|
-
allow( subject ).to receive( :options ).and_return( {} )
|
68
|
-
|
69
|
-
hosts.each do |host|
|
70
|
-
expect( subject ).to receive( :install_dev_puppet_module_on ).
|
71
|
-
with( host, {:source => '/module', :module_name => 'test'})
|
72
|
-
end
|
73
|
-
|
74
|
-
subject.install_dev_puppet_module( {:source => '/module', :module_name => 'test'} )
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
describe '#install_puppet_module_via_pmt_on' do
|
79
|
-
it 'installs module via puppet module tool' do
|
80
|
-
allow( subject ).to receive( :hosts ).and_return( hosts )
|
81
|
-
master = hosts.first
|
82
|
-
|
83
|
-
allow( subject ).to receive( :on ).once
|
84
|
-
expect( subject ).to receive( :puppet ).with('module install test ', {}).once
|
85
|
-
|
86
|
-
subject.install_puppet_module_via_pmt_on( master, {:module_name => 'test'} )
|
87
|
-
end
|
88
|
-
|
89
|
-
it 'takes the trace option and passes it down correctly' do
|
90
|
-
allow( subject ).to receive( :hosts ).and_return( hosts )
|
91
|
-
master = hosts.first
|
92
|
-
trace_opts = { :trace => nil }
|
93
|
-
master['default_module_install_opts'] = trace_opts
|
94
|
-
|
95
|
-
allow( subject ).to receive( :on ).once
|
96
|
-
expect( subject ).to receive( :puppet ).with('module install test ', trace_opts).once
|
97
|
-
|
98
|
-
subject.install_puppet_module_via_pmt_on( master, {:module_name => 'test'} )
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
describe '#install_puppet_module_via_pmt' do
|
103
|
-
it 'delegates to #install_puppet_module_via_pmt with the hosts list' do
|
104
|
-
allow( subject ).to receive( :hosts ).and_return( hosts )
|
105
|
-
|
106
|
-
expect( subject ).to receive( :install_puppet_module_via_pmt_on ).with( hosts, {:source => '/module', :module_name => 'test'}).once
|
107
|
-
|
108
|
-
subject.install_puppet_module_via_pmt( {:source => '/module', :module_name => 'test'} )
|
109
|
-
end
|
110
|
-
end
|
111
|
-
|
112
|
-
describe 'copy_module_to' do
|
113
|
-
let(:ignore_list) { Beaker::DSL::InstallUtils::ModuleUtils::PUPPET_MODULE_INSTALL_IGNORE }
|
114
|
-
let(:source){ File.expand_path('./')}
|
115
|
-
let(:target){'/etc/puppetlabs/puppet/modules/testmodule'}
|
116
|
-
let(:module_parse_name){'testmodule'}
|
117
|
-
|
118
|
-
shared_examples 'copy_module_to' do |opts|
|
119
|
-
it{
|
120
|
-
host = double("host")
|
121
|
-
allow( host ).to receive(:[]).with('distmoduledir').and_return('/etc/puppetlabs/puppet/modules')
|
122
|
-
allow( host ).to receive(:is_powershell?).and_return(false)
|
123
|
-
result = double
|
124
|
-
stdout = target.split('/')[0..-2].join('/') + "\n"
|
125
|
-
allow( result ).to receive(:stdout).and_return( stdout )
|
126
|
-
expect( subject ).to receive(:on).with(host, "echo #{File.dirname(target)}" ).and_return(result )
|
127
|
-
allow( Dir ).to receive(:getpwd).and_return(source)
|
128
|
-
|
129
|
-
allow( subject ).to receive(:parse_for_moduleroot).and_return(source)
|
130
|
-
if module_parse_name
|
131
|
-
allow( subject ).to receive(:parse_for_modulename).with(any_args()).and_return(module_parse_name)
|
132
|
-
else
|
133
|
-
expect( subject).to_not receive(:parse_for_modulename)
|
134
|
-
end
|
135
|
-
|
136
|
-
allow( File ).to receive(:exists?).with(any_args()).and_return(false)
|
137
|
-
allow( File ).to receive(:directory?).with(any_args()).and_return(false)
|
138
|
-
|
139
|
-
expect( subject ).to receive(:scp_to).with(host,source, File.dirname(target), {:ignore => ignore_list})
|
140
|
-
expect( host ).to receive(:mv).with(File.join(File.dirname(target), File.basename(source)), target)
|
141
|
-
if opts.nil?
|
142
|
-
subject.copy_module_to(host)
|
143
|
-
else
|
144
|
-
subject.copy_module_to(host,opts)
|
145
|
-
end
|
146
|
-
}
|
147
|
-
end
|
148
|
-
|
149
|
-
describe 'should call scp with the correct info, with only providing host' do
|
150
|
-
let(:target){'/etc/puppetlabs/puppet/modules/testmodule'}
|
151
|
-
|
152
|
-
it_should_behave_like 'copy_module_to', :module_name => 'testmodule'
|
153
|
-
end
|
154
|
-
|
155
|
-
describe 'should call scp with the correct info, when specifying the modulename' do
|
156
|
-
let(:target){'/etc/puppetlabs/puppet/modules/bogusmodule'}
|
157
|
-
let(:module_parse_name){false}
|
158
|
-
it_should_behave_like 'copy_module_to', {:module_name =>'bogusmodule'}
|
159
|
-
end
|
160
|
-
|
161
|
-
describe 'should call scp with the correct info, when specifying the target to a different path' do
|
162
|
-
target = '/opt/shared/puppet/modules'
|
163
|
-
let(:target){"#{target}/testmodule"}
|
164
|
-
it_should_behave_like 'copy_module_to', {:target_module_path => target, :module_name => 'testmodule'}
|
165
|
-
end
|
166
|
-
|
167
|
-
describe 'should accept multiple hosts when' do
|
168
|
-
it 'used in a default manner' do
|
169
|
-
allow( subject ).to receive( :build_ignore_list ).and_return( [] )
|
170
|
-
allow( subject ).to receive( :parse_for_modulename ).and_return( [nil, 'modulename'] )
|
171
|
-
allow( subject ).to receive( :on ).and_return( double.as_null_object )
|
172
|
-
|
173
|
-
expect( subject ).to receive( :scp_to ).exactly(4).times
|
174
|
-
subject.copy_module_to( hosts )
|
175
|
-
end
|
176
|
-
end
|
177
|
-
|
178
|
-
describe 'non-cygwin windows' do
|
179
|
-
it 'should have different commands than cygwin' do
|
180
|
-
host = double("host")
|
181
|
-
allow( host ).to receive(:[]).with('platform').and_return('windows')
|
182
|
-
allow( host ).to receive(:[]).with('distmoduledir').and_return('C:\\ProgramData\\PuppetLabs\\puppet\\etc\\modules')
|
183
|
-
allow( host ).to receive(:is_powershell?).and_return(true)
|
184
|
-
|
185
|
-
result = double
|
186
|
-
allow( result ).to receive(:stdout).and_return( 'C:\\ProgramData\\PuppetLabs\\puppet\\etc\\modules' )
|
187
|
-
|
188
|
-
expect( subject ).to receive(:on).with(host, "echo C:\\ProgramData\\PuppetLabs\\puppet\\etc\\modules" ).and_return( result )
|
189
|
-
|
190
|
-
expect( subject ).to receive(:scp_to).with(host, "/opt/testmodule2", "C:\\ProgramData\\PuppetLabs\\puppet\\etc\\modules", {:ignore => ignore_list})
|
191
|
-
expect( host ).to receive(:mv).with('C:\\ProgramData\\PuppetLabs\\puppet\\etc\\modules\\testmodule2', 'C:\\ProgramData\\PuppetLabs\\puppet\\etc\\modules\\testmodule')
|
192
|
-
|
193
|
-
subject.copy_module_to(host, {:module_name => 'testmodule', :source => '/opt/testmodule2'})
|
194
|
-
end
|
195
|
-
end
|
196
|
-
end
|
197
|
-
|
198
|
-
describe 'split_author_modulename' do
|
199
|
-
it 'should return a correct modulename' do
|
200
|
-
result = subject.split_author_modulename('myname-test_43_module')
|
201
|
-
expect(result[:author]).to eq('myname')
|
202
|
-
expect(result[:module]).to eq('test_43_module')
|
203
|
-
end
|
204
|
-
end
|
205
|
-
|
206
|
-
describe 'get_module_name' do
|
207
|
-
it 'should return an array of author and modulename' do
|
208
|
-
expect(subject.get_module_name('myname-test_43_module')).to eq(['myname', 'test_43_module'])
|
209
|
-
end
|
210
|
-
it 'should return nil for invalid names' do
|
211
|
-
expect(subject.get_module_name('myname-')).to eq(nil)
|
212
|
-
end
|
213
|
-
end
|
214
|
-
|
215
|
-
describe 'parse_for_modulename' do
|
216
|
-
directory = '/testfilepath/myname-testmodule'
|
217
|
-
it 'should return name from metadata.json' do
|
218
|
-
allow( File ).to receive(:exists?).with("#{directory}/metadata.json").and_return(true)
|
219
|
-
allow( File ).to receive(:read).with("#{directory}/metadata.json").and_return(" {\"name\":\"myname-testmodule\"} ")
|
220
|
-
expect( subject.logger ).to receive(:debug).with("Attempting to parse Modulename from metadata.json")
|
221
|
-
expect(subject.logger).to_not receive(:debug).with('Unable to determine name, returning null')
|
222
|
-
expect(subject.parse_for_modulename(directory)).to eq(['myname', 'testmodule'])
|
223
|
-
end
|
224
|
-
it 'should return name from Modulefile' do
|
225
|
-
allow( File ).to receive(:exists?).with("#{directory}/metadata.json").and_return(false)
|
226
|
-
allow( File ).to receive(:exists?).with("#{directory}/Modulefile").and_return(true)
|
227
|
-
allow( File ).to receive(:read).with("#{directory}/Modulefile").and_return("name 'myname-testmodule' \nauthor 'myname'")
|
228
|
-
expect( subject.logger ).to receive(:debug).with("Attempting to parse Modulename from Modulefile")
|
229
|
-
expect(subject.logger).to_not receive(:debug).with("Unable to determine name, returning null")
|
230
|
-
expect(subject.parse_for_modulename(directory)).to eq(['myname', 'testmodule'])
|
231
|
-
end
|
232
|
-
end
|
233
|
-
|
234
|
-
describe 'parse_for_module_root' do
|
235
|
-
directory = '/testfilepath/myname-testmodule'
|
236
|
-
describe 'stops searching when either' do
|
237
|
-
it 'finds a Modulefile' do
|
238
|
-
allow( File ).to receive(:exists?).and_return(false)
|
239
|
-
allow( File ).to receive(:exists?).with("#{directory}/Modulefile").and_return(true)
|
240
|
-
|
241
|
-
expect( subject.logger ).to_not receive(:debug).with("At root, can't parse for another directory")
|
242
|
-
expect( subject.logger ).to receive(:debug).with("No Modulefile or metadata.json found at #{directory}/acceptance, moving up")
|
243
|
-
expect(subject.parse_for_moduleroot("#{directory}/acceptance")).to eq(directory)
|
244
|
-
end
|
245
|
-
it 'finds a metadata.json file' do
|
246
|
-
allow( File ).to receive(:exists?).and_return(false)
|
247
|
-
allow( File ).to receive(:exists?).with("#{directory}/metadata.json").and_return(true)
|
248
|
-
|
249
|
-
expect( subject.logger ).to_not receive(:debug).with("At root, can't parse for another directory")
|
250
|
-
expect( subject.logger ).to receive(:debug).with("No Modulefile or metadata.json found at #{directory}/acceptance, moving up")
|
251
|
-
expect(subject.parse_for_moduleroot("#{directory}/acceptance")).to eq(directory)
|
252
|
-
end
|
253
|
-
end
|
254
|
-
it 'should recersively go up the directory to find the module files' do
|
255
|
-
allow( File ).to receive(:exists?).and_return(false)
|
256
|
-
expect( subject.logger ).to receive(:debug).with("No Modulefile or metadata.json found at #{directory}, moving up")
|
257
|
-
expect( subject.logger ).to receive(:error).with("At root, can't parse for another directory")
|
258
|
-
expect(subject.parse_for_moduleroot(directory)).to eq(nil)
|
259
|
-
end
|
260
|
-
end
|
261
|
-
end
|
@@ -1,136 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
class ClassMixedWithDSLInstallUtils
|
4
|
-
include Beaker::DSL::Wrappers
|
5
|
-
include Beaker::DSL::Helpers
|
6
|
-
include Beaker::DSL::Structure
|
7
|
-
include Beaker::DSL::Roles
|
8
|
-
include Beaker::DSL::Patterns
|
9
|
-
include Beaker::DSL::InstallUtils
|
10
|
-
|
11
|
-
def logger
|
12
|
-
@logger ||= RSpec::Mocks::Double.new('logger').as_null_object
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
describe ClassMixedWithDSLInstallUtils do
|
17
|
-
let(:metadata) { @metadata ||= {} }
|
18
|
-
let(:presets) { Beaker::Options::Presets.new }
|
19
|
-
let(:opts) { presets.presets.merge(presets.env_vars) }
|
20
|
-
let(:basic_hosts) { make_hosts( { :pe_ver => '3.0',
|
21
|
-
:platform => 'linux',
|
22
|
-
:roles => [ 'agent' ] }, 4 ) }
|
23
|
-
let(:hosts) { basic_hosts[0][:roles] = ['master', 'database', 'dashboard']
|
24
|
-
basic_hosts[1][:platform] = 'windows'
|
25
|
-
basic_hosts[2][:platform] = 'osx-10.9-x86_64'
|
26
|
-
basic_hosts[3][:platform] = 'eos'
|
27
|
-
basic_hosts }
|
28
|
-
let(:hosts_sorted) { [ hosts[1], hosts[0], hosts[2], hosts[3] ] }
|
29
|
-
let(:winhost) { make_host( 'winhost', { :platform => 'windows',
|
30
|
-
:pe_ver => '3.0',
|
31
|
-
:working_dir => '/tmp',
|
32
|
-
:is_cygwin => true} ) }
|
33
|
-
let(:winhost_non_cygwin) { make_host( 'winhost_non_cygwin', { :platform => 'windows',
|
34
|
-
:pe_ver => '3.0',
|
35
|
-
:working_dir => '/tmp',
|
36
|
-
:is_cygwin => 'false' } ) }
|
37
|
-
let(:machost) { make_host( 'machost', { :platform => 'osx-10.9-x86_64',
|
38
|
-
:pe_ver => '3.0',
|
39
|
-
:working_dir => '/tmp' } ) }
|
40
|
-
let(:unixhost) { make_host( 'unixhost', { :platform => 'linux',
|
41
|
-
:pe_ver => '3.0',
|
42
|
-
:working_dir => '/tmp',
|
43
|
-
:dist => 'puppet-enterprise-3.1.0-rc0-230-g36c9e5c-debian-7-i386' } ) }
|
44
|
-
let(:eoshost) { make_host( 'eoshost', { :platform => 'eos',
|
45
|
-
:pe_ver => '3.0',
|
46
|
-
:working_dir => '/tmp',
|
47
|
-
:dist => 'puppet-enterprise-3.7.1-rc0-78-gffc958f-eos-4-i386' } ) }
|
48
|
-
|
49
|
-
describe "#configure_defaults_on" do
|
50
|
-
|
51
|
-
it "can set foss defaults" do
|
52
|
-
expect(subject).to receive(:add_foss_defaults_on).exactly(hosts.length).times
|
53
|
-
subject.configure_defaults_on(hosts, 'foss')
|
54
|
-
end
|
55
|
-
|
56
|
-
it "can set aio defaults" do
|
57
|
-
expect(subject).to receive(:add_aio_defaults_on).exactly(hosts.length).times
|
58
|
-
subject.configure_defaults_on(hosts, 'aio')
|
59
|
-
end
|
60
|
-
|
61
|
-
it "can set pe defaults" do
|
62
|
-
expect(subject).to receive(:add_pe_defaults_on).exactly(hosts.length).times
|
63
|
-
subject.configure_defaults_on(hosts, 'pe')
|
64
|
-
end
|
65
|
-
|
66
|
-
it 'can remove old defaults ands replace with new' do
|
67
|
-
expect(subject).to receive(:remove_pe_defaults_on).exactly(hosts.length).times
|
68
|
-
expect(subject).to receive(:add_foss_defaults_on).exactly(hosts.length).times
|
69
|
-
subject.configure_defaults_on(hosts, 'pe')
|
70
|
-
subject.configure_defaults_on(hosts, 'foss')
|
71
|
-
end
|
72
|
-
end
|
73
|
-
|
74
|
-
describe "#configure_type_defaults_on" do
|
75
|
-
|
76
|
-
it "can set foss defaults for foss type" do
|
77
|
-
hosts.each do |host|
|
78
|
-
host['type'] = 'foss'
|
79
|
-
end
|
80
|
-
expect(subject).to receive(:add_foss_defaults_on).exactly(hosts.length).times
|
81
|
-
subject.configure_type_defaults_on(hosts)
|
82
|
-
end
|
83
|
-
|
84
|
-
it "adds aio defaults to foss hosts when they have an aio foss puppet version" do
|
85
|
-
hosts.each do |host|
|
86
|
-
host[:pe_ver] = nil
|
87
|
-
host[:version] = nil
|
88
|
-
host['type'] = 'foss'
|
89
|
-
host['version'] = '4.0'
|
90
|
-
end
|
91
|
-
expect(subject).to receive(:add_foss_defaults_on).exactly(hosts.length).times
|
92
|
-
expect(subject).to receive(:add_aio_defaults_on).exactly(hosts.length).times
|
93
|
-
subject.configure_type_defaults_on(hosts)
|
94
|
-
end
|
95
|
-
|
96
|
-
it "adds aio defaults to foss hosts when they have type foss-aio" do
|
97
|
-
hosts.each do |host|
|
98
|
-
host[:pe_ver] = nil
|
99
|
-
host[:version] = nil
|
100
|
-
host['type'] = 'foss-aio'
|
101
|
-
end
|
102
|
-
expect(subject).to receive(:add_foss_defaults_on).exactly(hosts.length).times
|
103
|
-
expect(subject).to receive(:add_aio_defaults_on).exactly(hosts.length).times
|
104
|
-
subject.configure_type_defaults_on(hosts)
|
105
|
-
end
|
106
|
-
|
107
|
-
it "can set aio defaults for aio type (backwards compatability)" do
|
108
|
-
hosts.each do |host|
|
109
|
-
host[:pe_ver] = nil
|
110
|
-
host[:version] = nil
|
111
|
-
host['type'] = 'aio'
|
112
|
-
end
|
113
|
-
expect(subject).to receive(:add_aio_defaults_on).exactly(hosts.length).times
|
114
|
-
subject.configure_type_defaults_on(hosts)
|
115
|
-
end
|
116
|
-
|
117
|
-
it "can set pe defaults for pe type" do
|
118
|
-
hosts.each do |host|
|
119
|
-
host['type'] = 'pe'
|
120
|
-
end
|
121
|
-
expect(subject).to receive(:add_pe_defaults_on).exactly(hosts.length).times
|
122
|
-
subject.configure_type_defaults_on(hosts)
|
123
|
-
end
|
124
|
-
|
125
|
-
it "adds aio defaults to pe hosts when they an aio pe version" do
|
126
|
-
hosts.each do |host|
|
127
|
-
host['type'] = 'pe'
|
128
|
-
host['pe_ver'] = '4.0'
|
129
|
-
end
|
130
|
-
expect(subject).to receive(:add_pe_defaults_on).exactly(hosts.length).times
|
131
|
-
expect(subject).to receive(:add_aio_defaults_on).exactly(hosts.length).times
|
132
|
-
subject.configure_type_defaults_on(hosts)
|
133
|
-
end
|
134
|
-
|
135
|
-
end
|
136
|
-
end
|