beaker 2.13.0 → 2.14.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/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
|