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
data/lib/beaker/version.rb
CHANGED
@@ -450,6 +450,136 @@ module Beaker
|
|
450
450
|
end
|
451
451
|
end
|
452
452
|
end
|
453
|
+
|
454
|
+
describe '#install_local_package' do
|
455
|
+
let( :platform ) { @platform || 'fedora' }
|
456
|
+
let( :version ) { @version || 6 }
|
457
|
+
let( :platform_mock ) {
|
458
|
+
mock = Object.new
|
459
|
+
allow( mock ).to receive( :to_array ) { [platform, version, '', ''] }
|
460
|
+
mock
|
461
|
+
}
|
462
|
+
|
463
|
+
before :each do
|
464
|
+
allow( instance ).to receive( :[] ).with( 'platform' ) { platform_mock }
|
465
|
+
end
|
466
|
+
|
467
|
+
it 'Fedora 22-29: uses dnf' do
|
468
|
+
(22...29).each do |version|
|
469
|
+
@version = version
|
470
|
+
package_file = 'test_123.yay'
|
471
|
+
expect( instance ).to receive( :execute ).with( /^dnf.*#{package_file}$/ )
|
472
|
+
instance.install_local_package( package_file )
|
473
|
+
end
|
474
|
+
end
|
475
|
+
|
476
|
+
it 'Fedora 21 & 30: uses yum' do
|
477
|
+
package_file = 'testing_456.yay'
|
478
|
+
platform_mock = Object.new
|
479
|
+
[21, 30].each do |version|
|
480
|
+
@version = version
|
481
|
+
expect( instance ).to receive( :execute ).with( /^yum.*#{package_file}$/ )
|
482
|
+
instance.install_local_package( package_file )
|
483
|
+
end
|
484
|
+
end
|
485
|
+
|
486
|
+
it 'Centos & EL: uses yum' do
|
487
|
+
package_file = 'testing_789.yay'
|
488
|
+
['centos', 'el'].each do |platform|
|
489
|
+
@platform = platform
|
490
|
+
expect( instance ).to receive( :execute ).with( /^yum.*#{package_file}$/ )
|
491
|
+
instance.install_local_package( package_file )
|
492
|
+
end
|
493
|
+
end
|
494
|
+
|
495
|
+
it 'Debian, Ubuntu, Cumulus: uses dpkg' do
|
496
|
+
package_file = 'testing_012.yay'
|
497
|
+
['debian', 'ubuntu', 'cumulus'].each do |platform|
|
498
|
+
@platform = platform
|
499
|
+
expect( instance ).to receive( :execute ).with( /^dpkg.*#{package_file}$/ )
|
500
|
+
expect( instance ).to receive( :execute ).with( 'apt-get update' )
|
501
|
+
instance.install_local_package( package_file )
|
502
|
+
end
|
503
|
+
end
|
504
|
+
|
505
|
+
it 'Solaris: calls solaris-specific install method' do
|
506
|
+
package_file = 'testing_345.yay'
|
507
|
+
@platform = 'solaris'
|
508
|
+
expect( instance ).to receive( :solaris_install_local_package ).with( package_file, anything )
|
509
|
+
instance.install_local_package( package_file )
|
510
|
+
end
|
511
|
+
|
512
|
+
it 'OSX: calls host.install_package' do
|
513
|
+
package_file = 'testing_678.yay'
|
514
|
+
@platform = 'osx'
|
515
|
+
expect( instance ).to receive( :install_package ).with( package_file )
|
516
|
+
instance.install_local_package( package_file )
|
517
|
+
end
|
518
|
+
end
|
519
|
+
|
520
|
+
describe '#uncompress_local_tarball' do
|
521
|
+
let( :platform ) { @platform || 'fedora' }
|
522
|
+
let( :version ) { @version || 6 }
|
523
|
+
let( :tar_file ) { 'test.tar.gz' }
|
524
|
+
let( :base_dir ) { '/base/dir/fake' }
|
525
|
+
let( :download_file ) { 'download_file.txt' }
|
526
|
+
let( :platform_mock ) {
|
527
|
+
mock = Object.new
|
528
|
+
allow( mock ).to receive( :to_array ) { [platform, version, '', ''] }
|
529
|
+
mock
|
530
|
+
}
|
531
|
+
|
532
|
+
before :each do
|
533
|
+
allow( instance ).to receive( :[] ).with( 'platform' ) { platform_mock }
|
534
|
+
end
|
535
|
+
|
536
|
+
it 'rejects unsupported platforms' do
|
537
|
+
@platform = 'huawei'
|
538
|
+
expect {
|
539
|
+
instance.uncompress_local_tarball( tar_file, base_dir, download_file )
|
540
|
+
}.to raise_error(
|
541
|
+
/^Platform #{platform} .* not supported .* uncompress_local_tarball$/
|
542
|
+
)
|
543
|
+
end
|
544
|
+
|
545
|
+
it 'untars the file given' do
|
546
|
+
@platform = 'sles'
|
547
|
+
expect( instance ).to receive( :execute ).with(
|
548
|
+
/^tar .* #{tar_file} .* #{base_dir}$/
|
549
|
+
)
|
550
|
+
instance.uncompress_local_tarball( tar_file, base_dir, download_file )
|
551
|
+
end
|
552
|
+
|
553
|
+
context 'on solaris' do
|
554
|
+
|
555
|
+
before :each do
|
556
|
+
@platform = 'solaris'
|
557
|
+
end
|
558
|
+
|
559
|
+
it 'rejects unsupported versions' do
|
560
|
+
@version = '12'
|
561
|
+
expect {
|
562
|
+
instance.uncompress_local_tarball( tar_file, base_dir, download_file )
|
563
|
+
}.to raise_error(
|
564
|
+
/^Solaris #{version} .* not supported .* uncompress_local_tarball$/
|
565
|
+
)
|
566
|
+
end
|
567
|
+
|
568
|
+
it 'v10: gunzips before untaring' do
|
569
|
+
@version = '10'
|
570
|
+
expect( instance ).to receive( :execute ).with( /^gunzip #{tar_file}$/ )
|
571
|
+
expect( instance ).to receive( :execute ).with( /^tar .* #{download_file}$/ )
|
572
|
+
instance.uncompress_local_tarball( tar_file, base_dir, download_file )
|
573
|
+
end
|
574
|
+
|
575
|
+
it 'v11: untars only' do
|
576
|
+
@version = '11'
|
577
|
+
expect( instance ).to receive( :execute ).with( /^tar .* #{tar_file}$/ )
|
578
|
+
instance.uncompress_local_tarball( tar_file, base_dir, download_file )
|
579
|
+
end
|
580
|
+
|
581
|
+
end
|
582
|
+
end
|
453
583
|
end
|
454
584
|
end
|
455
585
|
|
@@ -162,7 +162,34 @@ module Beaker
|
|
162
162
|
|
163
163
|
it 'should pass the Dockerfile on to Docker::Image.create' do
|
164
164
|
allow( docker ).to receive(:dockerfile_for).and_return('special testing value')
|
165
|
-
expect( ::Docker::Image ).to receive(:build).with('special testing value', { :rm => true })
|
165
|
+
expect( ::Docker::Image ).to receive(:build).with('special testing value', { :rm => true, :buildargs => '{}' })
|
166
|
+
|
167
|
+
docker.provision
|
168
|
+
end
|
169
|
+
|
170
|
+
it 'should pass the buildargs from ENV DOCKER_BUILDARGS on to Docker::Image.create' do
|
171
|
+
allow( docker ).to receive(:dockerfile_for).and_return('special testing value')
|
172
|
+
ENV['DOCKER_BUILDARGS'] = 'HTTP_PROXY=http://1.1.1.1:3128'
|
173
|
+
expect( ::Docker::Image ).to receive(:build).with('special testing value', { :rm => true, :buildargs => "{\"HTTP_PROXY\":\"http://1.1.1.1:3128\"}" })
|
174
|
+
|
175
|
+
docker.provision
|
176
|
+
end
|
177
|
+
|
178
|
+
it 'should create a container based on the Image (identified by image.id)' do
|
179
|
+
hosts.each do |host|
|
180
|
+
expect( ::Docker::Container ).to receive(:create).with({
|
181
|
+
'Image' => image.id,
|
182
|
+
'Hostname' => host.name,
|
183
|
+
})
|
184
|
+
end
|
185
|
+
|
186
|
+
docker.provision
|
187
|
+
end
|
188
|
+
|
189
|
+
it 'should pass the multiple buildargs from ENV DOCKER_BUILDARGS on to Docker::Image.create' do
|
190
|
+
allow( docker ).to receive(:dockerfile_for).and_return('special testing value')
|
191
|
+
ENV['DOCKER_BUILDARGS'] = 'HTTP_PROXY=http://1.1.1.1:3128 HTTPS_PROXY=https://1.1.1.1:3129'
|
192
|
+
expect( ::Docker::Image ).to receive(:build).with('special testing value', { :rm => true, :buildargs => "{\"HTTP_PROXY\":\"http://1.1.1.1:3128\",\"HTTPS_PROXY\":\"https://1.1.1.1:3129\"}" })
|
166
193
|
|
167
194
|
docker.provision
|
168
195
|
end
|
@@ -140,23 +140,31 @@ module Beaker
|
|
140
140
|
let(:env) { @env || {:level => 'highest'} }
|
141
141
|
let(:argv) { @argv || {:level => 'second'} }
|
142
142
|
let(:host_file) { @host_file || {:level => 'third'} }
|
143
|
-
let(:opt_file) { @opt_file || {
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
143
|
+
let(:opt_file) { @opt_file || {
|
144
|
+
:level => 'fourth',
|
145
|
+
:ssh => {
|
146
|
+
:auth_methods => 'auth123',
|
147
|
+
:user_known_hosts_file => 'hosts123'
|
148
|
+
}
|
149
|
+
}}
|
149
150
|
let(:subcommand_file) {@subcommand_file || {:level => 'fifth'}}
|
150
|
-
let(:
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
151
|
+
let(:homedir_file) {@homedir_file || {
|
152
|
+
:level => 'sixth',
|
153
|
+
:ssh => {
|
154
|
+
:auth_methods => 'auth_home_123'
|
155
|
+
}
|
156
|
+
}}
|
157
|
+
let(:presets) { {
|
158
|
+
:level => 'lowest',
|
159
|
+
:ssh => {
|
160
|
+
:config => 'config123',
|
161
|
+
:paranoid => 'paranoid123',
|
162
|
+
:port => 'port123',
|
163
|
+
:forward_agent => 'forwardagent123',
|
164
|
+
:keys => 'keys123',
|
165
|
+
:keepalive => 'keepalive123'
|
166
|
+
}
|
167
|
+
}}
|
160
168
|
|
161
169
|
before :each do
|
162
170
|
expect(parser).to receive(:normalize_args).and_return(true)
|
@@ -175,11 +183,11 @@ module Beaker
|
|
175
183
|
allow(OptionsFileParser).to receive(:parse_options_file).and_return(opt_file)
|
176
184
|
allow(parser).to receive(:parse_hosts_options).and_return(host_file)
|
177
185
|
|
178
|
-
allow(SubcommandOptionsParser).to receive(:parse_subcommand_options).and_return(subcommand_file)
|
186
|
+
allow(SubcommandOptionsParser).to receive(:parse_subcommand_options).and_return(homedir_file, subcommand_file)
|
179
187
|
end
|
180
188
|
|
181
189
|
it 'presets have the lowest priority' do
|
182
|
-
@env = @argv = @host_file = @opt_file = @subcommand_file = {}
|
190
|
+
@env = @argv = @host_file = @opt_file = @subcommand_file = @homedir_file = {}
|
183
191
|
mock_out_parsing
|
184
192
|
|
185
193
|
opts = parser.parse_args([])
|
@@ -188,6 +196,18 @@ module Beaker
|
|
188
196
|
expect(attribution[:level]).to be == 'preset'
|
189
197
|
end
|
190
198
|
|
199
|
+
it 'home directory options should have sixth priority' do
|
200
|
+
@env = @argv = @host_file = @opt_file = @subcommand_file = {}
|
201
|
+
mock_out_parsing
|
202
|
+
|
203
|
+
opts = parser.parse_args([])
|
204
|
+
attribution = parser.attribution
|
205
|
+
expect(opts[:ssh][:auth_methods]).to be == 'auth_home_123'
|
206
|
+
expect(attribution[:ssh][:auth_methods]).to be == 'homedir'
|
207
|
+
expect(opts[:level]).to be == 'sixth'
|
208
|
+
expect(attribution[:level]).to be == 'homedir'
|
209
|
+
end
|
210
|
+
|
191
211
|
it 'subcommand_options should have fifth priority' do
|
192
212
|
@env = @argv = @host_file = @opt_file = {}
|
193
213
|
mock_out_parsing
|
@@ -3,8 +3,11 @@ require 'spec_helper'
|
|
3
3
|
module Beaker
|
4
4
|
module Options
|
5
5
|
describe '#parse_subcommand_options' do
|
6
|
-
let(
|
6
|
+
let(:home_options_file_path) {ENV['HOME']+'/.beaker/subcommand_options.yaml'}
|
7
|
+
let( :parser ) {Beaker::Options::SubcommandOptionsParser.parse_subcommand_options(argv, options_file)}
|
8
|
+
let( :file_parser ){Beaker::Options::SubcommandOptionsParser.parse_options_file({})}
|
7
9
|
let( :argv ) {[]}
|
10
|
+
let( :options_file ) {""}
|
8
11
|
|
9
12
|
it 'returns an empty OptionsHash if not executing a subcommand' do
|
10
13
|
expect(parser).to be_kind_of(OptionsHash)
|
@@ -21,13 +24,33 @@ module Beaker
|
|
21
24
|
|
22
25
|
describe 'when the subcommand is not init' do
|
23
26
|
let( :argv ) {['provision']}
|
27
|
+
let(:options_file) {Beaker::Subcommands::SubcommandUtil::SUBCOMMAND_OPTIONS}
|
28
|
+
it 'calls parse_options_file with subcommand options file when home_dir is false' do
|
29
|
+
allow(parser).to receive(:execute_subcommand?).with('provision').and_return true
|
30
|
+
allow(parser).to receive(:parse_options_file).with(Beaker::Subcommands::SubcommandUtil::SUBCOMMAND_OPTIONS)
|
31
|
+
end
|
32
|
+
|
33
|
+
let( :options_file ) {home_options_file_path}
|
34
|
+
it 'calls parse_options_file with home directory options file when home_dir is true' do
|
35
|
+
allow(parser).to receive(:execute_subcommand?).with('provision').and_return true
|
36
|
+
allow(parser).to receive(:parse_options_file).with(home_options_file_path)
|
37
|
+
end
|
38
|
+
|
24
39
|
it 'checks for file existence and loads the YAML file' do
|
25
|
-
|
40
|
+
allow(File).to receive(:exist?).and_return true
|
26
41
|
allow(YAML).to receive(:load_file).and_return({})
|
27
|
-
expect(
|
28
|
-
expect(
|
42
|
+
expect(file_parser).to be_kind_of(Hash)
|
43
|
+
expect(file_parser).not_to be_kind_of(OptionsHash)
|
29
44
|
end
|
45
|
+
|
46
|
+
let(:options_file) {""}
|
47
|
+
it 'returns an empty options hash when file does not exist' do
|
48
|
+
allow(File).to receive(:exist?).and_return false
|
49
|
+
expect(parser).to be_kind_of(OptionsHash)
|
50
|
+
expect(parser).to be_empty
|
51
|
+
end
|
52
|
+
|
30
53
|
end
|
31
54
|
end
|
32
55
|
end
|
33
|
-
end
|
56
|
+
end
|
@@ -18,25 +18,25 @@ module Beaker
|
|
18
18
|
|
19
19
|
it 'self.connect creates connects and returns a proxy for that connection' do
|
20
20
|
# grrr
|
21
|
-
expect( Net::SSH ).to receive(:start).with(
|
21
|
+
expect( Net::SSH ).to receive(:start).with( vmhostname, user, ssh_opts ).and_return(true)
|
22
22
|
connection_constructor = SshConnection.connect name_hash, user, ssh_opts, options
|
23
23
|
expect( connection_constructor ).to be_a_kind_of SshConnection
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'connect creates a new connection' do
|
27
|
-
expect( Net::SSH ).to receive( :start ).with(
|
27
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts).and_return(true)
|
28
28
|
connection.connect
|
29
29
|
end
|
30
30
|
|
31
31
|
it 'connect caches its connection' do
|
32
|
-
expect( Net::SSH ).to receive( :start ).with(
|
32
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts ).once.and_return true
|
33
33
|
connection.connect
|
34
34
|
connection.connect
|
35
35
|
end
|
36
36
|
|
37
|
-
it 'attempts to connect by
|
38
|
-
expect( Net::SSH ).to receive( :start ).with(
|
39
|
-
expect( Net::SSH ).to receive( :start ).with(
|
37
|
+
it 'attempts to connect by ip address if vmhostname connection fails' do
|
38
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts).and_return(false)
|
39
|
+
expect( Net::SSH ).to receive( :start ).with( ip, user, ssh_opts).and_return(true).once
|
40
40
|
expect( Net::SSH ).to receive( :start ).with( hostname, user, ssh_opts).never
|
41
41
|
connection.connect
|
42
42
|
end
|
@@ -53,7 +53,7 @@ module Beaker
|
|
53
53
|
|
54
54
|
it 'runs ssh close' do
|
55
55
|
mock_ssh = Object.new
|
56
|
-
expect( Net::SSH ).to receive( :start ).with(
|
56
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts) { mock_ssh }
|
57
57
|
connection.connect
|
58
58
|
|
59
59
|
allow( mock_ssh).to receive( :closed? ).once.and_return(false)
|
@@ -63,7 +63,7 @@ module Beaker
|
|
63
63
|
|
64
64
|
it 'sets the @ssh variable to nil' do
|
65
65
|
mock_ssh = Object.new
|
66
|
-
expect( Net::SSH ).to receive( :start ).with(
|
66
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts) { mock_ssh }
|
67
67
|
connection.connect
|
68
68
|
|
69
69
|
allow( mock_ssh).to receive( :closed? ).once.and_return(false)
|
@@ -76,7 +76,7 @@ module Beaker
|
|
76
76
|
it 'calls ssh shutdown & re-raises if ssh close fails with an unexpected Error' do
|
77
77
|
mock_ssh = Object.new
|
78
78
|
allow( mock_ssh ).to receive( :close ) { raise StandardError }
|
79
|
-
expect( Net::SSH ).to receive( :start ).with(
|
79
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts) { mock_ssh }
|
80
80
|
connection.connect
|
81
81
|
|
82
82
|
allow( mock_ssh).to receive( :closed? ).once.and_return(false)
|
@@ -90,7 +90,7 @@ module Beaker
|
|
90
90
|
describe '#execute' do
|
91
91
|
it 'retries if failed with a retryable exception' do
|
92
92
|
mock_ssh = Object.new
|
93
|
-
expect( Net::SSH ).to receive( :start ).with(
|
93
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts) { mock_ssh }
|
94
94
|
connection.connect
|
95
95
|
|
96
96
|
allow( subject ).to receive( :close )
|
@@ -102,7 +102,7 @@ module Beaker
|
|
102
102
|
|
103
103
|
it 'raises an error if it fails both times' do
|
104
104
|
mock_ssh = Object.new
|
105
|
-
expect( Net::SSH ).to receive( :start ).with(
|
105
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts) { mock_ssh }
|
106
106
|
connection.connect
|
107
107
|
|
108
108
|
allow( subject ).to receive( :close )
|
@@ -115,7 +115,7 @@ module Beaker
|
|
115
115
|
describe '#request_terminal_for' do
|
116
116
|
it 'fails correctly by raising Net::SSH::Exception' do
|
117
117
|
mock_ssh = Object.new
|
118
|
-
expect( Net::SSH ).to receive( :start ).with(
|
118
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts) { mock_ssh }
|
119
119
|
connection.connect
|
120
120
|
|
121
121
|
mock_channel = Object.new
|
@@ -128,7 +128,7 @@ module Beaker
|
|
128
128
|
describe '#register_stdout_for' do
|
129
129
|
before :each do
|
130
130
|
@mock_ssh = Object.new
|
131
|
-
expect( Net::SSH ).to receive( :start ).with(
|
131
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts) { @mock_ssh }
|
132
132
|
connection.connect
|
133
133
|
|
134
134
|
@data = '7 of clubs'
|
@@ -164,7 +164,7 @@ module Beaker
|
|
164
164
|
|
165
165
|
before :each do
|
166
166
|
@mock_ssh = Object.new
|
167
|
-
expect( Net::SSH ).to receive( :start ).with(
|
167
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts) { @mock_ssh }
|
168
168
|
connection.connect
|
169
169
|
|
170
170
|
@data = '3 of spades'
|
@@ -203,7 +203,7 @@ module Beaker
|
|
203
203
|
|
204
204
|
it 'assigns the output\'s exit code correctly from the data' do
|
205
205
|
mock_ssh = Object.new
|
206
|
-
expect( Net::SSH ).to receive( :start ).with(
|
206
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts) { mock_ssh }
|
207
207
|
connection.connect
|
208
208
|
|
209
209
|
data = '10 of jeromes'
|
@@ -236,7 +236,7 @@ module Beaker
|
|
236
236
|
@mock_scp = Object.new
|
237
237
|
allow( @mock_scp ).to receive( :upload! )
|
238
238
|
allow( @mock_ssh ).to receive( :scp ).and_return( @mock_scp )
|
239
|
-
expect( Net::SSH ).to receive( :start ).with(
|
239
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts) { @mock_ssh }
|
240
240
|
connection.connect
|
241
241
|
end
|
242
242
|
|
@@ -263,7 +263,7 @@ module Beaker
|
|
263
263
|
@mock_scp = Object.new
|
264
264
|
allow( @mock_scp ).to receive( :download! )
|
265
265
|
allow( @mock_ssh ).to receive( :scp ).and_return( @mock_scp )
|
266
|
-
expect( Net::SSH ).to receive( :start ).with(
|
266
|
+
expect( Net::SSH ).to receive( :start ).with( vmhostname, user, ssh_opts) { @mock_ssh }
|
267
267
|
connection.connect
|
268
268
|
end
|
269
269
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -290,6 +290,20 @@ dependencies:
|
|
290
290
|
- - ! '>='
|
291
291
|
- !ruby/object:Gem::Version
|
292
292
|
version: '0'
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: beaker-puppet
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
296
|
+
requirements:
|
297
|
+
- - ~>
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: '0.0'
|
300
|
+
type: :runtime
|
301
|
+
prerelease: false
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
303
|
+
requirements:
|
304
|
+
- - ~>
|
305
|
+
- !ruby/object:Gem::Version
|
306
|
+
version: '0.0'
|
293
307
|
- !ruby/object:Gem::Dependency
|
294
308
|
name: rbvmomi
|
295
309
|
requirement: !ruby/object:Gem::Requirement
|
@@ -412,10 +426,7 @@ files:
|
|
412
426
|
- acceptance/config/acceptance-options.rb
|
413
427
|
- acceptance/config/base/acceptance-options.rb
|
414
428
|
- acceptance/config/hypervisor/acceptance-options.rb
|
415
|
-
- acceptance/config/puppetgem/acceptance-options.rb
|
416
|
-
- acceptance/config/puppetgit/acceptance-options.rb
|
417
429
|
- acceptance/config/puppetpe/acceptance-options.rb
|
418
|
-
- acceptance/config/puppetpkg/acceptance-options.rb
|
419
430
|
- acceptance/config/subcommands/acceptance-options.rb
|
420
431
|
- acceptance/fixtures/README.md
|
421
432
|
- acceptance/fixtures/files/failing_shell_script.txt
|
@@ -474,9 +485,6 @@ files:
|
|
474
485
|
- acceptance/lib/helpers/test_helper.rb
|
475
486
|
- acceptance/pre_suite/README.md
|
476
487
|
- acceptance/pre_suite/pe/install.rb
|
477
|
-
- acceptance/pre_suite/puppet_gem/install.rb
|
478
|
-
- acceptance/pre_suite/puppet_git/install.rb
|
479
|
-
- acceptance/pre_suite/puppet_pkg/install.rb
|
480
488
|
- acceptance/pre_suite/subcommands/05_install_ruby.rb
|
481
489
|
- acceptance/pre_suite/subcommands/08_install_beaker.rb
|
482
490
|
- acceptance/tests/base/README.md
|
@@ -518,11 +526,6 @@ files:
|
|
518
526
|
- acceptance/tests/hypervisor/communication_test.rb
|
519
527
|
- acceptance/tests/install/from_file.rb
|
520
528
|
- acceptance/tests/load_path_bootstrap.rb
|
521
|
-
- acceptance/tests/puppet/README.md
|
522
|
-
- acceptance/tests/puppet/install_smoke_test.rb
|
523
|
-
- acceptance/tests/puppet/stub_host.rb
|
524
|
-
- acceptance/tests/puppet/web_helpers_test.rb
|
525
|
-
- acceptance/tests/puppet/with_puppet_running_on.rb
|
526
529
|
- acceptance/tests/subcommands/destroy.rb
|
527
530
|
- acceptance/tests/subcommands/exec.rb
|
528
531
|
- acceptance/tests/subcommands/init.rb
|
@@ -598,18 +601,10 @@ files:
|
|
598
601
|
- lib/beaker/dsl/helpers/facter_helpers.rb
|
599
602
|
- lib/beaker/dsl/helpers/hocon_helpers.rb
|
600
603
|
- lib/beaker/dsl/helpers/host_helpers.rb
|
601
|
-
- lib/beaker/dsl/helpers/puppet_helpers.rb
|
602
604
|
- lib/beaker/dsl/helpers/test_helpers.rb
|
603
|
-
- lib/beaker/dsl/helpers/tk_helpers.rb
|
604
605
|
- lib/beaker/dsl/helpers/web_helpers.rb
|
605
606
|
- lib/beaker/dsl/install_utils.rb
|
606
|
-
- lib/beaker/dsl/install_utils/aio_defaults.rb
|
607
|
-
- lib/beaker/dsl/install_utils/ezbake_utils.rb
|
608
|
-
- lib/beaker/dsl/install_utils/foss_defaults.rb
|
609
|
-
- lib/beaker/dsl/install_utils/foss_utils.rb
|
610
|
-
- lib/beaker/dsl/install_utils/module_utils.rb
|
611
607
|
- lib/beaker/dsl/install_utils/pe_defaults.rb
|
612
|
-
- lib/beaker/dsl/install_utils/puppet_utils.rb
|
613
608
|
- lib/beaker/dsl/install_utils/windows_utils.rb
|
614
609
|
- lib/beaker/dsl/outcomes.rb
|
615
610
|
- lib/beaker/dsl/patterns.rb
|
@@ -678,7 +673,6 @@ files:
|
|
678
673
|
- lib/beaker/network_manager.rb
|
679
674
|
- lib/beaker/options.rb
|
680
675
|
- lib/beaker/options/command_line_parser.rb
|
681
|
-
- lib/beaker/options/homedir_options_file_parser.rb
|
682
676
|
- lib/beaker/options/hosts_file_parser.rb
|
683
677
|
- lib/beaker/options/options_file_parser.rb
|
684
678
|
- lib/beaker/options/options_hash.rb
|
@@ -709,16 +703,10 @@ files:
|
|
709
703
|
- spec/beaker/command_spec.rb
|
710
704
|
- spec/beaker/dsl/assertions_spec.rb
|
711
705
|
- spec/beaker/dsl/ezbake_utils_spec.rb
|
712
|
-
- spec/beaker/dsl/helpers/facter_helpers_spec.rb
|
713
706
|
- spec/beaker/dsl/helpers/host_helpers_spec.rb
|
714
|
-
- spec/beaker/dsl/helpers/puppet_helpers_spec.rb
|
715
707
|
- spec/beaker/dsl/helpers/test_helpers_spec.rb
|
716
|
-
- spec/beaker/dsl/helpers/tk_helpers_spec.rb
|
717
708
|
- spec/beaker/dsl/helpers/web_helpers_spec.rb
|
718
|
-
- spec/beaker/dsl/install_utils/foss_utils_spec.rb
|
719
|
-
- spec/beaker/dsl/install_utils/module_utils_spec.rb
|
720
709
|
- spec/beaker/dsl/install_utils/pe_defaults_spec.rb
|
721
|
-
- spec/beaker/dsl/install_utils/puppet_utils_spec.rb
|
722
710
|
- spec/beaker/dsl/install_utils/windows_utils_spec.rb
|
723
711
|
- spec/beaker/dsl/outcomes_spec.rb
|
724
712
|
- spec/beaker/dsl/roles_spec.rb
|