beaker 3.18.0 → 3.19.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|