beaker 2.13.0 → 2.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/Gemfile +19 -0
- data/HISTORY.md +335 -2
- data/acceptance/pre_suite/puppet_git/install.rb +2 -2
- data/lib/beaker/answers.rb +45 -2
- data/lib/beaker/answers/version20.rb +9 -9
- data/lib/beaker/answers/version28.rb +9 -9
- data/lib/beaker/answers/version30.rb +19 -19
- data/lib/beaker/answers/version32.rb +1 -1
- data/lib/beaker/answers/version34.rb +4 -4
- data/lib/beaker/answers/version40.rb +1 -1
- data/lib/beaker/cli.rb +11 -4
- data/lib/beaker/command.rb +4 -2
- data/lib/beaker/command_factory.rb +5 -1
- data/lib/beaker/dsl/helpers/host_helpers.rb +17 -5
- data/lib/beaker/dsl/install_utils.rb +3 -2
- data/lib/beaker/dsl/install_utils/aio_defaults.rb +86 -0
- data/lib/beaker/dsl/install_utils/foss_defaults.rb +163 -0
- data/lib/beaker/dsl/install_utils/foss_utils.rb +988 -0
- data/lib/beaker/dsl/install_utils/pe_defaults.rb +139 -0
- data/lib/beaker/dsl/install_utils/pe_utils.rb +140 -38
- data/lib/beaker/dsl/install_utils/puppet_utils.rb +26 -751
- data/lib/beaker/dsl/structure.rb +7 -1
- data/lib/beaker/host.rb +35 -58
- data/lib/beaker/host/freebsd.rb +4 -16
- data/lib/beaker/host/mac.rb +3 -39
- data/lib/beaker/host/mac/pkg.rb +2 -1
- data/lib/beaker/host/pswindows.rb +2 -28
- data/lib/beaker/host/unix.rb +3 -51
- data/lib/beaker/host/unix/pkg.rb +34 -33
- data/lib/beaker/host/windows.rb +1 -45
- data/lib/beaker/host_prebuilt_steps.rb +11 -24
- data/lib/beaker/hypervisor/aixer.rb +1 -1
- data/lib/beaker/hypervisor/docker.rb +43 -4
- data/lib/beaker/hypervisor/openstack.rb +1 -0
- data/lib/beaker/hypervisor/solaris.rb +1 -1
- data/lib/beaker/hypervisor/vmpooler.rb +19 -8
- data/lib/beaker/network_manager.rb +5 -4
- data/lib/beaker/options/command_line_parser.rb +9 -9
- data/lib/beaker/options/parser.rb +21 -17
- data/lib/beaker/options/presets.rb +0 -33
- data/lib/beaker/platform.rb +7 -3
- data/lib/beaker/ssh_connection.rb +1 -1
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/answers_spec.rb +13 -8
- data/spec/beaker/cli_spec.rb +6 -6
- data/spec/beaker/command_spec.rb +18 -0
- data/spec/beaker/dsl/helpers/puppet_helpers_spec.rb +2 -0
- data/spec/beaker/dsl/install_utils/{puppet_utils_spec.rb → foss_utils_spec.rb} +34 -21
- data/spec/beaker/dsl/install_utils/pe_utils_spec.rb +2 -0
- data/spec/beaker/dsl/structure_spec.rb +8 -0
- data/spec/beaker/host/unix/pkg_spec.rb +15 -10
- data/spec/beaker/host_prebuilt_steps_spec.rb +1 -1
- data/spec/beaker/host_spec.rb +3 -54
- data/spec/beaker/hypervisor/docker_spec.rb +2 -0
- data/spec/beaker/hypervisor/vmpooler_spec.rb +67 -10
- data/spec/beaker/options/command_line_parser_spec.rb +2 -2
- data/spec/beaker/options/parser_spec.rb +35 -24
- data/spec/beaker/options/presets_spec.rb +0 -26
- data/spec/helpers.rb +5 -5
- data/spec/mocks.rb +1 -2
- metadata +7 -3
data/lib/beaker/platform.rb
CHANGED
@@ -3,14 +3,18 @@ module Beaker
|
|
3
3
|
# all String methods while adding several platform-specific use cases.
|
4
4
|
class Platform < String
|
5
5
|
# Supported platforms
|
6
|
-
PLATFORMS = /^(freebsd|osx|centos|fedora|debian|oracle|redhat|scientific|sles|ubuntu|windows|solaris|aix|el|eos|cumulus)\-.+\-.+$/
|
6
|
+
PLATFORMS = /^(cisco|freebsd|osx|centos|fedora|debian|oracle|redhat|scientific|sles|ubuntu|windows|solaris|aix|el|eos|cumulus)\-.+\-.+$/
|
7
7
|
|
8
8
|
# Platform version numbers vs. codenames conversion hash
|
9
9
|
PLATFORM_VERSION_CODES =
|
10
|
-
{ :debian => { "
|
10
|
+
{ :debian => { "jessie" => "8",
|
11
|
+
"wheezy" => "7",
|
11
12
|
"squeeze" => "6",
|
12
13
|
},
|
13
|
-
:ubuntu => { "
|
14
|
+
:ubuntu => { "wily" => "1510",
|
15
|
+
"vivid" => "1504",
|
16
|
+
"utopic" => "1410",
|
17
|
+
"trusty" => "1404",
|
14
18
|
"saucy" => "1310",
|
15
19
|
"raring" => "1304",
|
16
20
|
"quantal" => "1210",
|
@@ -171,7 +171,7 @@ module Beaker
|
|
171
171
|
def request_terminal_for channel, command
|
172
172
|
channel.request_pty do |ch, success|
|
173
173
|
if success
|
174
|
-
@logger.
|
174
|
+
@logger.debug "Allocated a PTY on #{@hostname} for #{command.inspect}"
|
175
175
|
else
|
176
176
|
abort "FAILED: could not allocate a pty when requested on " +
|
177
177
|
"#{@hostname} for #{command.inspect}"
|
data/lib/beaker/version.rb
CHANGED
data/spec/beaker/answers_spec.rb
CHANGED
@@ -150,6 +150,7 @@ module Beaker
|
|
150
150
|
@ver = '3.4'
|
151
151
|
answers = @answers
|
152
152
|
hosts.each do |host|
|
153
|
+
puts "checking #{host.name}"
|
153
154
|
expect( host[:answers] ).to be === answers[host.name]
|
154
155
|
end
|
155
156
|
end
|
@@ -205,8 +206,9 @@ module Beaker
|
|
205
206
|
end
|
206
207
|
|
207
208
|
it 'should add answers to the host objects' do
|
209
|
+
answers = @answers
|
208
210
|
hosts.each do |host|
|
209
|
-
expect( host[:answers] ).to be ===
|
211
|
+
expect( host[:answers] ).to be === answers[host.name]
|
210
212
|
end
|
211
213
|
end
|
212
214
|
end
|
@@ -266,7 +268,7 @@ module Beaker
|
|
266
268
|
|
267
269
|
it ':q_update_server_host should default to the master' do
|
268
270
|
hosts.each do |host|
|
269
|
-
expect( host[:answers][:q_update_server_host] ).to be == hosts[0]
|
271
|
+
expect( host[:answers][:q_update_server_host] ).to be == hosts[0].to_s
|
270
272
|
end
|
271
273
|
end
|
272
274
|
|
@@ -354,12 +356,12 @@ module Beaker
|
|
354
356
|
|
355
357
|
it 'sets correct answers for an agent' do
|
356
358
|
@ver = '3.0'
|
357
|
-
expect( @answers['vm3'] ).to be === { :q_install=>"y", :q_vendor_packages_install=>"y", :q_puppetagent_install=>"y", :q_puppet_cloud_install=>"y", :q_verify_packages=>"y", :q_puppet_symlinks_install=>"y", :q_puppetagent_certname=>hosts[2], :q_puppetagent_server=>hosts[0], :q_puppetmaster_install=>"n", :q_all_in_one_install=>"n", :q_puppet_enterpriseconsole_install=>"n", :q_puppetdb_install=>"n", :q_database_install=>"n", :q_custom=>"LOOKLOOKLOOK" }
|
359
|
+
expect( @answers['vm3'] ).to be === { :q_install=>"y", :q_vendor_packages_install=>"y", :q_puppetagent_install=>"y", :q_puppet_cloud_install=>"y", :q_verify_packages=>"y", :q_puppet_symlinks_install=>"y", :q_puppetagent_certname=>hosts[2].to_s, :q_puppetagent_server=>hosts[0].to_s, :q_puppetmaster_install=>"n", :q_all_in_one_install=>"n", :q_puppet_enterpriseconsole_install=>"n", :q_puppetdb_install=>"n", :q_database_install=>"n", :q_custom=>"LOOKLOOKLOOK" }
|
358
360
|
end
|
359
361
|
|
360
362
|
it 'sets correct answers for a master' do
|
361
363
|
@ver = '3.0'
|
362
|
-
expect( @answers['vm1'] ).to be === { :q_install=>"y", :q_vendor_packages_install=>"y", :q_puppetagent_install=>"y", :q_puppet_cloud_install=>"y", :q_verify_packages=>"y", :q_puppet_symlinks_install=>"y", :q_puppetagent_certname=>hosts[0], :q_puppetagent_server=>hosts[0], :q_puppetmaster_install=>"y", :q_all_in_one_install=>"y", :q_puppet_enterpriseconsole_install=>"y", :q_puppetdb_install=>"y", :q_database_install=>"y", :q_puppetdb_hostname=>hosts[0], :q_puppetdb_port=>8081, :q_puppetmaster_dnsaltnames=>"#{hosts[0]},#{hosts[0][:ip]},puppet", :q_puppetmaster_enterpriseconsole_hostname=>hosts[0], :q_puppetmaster_enterpriseconsole_port=>443, :q_puppetmaster_certname=>hosts[0], :q_puppetdb_database_name=>"pe-puppetdb", :q_puppetdb_database_user=>"mYpdBu3r", :q_puppetdb_database_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_auth_database_name=>"console_auth", :q_puppet_enterpriseconsole_auth_database_user=>"mYu7hu3r", :q_puppet_enterpriseconsole_auth_database_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_database_name=>"console", :q_puppet_enterpriseconsole_database_user=>"mYc0nS03u3r", :q_puppet_enterpriseconsole_database_password=>"'~!@\#$%^*-/ aZ'", :q_database_host=>hosts[0], :q_database_port=>5432, :q_pe_database=>"y", :q_puppet_enterpriseconsole_inventory_hostname=>hosts[0], :q_puppet_enterpriseconsole_inventory_certname=>hosts[0], :q_puppet_enterpriseconsole_inventory_dnsaltnames=>hosts[0], :q_puppet_enterpriseconsole_inventory_port=>8140, :q_puppet_enterpriseconsole_master_hostname=>hosts[0], :q_puppet_enterpriseconsole_auth_user_email=>"'admin@example.com'", :q_puppet_enterpriseconsole_auth_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_httpd_port=>443, :q_puppet_enterpriseconsole_smtp_host=>"'vm1'", :q_puppet_enterpriseconsole_smtp_use_tls=>"'n'", :q_puppet_enterpriseconsole_smtp_port=>"'25'", :q_database_root_password=>"'=ZYdjiP3jCwV5eo9s1MBd'", :q_database_root_user=>"pe-postgres" }
|
364
|
+
expect( @answers['vm1'] ).to be === { :q_install=>"y", :q_vendor_packages_install=>"y", :q_puppetagent_install=>"y", :q_puppet_cloud_install=>"y", :q_verify_packages=>"y", :q_puppet_symlinks_install=>"y", :q_puppetagent_certname=>hosts[0].to_s, :q_puppetagent_server=>hosts[0].to_s, :q_puppetmaster_install=>"y", :q_all_in_one_install=>"y", :q_puppet_enterpriseconsole_install=>"y", :q_puppetdb_install=>"y", :q_database_install=>"y", :q_puppetdb_hostname=>hosts[0].to_s, :q_puppetdb_port=>8081, :q_puppetmaster_dnsaltnames=>"#{hosts[0].to_s},#{hosts[0][:ip]},puppet", :q_puppetmaster_enterpriseconsole_hostname=>hosts[0].to_s, :q_puppetmaster_enterpriseconsole_port=>443, :q_puppetmaster_certname=>hosts[0].to_s, :q_puppetdb_database_name=>"pe-puppetdb", :q_puppetdb_database_user=>"mYpdBu3r", :q_puppetdb_database_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_auth_database_name=>"console_auth", :q_puppet_enterpriseconsole_auth_database_user=>"mYu7hu3r", :q_puppet_enterpriseconsole_auth_database_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_database_name=>"console", :q_puppet_enterpriseconsole_database_user=>"mYc0nS03u3r", :q_puppet_enterpriseconsole_database_password=>"'~!@\#$%^*-/ aZ'", :q_database_host=>hosts[0].to_s, :q_database_port=>5432, :q_pe_database=>"y", :q_puppet_enterpriseconsole_inventory_hostname=>hosts[0].to_s, :q_puppet_enterpriseconsole_inventory_certname=>hosts[0].to_s, :q_puppet_enterpriseconsole_inventory_dnsaltnames=>hosts[0].to_s, :q_puppet_enterpriseconsole_inventory_port=>8140, :q_puppet_enterpriseconsole_master_hostname=>hosts[0].to_s, :q_puppet_enterpriseconsole_auth_user_email=>"'admin@example.com'", :q_puppet_enterpriseconsole_auth_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_httpd_port=>443, :q_puppet_enterpriseconsole_smtp_host=>"'vm1'", :q_puppet_enterpriseconsole_smtp_use_tls=>"'n'", :q_puppet_enterpriseconsole_smtp_port=>"'25'", :q_database_root_password=>"'=ZYdjiP3jCwV5eo9s1MBd'", :q_database_root_user=>"pe-postgres" }
|
363
365
|
end
|
364
366
|
|
365
367
|
it 'generates nil answers for a windows host' do
|
@@ -396,11 +398,11 @@ module Beaker
|
|
396
398
|
end
|
397
399
|
|
398
400
|
it 'sets correct answers for an agent' do
|
399
|
-
expect( @answers['vm3'] ).to be === { :q_install=>"y", :q_puppetagent_install=>"y", :q_puppet_cloud_install=>"y", :q_puppet_symlinks_install=>"y", :q_vendor_packages_install=>"y", :q_puppetagent_certname=>hosts[2], :q_puppetagent_server=>hosts[0], :q_puppetmaster_install=>"n", :q_puppet_enterpriseconsole_install=>"n" }
|
401
|
+
expect( @answers['vm3'] ).to be === { :q_install=>"y", :q_puppetagent_install=>"y", :q_puppet_cloud_install=>"y", :q_puppet_symlinks_install=>"y", :q_vendor_packages_install=>"y", :q_puppetagent_certname=>hosts[2].to_s, :q_puppetagent_server=>hosts[0].to_s, :q_puppetmaster_install=>"n", :q_puppet_enterpriseconsole_install=>"n" }
|
400
402
|
end
|
401
403
|
|
402
404
|
it 'sets correct answers for a master' do
|
403
|
-
expect( @answers['vm1'] ).to be === { :q_install=>"y", :q_puppetagent_install=>"y", :q_puppet_cloud_install=>"y", :q_puppet_symlinks_install=>"y", :q_vendor_packages_install=>"y", :q_puppetagent_certname=>hosts[0], :q_puppetagent_server=>hosts[0], :q_puppetmaster_install=>"y", :q_puppet_enterpriseconsole_install=>"y", :q_puppetmaster_certname=>hosts[0], :q_puppetmaster_dnsaltnames=>"#{hosts[0]},#{hosts[0][:ip]},puppet", :q_puppetmaster_enterpriseconsole_hostname=>hosts[0], :q_puppetmaster_enterpriseconsole_port=>443, :q_puppetmaster_forward_facts=>"y", :q_puppet_enterpriseconsole_database_install=>"y", :q_puppet_enterpriseconsole_auth_database_name=>"console_auth", :q_puppet_enterpriseconsole_auth_database_user=>"mYu7hu3r", :q_puppet_enterpriseconsole_auth_database_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_database_name=>"console", :q_puppet_enterpriseconsole_database_user=>"mYc0nS03u3r", :q_puppet_enterpriseconsole_database_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_inventory_hostname=>hosts[0], :q_puppet_enterpriseconsole_inventory_certname=>hosts[0], :q_puppet_enterpriseconsole_inventory_dnsaltnames=>hosts[0], :q_puppet_enterpriseconsole_inventory_port=>8140, :q_puppet_enterpriseconsole_master_hostname=>hosts[0], :q_puppet_enterpriseconsole_auth_user_email=>"'admin@example.com'", :q_puppet_enterpriseconsole_auth_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_httpd_port=>443, :q_puppet_enterpriseconsole_smtp_host=>"'vm1'", :q_puppet_enterpriseconsole_smtp_use_tls=>"'n'", :q_puppet_enterpriseconsole_smtp_port=>"'25'", :q_puppet_enterpriseconsole_auth_user=>"'admin@example.com'" }
|
405
|
+
expect( @answers['vm1'] ).to be === { :q_install=>"y", :q_puppetagent_install=>"y", :q_puppet_cloud_install=>"y", :q_puppet_symlinks_install=>"y", :q_vendor_packages_install=>"y", :q_puppetagent_certname=>hosts[0].to_s, :q_puppetagent_server=>hosts[0].to_s, :q_puppetmaster_install=>"y", :q_puppet_enterpriseconsole_install=>"y", :q_puppetmaster_certname=>hosts[0].to_s, :q_puppetmaster_dnsaltnames=>"#{hosts[0].to_s},#{hosts[0][:ip]},puppet", :q_puppetmaster_enterpriseconsole_hostname=>hosts[0].to_s, :q_puppetmaster_enterpriseconsole_port=>443, :q_puppetmaster_forward_facts=>"y", :q_puppet_enterpriseconsole_database_install=>"y", :q_puppet_enterpriseconsole_auth_database_name=>"console_auth", :q_puppet_enterpriseconsole_auth_database_user=>"mYu7hu3r", :q_puppet_enterpriseconsole_auth_database_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_database_name=>"console", :q_puppet_enterpriseconsole_database_user=>"mYc0nS03u3r", :q_puppet_enterpriseconsole_database_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_inventory_hostname=>hosts[0].to_s, :q_puppet_enterpriseconsole_inventory_certname=>hosts[0].to_s, :q_puppet_enterpriseconsole_inventory_dnsaltnames=>hosts[0].to_s, :q_puppet_enterpriseconsole_inventory_port=>8140, :q_puppet_enterpriseconsole_master_hostname=>hosts[0].to_s, :q_puppet_enterpriseconsole_auth_user_email=>"'admin@example.com'", :q_puppet_enterpriseconsole_auth_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_httpd_port=>443, :q_puppet_enterpriseconsole_smtp_host=>"'vm1'", :q_puppet_enterpriseconsole_smtp_use_tls=>"'n'", :q_puppet_enterpriseconsole_smtp_port=>"'25'", :q_puppet_enterpriseconsole_auth_user=>"'admin@example.com'" }
|
404
406
|
end
|
405
407
|
|
406
408
|
it 'generates nil answers for a windows host' do
|
@@ -429,11 +431,11 @@ module Beaker
|
|
429
431
|
end
|
430
432
|
|
431
433
|
it 'sets correct answers for an agent' do
|
432
|
-
expect( @answers['vm3'] ).to be === { :q_install=>"y", :q_puppetagent_install=>"y", :q_puppet_cloud_install=>"y", :q_puppet_symlinks_install=>"y", :q_vendor_packages_install=>"y", :q_puppetagent_certname=>hosts[2], :q_puppetagent_server=>hosts[0], :q_puppetmaster_install=>"n", :q_puppet_enterpriseconsole_install=>"n" }
|
434
|
+
expect( @answers['vm3'] ).to be === { :q_install=>"y", :q_puppetagent_install=>"y", :q_puppet_cloud_install=>"y", :q_puppet_symlinks_install=>"y", :q_vendor_packages_install=>"y", :q_puppetagent_certname=>hosts[2].to_s, :q_puppetagent_server=>hosts[0].to_s, :q_puppetmaster_install=>"n", :q_puppet_enterpriseconsole_install=>"n" }
|
433
435
|
end
|
434
436
|
|
435
437
|
it 'sets correct answers for a master' do
|
436
|
-
expect( @answers['vm1'] ).to be === { :q_install=>"y", :q_puppetagent_install=>"y", :q_puppet_cloud_install=>"y", :q_puppet_symlinks_install=>"y", :q_vendor_packages_install=>"y", :q_puppetagent_certname=>hosts[0], :q_puppetagent_server=>hosts[0], :q_puppetmaster_install=>"y", :q_puppet_enterpriseconsole_install=>"y", :q_puppetmaster_certname=>hosts[0], :q_puppetmaster_dnsaltnames=>"#{hosts[0]},#{hosts[0][:ip]},puppet", :q_puppetmaster_enterpriseconsole_hostname=>hosts[0], :q_puppetmaster_enterpriseconsole_port=>443, :q_puppetmaster_forward_facts=>"y", :q_puppet_enterpriseconsole_database_install=>"y", :q_puppet_enterpriseconsole_auth_database_name=>"console_auth", :q_puppet_enterpriseconsole_auth_database_user=>"mYu7hu3r", :q_puppet_enterpriseconsole_auth_database_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_database_name=>"console", :q_puppet_enterpriseconsole_database_user=>"mYc0nS03u3r", :q_puppet_enterpriseconsole_database_root_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_database_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_inventory_hostname=>hosts[0], :q_puppet_enterpriseconsole_inventory_certname=>hosts[0], :q_puppet_enterpriseconsole_inventory_dnsaltnames=>hosts[0], :q_puppet_enterpriseconsole_inventory_port=>8140, :q_puppet_enterpriseconsole_master_hostname=>hosts[0], :q_puppet_enterpriseconsole_auth_user_email=>"'admin@example.com'", :q_puppet_enterpriseconsole_auth_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_httpd_port=>443, :q_puppet_enterpriseconsole_smtp_host=>"'vm1'", :q_puppet_enterpriseconsole_smtp_use_tls=>"'n'", :q_puppet_enterpriseconsole_smtp_port=>"'25'", :q_puppet_enterpriseconsole_auth_user=>"'admin@example.com'" }
|
438
|
+
expect( @answers['vm1'] ).to be === { :q_install=>"y", :q_puppetagent_install=>"y", :q_puppet_cloud_install=>"y", :q_puppet_symlinks_install=>"y", :q_vendor_packages_install=>"y", :q_puppetagent_certname=>hosts[0].to_s, :q_puppetagent_server=>hosts[0].to_s, :q_puppetmaster_install=>"y", :q_puppet_enterpriseconsole_install=>"y", :q_puppetmaster_certname=>hosts[0].to_s, :q_puppetmaster_dnsaltnames=>"#{hosts[0].to_s},#{hosts[0][:ip]},puppet", :q_puppetmaster_enterpriseconsole_hostname=>hosts[0].to_s, :q_puppetmaster_enterpriseconsole_port=>443, :q_puppetmaster_forward_facts=>"y", :q_puppet_enterpriseconsole_database_install=>"y", :q_puppet_enterpriseconsole_auth_database_name=>"console_auth", :q_puppet_enterpriseconsole_auth_database_user=>"mYu7hu3r", :q_puppet_enterpriseconsole_auth_database_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_database_name=>"console", :q_puppet_enterpriseconsole_database_user=>"mYc0nS03u3r", :q_puppet_enterpriseconsole_database_root_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_database_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_inventory_hostname=>hosts[0].to_s, :q_puppet_enterpriseconsole_inventory_certname=>hosts[0].to_s, :q_puppet_enterpriseconsole_inventory_dnsaltnames=>hosts[0].to_s, :q_puppet_enterpriseconsole_inventory_port=>8140, :q_puppet_enterpriseconsole_master_hostname=>hosts[0].to_s, :q_puppet_enterpriseconsole_auth_user_email=>"'admin@example.com'", :q_puppet_enterpriseconsole_auth_password=>"'~!@\#$%^*-/ aZ'", :q_puppet_enterpriseconsole_httpd_port=>443, :q_puppet_enterpriseconsole_smtp_host=>"'vm1'", :q_puppet_enterpriseconsole_smtp_use_tls=>"'n'", :q_puppet_enterpriseconsole_smtp_port=>"'25'", :q_puppet_enterpriseconsole_auth_user=>"'admin@example.com'" }
|
437
439
|
end
|
438
440
|
|
439
441
|
it 'generates nil answers for a windows host' do
|
@@ -457,6 +459,9 @@ module Beaker
|
|
457
459
|
|
458
460
|
def test_answer_customization(answer_key, value_to_set)
|
459
461
|
@ver = '3.0'
|
462
|
+
if not options[:answers]
|
463
|
+
options[:answers] = {}
|
464
|
+
end
|
460
465
|
options[:answers][answer_key] = value_to_set
|
461
466
|
host_answers = answers.answers['vm1']
|
462
467
|
expect( host_answers[answer_key] ).to be === value_to_set
|
data/spec/beaker/cli_spec.rb
CHANGED
@@ -203,8 +203,8 @@ module Beaker
|
|
203
203
|
options[:hosts_file] = 'sample.cfg'
|
204
204
|
|
205
205
|
hosts = [
|
206
|
-
{ :hypervisor => 'peterPan' },
|
207
|
-
{ :hypervisor => 'theMadHatter' },
|
206
|
+
make_host('petey', { :hypervisor => 'peterPan' }),
|
207
|
+
make_host('hatty', { :hypervisor => 'theMadHatter' }),
|
208
208
|
]
|
209
209
|
cli.instance_variable_set(:@hosts, hosts)
|
210
210
|
|
@@ -303,7 +303,7 @@ module Beaker
|
|
303
303
|
copied_hosts_file = File.join(File.absolute_path(dir), options[:hosts_file])
|
304
304
|
|
305
305
|
hosts = cli.instance_variable_get(:@hosts)
|
306
|
-
hosts << { :hypervisor => 'fusion' }
|
306
|
+
hosts << make_host('fusion', { :hypervisor => 'fusion' })
|
307
307
|
|
308
308
|
reproducing_cmd = "the faith of the people"
|
309
309
|
allow( cli ).to receive( :build_hosts_preserved_reproducing_command ).and_return( reproducing_cmd )
|
@@ -323,8 +323,8 @@ module Beaker
|
|
323
323
|
copied_hosts_file = File.join(File.absolute_path(dir), options[:hosts_file])
|
324
324
|
|
325
325
|
hosts = cli.instance_variable_get(:@hosts)
|
326
|
-
hosts << { :hypervisor => 'fusion' }
|
327
|
-
hosts << { :hypervisor => 'docker' }
|
326
|
+
hosts << make_host('fusion', { :hypervisor => 'fusion' })
|
327
|
+
hosts << make_host('docker', { :hypervisor => 'docker' })
|
328
328
|
|
329
329
|
reproducing_cmd = "the crow flies true says the shoe to you"
|
330
330
|
allow( cli ).to receive( :build_hosts_preserved_reproducing_command ).and_return( reproducing_cmd )
|
@@ -345,7 +345,7 @@ module Beaker
|
|
345
345
|
copied_hosts_file = File.join(File.absolute_path(dir), options[:hosts_file])
|
346
346
|
|
347
347
|
hosts = cli.instance_variable_get(:@hosts)
|
348
|
-
hosts << { :hypervisor => 'docker' }
|
348
|
+
hosts << make_host('docker', { :hypervisor => 'docker' })
|
349
349
|
|
350
350
|
logger = cli.instance_variable_get(:@logger)
|
351
351
|
expect( logger ).to receive( :send ).with( anything, "\nYou can re-run commands against the already provisioned SUT(s) with:\n").never
|
data/spec/beaker/command_spec.rb
CHANGED
@@ -23,6 +23,24 @@ module Beaker
|
|
23
23
|
|
24
24
|
end
|
25
25
|
|
26
|
+
describe '#:prepend_cmds' do
|
27
|
+
it 'can prepend commands' do
|
28
|
+
@command = '/usr/bin/blah'
|
29
|
+
@args = [ 'to', 'the', 'baz' ]
|
30
|
+
@options = { :foo => 'bar', :prepend_cmds => 'aloha!' }
|
31
|
+
|
32
|
+
expect( cmd.cmd_line({}) ).to be == "aloha! /usr/bin/blah --foo=bar to the baz"
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'can handle no prepend_cmds' do
|
36
|
+
@command = '/usr/bin/blah'
|
37
|
+
@args = [ 'to', 'the', 'baz' ]
|
38
|
+
@options = { :foo => 'bar', :prepend_cmds => nil }
|
39
|
+
|
40
|
+
expect( cmd.cmd_line({}) ).to be == "/usr/bin/blah --foo=bar to the baz"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
26
44
|
describe '#options_string' do
|
27
45
|
it 'parses things' do
|
28
46
|
subject.options = { :v => nil, :test => nil,
|
@@ -540,6 +540,7 @@ describe ClassMixedWithDSLHelpers do
|
|
540
540
|
|
541
541
|
describe 'and command line args passed' do
|
542
542
|
it 'modifies SUT trapperkeeper configuration w/ command line args' do
|
543
|
+
host['puppetserver-confdir'] = '/etc/puppetserver/conf.d'
|
543
544
|
expect( subject ).to receive( :modify_tk_config).with(host, puppetserver_conf,
|
544
545
|
custom_puppetserver_opts)
|
545
546
|
subject.with_puppet_running_on(host, conf_opts)
|
@@ -549,6 +550,7 @@ describe ClassMixedWithDSLHelpers do
|
|
549
550
|
describe 'and no command line args passed' do
|
550
551
|
let(:command_line_args) { nil }
|
551
552
|
it 'modifies SUT trapperkeeper configuration w/ puppet defaults' do
|
553
|
+
host['puppetserver-confdir'] = '/etc/puppetserver/conf.d'
|
552
554
|
expect( subject ).to receive( :modify_tk_config).with(host, puppetserver_conf,
|
553
555
|
default_puppetserver_opts)
|
554
556
|
subject.with_puppet_running_on(host, conf_opts)
|
@@ -133,6 +133,8 @@ describe ClassMixedWithDSLInstallUtils do
|
|
133
133
|
logger = double.as_null_object
|
134
134
|
|
135
135
|
allow( subject ).to receive( :metadata ).and_return( metadata )
|
136
|
+
allow( subject ).to receive( :configure_foss_defaults_on ).and_return( true )
|
137
|
+
|
136
138
|
expect( subject ).to receive( :logger ).exactly( 3 ).times.and_return( logger )
|
137
139
|
expect( subject ).to receive( :on ).exactly( 4 ).times
|
138
140
|
|
@@ -151,6 +153,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
151
153
|
host = { 'platform' => 'debian' }
|
152
154
|
logger = double.as_null_object
|
153
155
|
allow( subject ).to receive( :metadata ).and_return( metadata )
|
156
|
+
allow( subject ).to receive( :configure_foss_defaults_on ).and_return( true )
|
154
157
|
expect( subject ).to receive( :logger ).exactly( 3 ).times.and_return( logger )
|
155
158
|
expect( subject ).to receive( :on ).with( host,"test -d #{path} || mkdir -p #{path}").exactly( 1 ).times
|
156
159
|
# this is the the command we want to test
|
@@ -172,6 +175,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
172
175
|
path = '/path/to/repos'
|
173
176
|
cmd = "test -d #{path}/#{repo[:name]} || git clone --branch #{repo[:depth_branch]} --depth #{repo[:depth]} #{repo[:path]} #{path}/#{repo[:name]}"
|
174
177
|
host = { 'platform' => 'debian' }
|
178
|
+
allow( subject ).to receive( :configure_foss_defaults_on ).and_return( true )
|
175
179
|
logger = double.as_null_object
|
176
180
|
allow( subject ).to receive( :metadata ).and_return( metadata )
|
177
181
|
expect( subject ).to receive( :logger ).exactly( 3 ).times.and_return( logger )
|
@@ -192,65 +196,68 @@ describe ClassMixedWithDSLInstallUtils do
|
|
192
196
|
end
|
193
197
|
|
194
198
|
before do
|
199
|
+
allow( subject ).to receive(:options).and_return(opts)
|
195
200
|
allow( subject ).to receive(:hosts).and_return(hosts)
|
196
201
|
allow( subject ).to receive(:on).and_return(Beaker::Result.new({},''))
|
197
202
|
end
|
198
203
|
context 'on el-6' do
|
199
|
-
let(:platform) {
|
204
|
+
let(:platform) { Beaker::Platform.new('el-6-i386') }
|
200
205
|
it 'installs' do
|
201
206
|
expect(subject).to receive(:on).with(hosts[0], /puppetlabs-release-el-6\.noarch\.rpm/)
|
202
|
-
expect(
|
207
|
+
expect(hosts[0]).to receive(:install_package).with('puppet')
|
203
208
|
subject.install_puppet
|
204
209
|
end
|
205
210
|
it 'installs specific version of puppet when passed :version' do
|
206
|
-
expect(
|
211
|
+
expect(hosts[0]).to receive(:install_package).with('puppet-3000')
|
207
212
|
subject.install_puppet( :version => '3000' )
|
208
213
|
end
|
209
214
|
it 'can install specific versions of puppets dependencies' do
|
210
|
-
expect(
|
211
|
-
expect(
|
212
|
-
expect(
|
215
|
+
expect(hosts[0]).to receive(:install_package).with('puppet-3000')
|
216
|
+
expect(hosts[0]).to receive(:install_package).with('hiera-2001')
|
217
|
+
expect(hosts[0]).to receive(:install_package).with('facter-1999')
|
213
218
|
subject.install_puppet( :version => '3000', :facter_version => '1999', :hiera_version => '2001' )
|
214
219
|
end
|
215
220
|
end
|
216
221
|
context 'on el-5' do
|
217
|
-
let(:platform) {
|
222
|
+
let(:platform) { Beaker::Platform.new('el-5-i386') }
|
218
223
|
it 'installs' do
|
219
224
|
expect(subject).to receive(:on).with(hosts[0], /puppetlabs-release-el-5\.noarch\.rpm/)
|
220
|
-
expect(
|
225
|
+
expect(hosts[0]).to receive(:install_package).with('puppet')
|
221
226
|
subject.install_puppet
|
222
227
|
end
|
223
228
|
end
|
224
229
|
context 'on fedora' do
|
225
|
-
let(:platform) {
|
230
|
+
let(:platform) { Beaker::Platform.new('fedora-18-x86_84') }
|
226
231
|
it 'installs' do
|
227
232
|
expect(subject).to receive(:on).with(hosts[0], /puppetlabs-release-fedora-18\.noarch\.rpm/)
|
228
|
-
expect(
|
233
|
+
expect(hosts[0]).to receive(:install_package).with('puppet')
|
229
234
|
subject.install_puppet
|
230
235
|
end
|
231
236
|
end
|
232
237
|
context 'on debian' do
|
233
|
-
let(:platform) {
|
238
|
+
let(:platform) { Beaker::Platform.new('debian-7-amd64') }
|
234
239
|
it 'installs latest if given no version info' do
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
expect(
|
240
|
+
hosts.each do |host|
|
241
|
+
expect(subject).to receive(:install_puppetlabs_release_repo).with(host)
|
242
|
+
end
|
243
|
+
expect(hosts[0]).to receive(:install_package).with('puppet')
|
239
244
|
subject.install_puppet
|
240
245
|
end
|
241
246
|
it 'installs specific version of puppet when passed :version' do
|
242
|
-
expect(
|
247
|
+
expect(hosts[0]).to receive(:install_package).with('puppet=3000-1puppetlabs1')
|
248
|
+
expect(hosts[0]).to receive(:install_package).with('puppet-common=3000-1puppetlabs1')
|
243
249
|
subject.install_puppet( :version => '3000' )
|
244
250
|
end
|
245
251
|
it 'can install specific versions of puppets dependencies' do
|
246
|
-
expect(
|
247
|
-
expect(
|
248
|
-
expect(
|
252
|
+
expect(hosts[0]).to receive(:install_package).with('facter=1999-1puppetlabs1')
|
253
|
+
expect(hosts[0]).to receive(:install_package).with('hiera=2001-1puppetlabs1')
|
254
|
+
expect(hosts[0]).to receive(:install_package).with('puppet-common=3000-1puppetlabs1')
|
255
|
+
expect(hosts[0]).to receive(:install_package).with('puppet=3000-1puppetlabs1')
|
249
256
|
subject.install_puppet( :version => '3000', :facter_version => '1999', :hiera_version => '2001' )
|
250
257
|
end
|
251
258
|
end
|
252
259
|
context 'on windows' do
|
253
|
-
let(:platform) {
|
260
|
+
let(:platform) { Beaker::Platform.new('windows-2008r2-i386') }
|
254
261
|
it 'installs specific version of puppet when passed :version' do
|
255
262
|
allow(hosts[0]).to receive(:is_cygwin?).and_return(true)
|
256
263
|
allow(subject).to receive(:link_exists?).and_return( true )
|
@@ -268,7 +275,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
268
275
|
end
|
269
276
|
end
|
270
277
|
describe 'on unsupported platforms' do
|
271
|
-
let(:platform) { 'solaris-11-x86_64' }
|
278
|
+
let(:platform) { Beaker::Platform.new('solaris-11-x86_64') }
|
272
279
|
let(:host) { make_host('henry', :platform => 'solaris-11-x86_64') }
|
273
280
|
let(:hosts) { [host] }
|
274
281
|
it 'by default raises an error' do
|
@@ -351,6 +358,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
351
358
|
|
352
359
|
before do
|
353
360
|
allow(subject).to receive(:options) { opts }
|
361
|
+
allow( subject ).to receive( :configure_foss_defaults_on ).and_return( true )
|
354
362
|
end
|
355
363
|
|
356
364
|
describe "When host is unsupported platform" do
|
@@ -396,6 +404,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
396
404
|
let( :logger_double ) do
|
397
405
|
logger_double = Object.new
|
398
406
|
allow(logger_double).to receive(:debug)
|
407
|
+
allow( subject ).to receive( :configure_foss_defaults_on ).and_return( true )
|
399
408
|
subject.instance_variable_set(:@logger, logger_double)
|
400
409
|
logger_double
|
401
410
|
end
|
@@ -519,6 +528,10 @@ describe ClassMixedWithDSLInstallUtils do
|
|
519
528
|
FakeHost.create('fakvm', platform, opts)
|
520
529
|
end
|
521
530
|
|
531
|
+
before :each do
|
532
|
+
allow( subject ).to receive( :configure_foss_defaults_on ).and_return( true )
|
533
|
+
end
|
534
|
+
|
522
535
|
it 'sets the find command correctly for el-based systems' do
|
523
536
|
@platform = 'el-1-3'
|
524
537
|
expect( subject ).to receive( :on ).with( host, /\*\.rpm.+rpm\s-ivh/ )
|
@@ -128,6 +128,14 @@ describe ClassMixedWithDSLStructure do
|
|
128
128
|
subject.confine( :to, {} )
|
129
129
|
end
|
130
130
|
|
131
|
+
it 'uses a provided host subset when no criteria is provided' do
|
132
|
+
|
133
|
+
subset = ['host1', 'host2']
|
134
|
+
hosts = subset.dup << 'host3'
|
135
|
+
expect( subject ).to receive( :hosts= ).with( subset )
|
136
|
+
subject.confine :to, {}, subset
|
137
|
+
end
|
138
|
+
|
131
139
|
it 'raises when given mode is not :to or :except' do
|
132
140
|
allow( subject ).to receive( :hosts )
|
133
141
|
allow( subject ).to receive( :hosts= )
|
@@ -17,6 +17,11 @@ module Beaker
|
|
17
17
|
def to_s
|
18
18
|
"me"
|
19
19
|
end
|
20
|
+
|
21
|
+
def exec
|
22
|
+
#noop
|
23
|
+
end
|
24
|
+
|
20
25
|
end
|
21
26
|
|
22
27
|
let (:opts) { @opts || {} }
|
@@ -28,7 +33,7 @@ module Beaker
|
|
28
33
|
it "checks correctly on sles" do
|
29
34
|
@opts = {'platform' => 'sles-is-me'}
|
30
35
|
pkg = 'sles_package'
|
31
|
-
expect( Beaker::Command ).to receive(:new).with("zypper se -i --match-exact #{pkg}").and_return('')
|
36
|
+
expect( Beaker::Command ).to receive(:new).with("zypper se -i --match-exact #{pkg}", [], {:prepend_cmds=>nil, :cmdexe=>false}).and_return('')
|
32
37
|
expect( instance ).to receive(:exec).with('', :accept_all_exit_codes => true).and_return(generate_result("hello", {:exit_code => 0}))
|
33
38
|
expect( instance.check_for_package(pkg) ).to be === true
|
34
39
|
end
|
@@ -36,7 +41,7 @@ module Beaker
|
|
36
41
|
it "checks correctly on fedora" do
|
37
42
|
@opts = {'platform' => 'fedora-is-me'}
|
38
43
|
pkg = 'fedora_package'
|
39
|
-
expect( Beaker::Command ).to receive(:new).with("rpm -q #{pkg}").and_return('')
|
44
|
+
expect( Beaker::Command ).to receive(:new).with("rpm -q #{pkg}", [], {:prepend_cmds=>nil, :cmdexe=>false}).and_return('')
|
40
45
|
expect( instance ).to receive(:exec).with('', :accept_all_exit_codes => true).and_return(generate_result("hello", {:exit_code => 0}))
|
41
46
|
expect( instance.check_for_package(pkg) ).to be === true
|
42
47
|
end
|
@@ -44,7 +49,7 @@ module Beaker
|
|
44
49
|
it "checks correctly on centos" do
|
45
50
|
@opts = {'platform' => 'centos-is-me'}
|
46
51
|
pkg = 'centos_package'
|
47
|
-
expect( Beaker::Command ).to receive(:new).with("rpm -q #{pkg}").and_return('')
|
52
|
+
expect( Beaker::Command ).to receive(:new).with("rpm -q #{pkg}", [], {:prepend_cmds=>nil, :cmdexe=>false}).and_return('')
|
48
53
|
expect( instance ).to receive(:exec).with('', :accept_all_exit_codes => true).and_return(generate_result("hello", {:exit_code => 0}))
|
49
54
|
expect( instance.check_for_package(pkg) ).to be === true
|
50
55
|
end
|
@@ -52,7 +57,7 @@ module Beaker
|
|
52
57
|
it "checks correctly on EOS" do
|
53
58
|
@opts = {'platform' => 'eos-is-me'}
|
54
59
|
pkg = 'eos-package'
|
55
|
-
expect( Beaker::Command ).to receive(:new).with("rpm -q #{pkg}").and_return('')
|
60
|
+
expect( Beaker::Command ).to receive(:new).with("rpm -q #{pkg}", [], {:prepend_cmds=>nil, :cmdexe=>false}).and_return('')
|
56
61
|
expect( instance ).to receive(:exec).with('', :accept_all_exit_codes => true).and_return(generate_result("hello", {:exit_code => 0}))
|
57
62
|
expect( instance.check_for_package(pkg) ).to be === true
|
58
63
|
end
|
@@ -60,7 +65,7 @@ module Beaker
|
|
60
65
|
it "checks correctly on el-" do
|
61
66
|
@opts = {'platform' => 'el-is-me'}
|
62
67
|
pkg = 'el_package'
|
63
|
-
expect( Beaker::Command ).to receive(:new).with("rpm -q #{pkg}").and_return('')
|
68
|
+
expect( Beaker::Command ).to receive(:new).with("rpm -q #{pkg}", [], {:prepend_cmds=>nil, :cmdexe=>false}).and_return('')
|
64
69
|
expect( instance ).to receive(:exec).with('', :accept_all_exit_codes => true).and_return(generate_result("hello", {:exit_code => 0}))
|
65
70
|
expect( instance.check_for_package(pkg) ).to be === true
|
66
71
|
end
|
@@ -68,7 +73,7 @@ module Beaker
|
|
68
73
|
it "checks correctly on debian" do
|
69
74
|
@opts = {'platform' => 'debian-is-me'}
|
70
75
|
pkg = 'debian_package'
|
71
|
-
expect( Beaker::Command ).to receive(:new).with("dpkg -s #{pkg}").and_return('')
|
76
|
+
expect( Beaker::Command ).to receive(:new).with("dpkg -s #{pkg}", [], {:prepend_cmds=>nil, :cmdexe=>false}).and_return('')
|
72
77
|
expect( instance ).to receive(:exec).with('', :accept_all_exit_codes => true).and_return(generate_result("hello", {:exit_code => 0}))
|
73
78
|
expect( instance.check_for_package(pkg) ).to be === true
|
74
79
|
end
|
@@ -76,7 +81,7 @@ module Beaker
|
|
76
81
|
it "checks correctly on ubuntu" do
|
77
82
|
@opts = {'platform' => 'ubuntu-is-me'}
|
78
83
|
pkg = 'ubuntu_package'
|
79
|
-
expect( Beaker::Command ).to receive(:new).with("dpkg -s #{pkg}").and_return('')
|
84
|
+
expect( Beaker::Command ).to receive(:new).with("dpkg -s #{pkg}", [], {:prepend_cmds=>nil, :cmdexe=>false}).and_return('')
|
80
85
|
expect( instance ).to receive(:exec).with('', :accept_all_exit_codes => true).and_return(generate_result("hello", {:exit_code => 0}))
|
81
86
|
expect( instance.check_for_package(pkg) ).to be === true
|
82
87
|
end
|
@@ -84,7 +89,7 @@ module Beaker
|
|
84
89
|
it "checks correctly on cumulus" do
|
85
90
|
@opts = {'platform' => 'cumulus-is-me'}
|
86
91
|
pkg = 'cumulus_package'
|
87
|
-
expect( Beaker::Command ).to receive(:new).with("dpkg -s #{pkg}").and_return('')
|
92
|
+
expect( Beaker::Command ).to receive(:new).with("dpkg -s #{pkg}", [], {:prepend_cmds=>nil, :cmdexe=>false}).and_return('')
|
88
93
|
expect( instance ).to receive(:exec).with('', :accept_all_exit_codes => true).and_return(generate_result("hello", {:exit_code => 0}))
|
89
94
|
expect( instance.check_for_package(pkg) ).to be === true
|
90
95
|
end
|
@@ -92,7 +97,7 @@ module Beaker
|
|
92
97
|
it "checks correctly on solaris-11" do
|
93
98
|
@opts = {'platform' => 'solaris-11-is-me'}
|
94
99
|
pkg = 'solaris-11_package'
|
95
|
-
expect( Beaker::Command ).to receive(:new).with("pkg info #{pkg}").and_return('')
|
100
|
+
expect( Beaker::Command ).to receive(:new).with("pkg info #{pkg}", [], {:prepend_cmds=>nil, :cmdexe=>false}).and_return('')
|
96
101
|
expect( instance ).to receive(:exec).with('', :accept_all_exit_codes => true).and_return(generate_result("hello", {:exit_code => 0}))
|
97
102
|
expect( instance.check_for_package(pkg) ).to be === true
|
98
103
|
end
|
@@ -100,7 +105,7 @@ module Beaker
|
|
100
105
|
it "checks correctly on solaris-10" do
|
101
106
|
@opts = {'platform' => 'solaris-10-is-me'}
|
102
107
|
pkg = 'solaris-10_package'
|
103
|
-
expect( Beaker::Command ).to receive(:new).with("pkginfo #{pkg}").and_return('')
|
108
|
+
expect( Beaker::Command ).to receive(:new).with("pkginfo #{pkg}", [], {:prepend_cmds=>nil, :cmdexe=>false}).and_return('')
|
104
109
|
expect( instance ).to receive(:exec).with('', :accept_all_exit_codes => true).and_return(generate_result("hello", {:exit_code => 0}))
|
105
110
|
expect( instance.check_for_package(pkg) ).to be === true
|
106
111
|
end
|