beaker 3.37.0 → 4.0.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 +4 -4
- data/CHANGELOG.md +32 -1
- data/acceptance/lib/helpers/test_helper.rb +0 -28
- data/acceptance/pre_suite/subcommands/08_install_beaker.rb +1 -1
- data/acceptance/tests/base/dsl/helpers/host_helpers/backup_the_file_test.rb +9 -9
- data/acceptance/tests/base/dsl/helpers/host_helpers/create_remote_file_test.rb +106 -103
- data/acceptance/tests/base/dsl/helpers/host_helpers/curl_on_test.rb +2 -2
- data/acceptance/tests/base/dsl/helpers/host_helpers/install_package_test.rb +1 -50
- data/acceptance/tests/base/dsl/helpers/host_helpers/retry_on_test.rb +3 -3
- data/acceptance/tests/base/dsl/helpers/host_helpers/rsync_to_test.rb +71 -27
- data/acceptance/tests/base/dsl/helpers/host_helpers/scp_from_test.rb +3 -3
- data/acceptance/tests/base/dsl/helpers/host_helpers/scp_to_test.rb +3 -3
- data/acceptance/tests/base/host/file_test.rb +81 -0
- data/beaker.gemspec +6 -14
- data/docs/how_to/install_puppet.md +2 -0
- data/docs/how_to/the_beaker_dsl.md +150 -150
- data/docs/how_to/upgrade_from_3_to_4.md +52 -0
- data/lib/beaker.rb +0 -10
- data/lib/beaker/dsl.rb +7 -0
- data/lib/beaker/dsl/helpers.rb +4 -6
- data/lib/beaker/dsl/helpers/host_helpers.rb +10 -34
- data/lib/beaker/dsl/install_utils.rb +0 -5
- data/lib/beaker/dsl/roles.rb +1 -1
- data/lib/beaker/host.rb +12 -11
- data/lib/beaker/host/aix/file.rb +2 -2
- data/lib/beaker/host/aix/group.rb +1 -0
- data/lib/beaker/host/aix/user.rb +1 -0
- data/lib/beaker/host/freebsd/pkg.rb +9 -0
- data/lib/beaker/host/mac/group.rb +1 -0
- data/lib/beaker/host/mac/user.rb +8 -13
- data/lib/beaker/host/pswindows/file.rb +2 -2
- data/lib/beaker/host/pswindows/group.rb +1 -0
- data/lib/beaker/host/pswindows/user.rb +1 -0
- data/lib/beaker/host/unix/exec.rb +5 -5
- data/lib/beaker/host/unix/file.rb +43 -2
- data/lib/beaker/host/unix/group.rb +1 -0
- data/lib/beaker/host/unix/user.rb +1 -0
- data/lib/beaker/host/windows/file.rb +32 -2
- data/lib/beaker/host/windows/group.rb +1 -0
- data/lib/beaker/host/windows/user.rb +1 -0
- data/lib/beaker/host_prebuilt_steps.rb +0 -4
- data/lib/beaker/hypervisor.rb +1 -5
- data/lib/beaker/result.rb +4 -0
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/dsl/helpers/host_helpers_spec.rb +14 -51
- data/spec/beaker/dsl/wrappers_spec.rb +0 -46
- data/spec/beaker/host/mac/user_spec.rb +5 -8
- data/spec/beaker/host/unix/exec_spec.rb +1 -1
- data/spec/beaker/host/unix/file_spec.rb +39 -0
- data/spec/beaker/host/windows/file_spec.rb +55 -0
- data/spec/beaker/host_prebuilt_steps_spec.rb +16 -67
- data/spec/beaker/host_spec.rb +10 -14
- data/spec/beaker/hypervisor/hypervisor_spec.rb +1 -1
- metadata +47 -165
- data/acceptance/lib/beaker/acceptance/install_utils.rb +0 -58
- data/acceptance/tests/base/dsl/helpers/host_helpers/create_tmpdir_on_test.rb +0 -68
- data/acceptance/tests/base/dsl/install_utils/clone_git_repo_on_test.rb +0 -49
- data/lib/beaker/dsl/helpers/facter_helpers.rb +0 -57
- data/lib/beaker/dsl/install_utils/pe_defaults.rb +0 -143
- data/lib/beaker/dsl/install_utils/windows_utils.rb +0 -223
- data/spec/beaker/dsl/ezbake_utils_spec.rb +0 -279
- data/spec/beaker/dsl/install_utils/pe_defaults_spec.rb +0 -61
- data/spec/beaker/dsl/install_utils/windows_utils_spec.rb +0 -263
@@ -1,11 +1,11 @@
|
|
1
1
|
module Windows::File
|
2
2
|
include Beaker::CommandFactory
|
3
3
|
|
4
|
-
def tmpfile(name)
|
4
|
+
def tmpfile(name = '')
|
5
5
|
execute("cygpath -m $(mktemp -t #{name}.XXXXXX)")
|
6
6
|
end
|
7
7
|
|
8
|
-
def tmpdir(name)
|
8
|
+
def tmpdir(name = '')
|
9
9
|
execute("cygpath -m $(mktemp -td #{name}.XXXXXX)")
|
10
10
|
end
|
11
11
|
|
@@ -15,6 +15,36 @@ module Windows::File
|
|
15
15
|
tmp_path.gsub(/\n/, '') + '\\TEMP'
|
16
16
|
end
|
17
17
|
|
18
|
+
# (see {Beaker::Host::Unix::File#chown})
|
19
|
+
# @note Cygwin's `chown` implementation does not support
|
20
|
+
# windows-, DOS-, or mixed-style paths, only UNIX/POSIX-style.
|
21
|
+
# This method simply wraps the normal Host#chown call with
|
22
|
+
# a call to cygpath to sanitize input.
|
23
|
+
def chown(user, path, recursive=false)
|
24
|
+
cygpath = execute("cygpath -u #{path}")
|
25
|
+
super(user, cygpath, recursive)
|
26
|
+
end
|
27
|
+
|
28
|
+
# (see {Beaker::Host::Unix::File#chgrp})
|
29
|
+
# @note Cygwin's `chgrp` implementation does not support
|
30
|
+
# windows-, DOS-, or mixed-style paths, only UNIX/POSIX-style.
|
31
|
+
# This method simply wraps the normal Host#chgrp call with
|
32
|
+
# a call to cygpath to sanitize input.
|
33
|
+
def chgrp(group, path, recursive=false)
|
34
|
+
cygpath = execute("cygpath -u #{path}")
|
35
|
+
super(group, cygpath, recursive)
|
36
|
+
end
|
37
|
+
|
38
|
+
# (see {Beaker::Host::Unix::File#ls_ld})
|
39
|
+
# @note Cygwin's `ls_ld` implementation does not support
|
40
|
+
# windows-, DOS-, or mixed-style paths, only UNIX/POSIX-style.
|
41
|
+
# This method simply wraps the normal Host#ls_ld call with
|
42
|
+
# a call to cygpath to sanitize input.
|
43
|
+
def ls_ld(path)
|
44
|
+
cygpath = execute("cygpath -u #{path}")
|
45
|
+
super(cygpath)
|
46
|
+
end
|
47
|
+
|
18
48
|
# Updates a file path for use with SCP, depending on the SSH Server
|
19
49
|
#
|
20
50
|
# @note This will fail with an SSH server that is not OpenSSL or BitVise.
|
@@ -573,10 +573,6 @@ module Beaker
|
|
573
573
|
logger.debug(skip_msg)
|
574
574
|
end
|
575
575
|
|
576
|
-
# REMOVE POST BEAKER 3: backwards compatability, do some setup based upon the global type
|
577
|
-
# this is the worst and i hate it
|
578
|
-
Class.new.extend(Beaker::DSL).configure_type_defaults_on(host)
|
579
|
-
|
580
576
|
if skip_msg.nil?
|
581
577
|
#close the host to re-establish the connection with the new sshd settings
|
582
578
|
host.close
|
data/lib/beaker/hypervisor.rb
CHANGED
@@ -28,11 +28,7 @@ module Beaker
|
|
28
28
|
Beaker::Hypervisor
|
29
29
|
else
|
30
30
|
# Custom hypervisor
|
31
|
-
|
32
|
-
require "beaker/hypervisor/#{type}"
|
33
|
-
rescue LoadError
|
34
|
-
raise "Invalid hypervisor: #{type}"
|
35
|
-
end
|
31
|
+
require "beaker/hypervisor/#{type}"
|
36
32
|
Beaker.const_get(type.split('_').collect(&:capitalize).join)
|
37
33
|
end
|
38
34
|
|
data/lib/beaker/result.rb
CHANGED
data/lib/beaker/version.rb
CHANGED
@@ -352,57 +352,6 @@ describe ClassMixedWithDSLHelpers do
|
|
352
352
|
end
|
353
353
|
end
|
354
354
|
|
355
|
-
describe '#create_tmpdir_on' do
|
356
|
-
let(:host) { {'user' => 'puppet'} }
|
357
|
-
let(:result) { double.as_null_object }
|
358
|
-
|
359
|
-
before :each do
|
360
|
-
allow(host).to receive(:result).and_return(result)
|
361
|
-
allow(result).to receive(:exit_code).and_return(0)
|
362
|
-
allow(result).to receive(:stdout).and_return('puppet')
|
363
|
-
end
|
364
|
-
|
365
|
-
context 'with no user argument' do
|
366
|
-
|
367
|
-
context 'with no path name argument' do
|
368
|
-
it 'executes chown once' do
|
369
|
-
expect(subject).to receive(:on).with(host, /^getent passwd puppet/).and_return(result)
|
370
|
-
expect(host).to receive(:tmpdir).with(/\/tmp\/beaker.*/)
|
371
|
-
expect(subject).to receive(:on).with(host, /chown puppet.puppet.*/)
|
372
|
-
subject.create_tmpdir_on(host, '/tmp/beaker')
|
373
|
-
end
|
374
|
-
end
|
375
|
-
|
376
|
-
context 'with path name argument' do
|
377
|
-
it 'executes chown once' do
|
378
|
-
expect(subject).to receive(:on).with(host, /^getent passwd puppet/).and_return(result)
|
379
|
-
expect(host).to receive(:tmpdir).with(/\/tmp\/bogus.*/).and_return("/tmp/bogus")
|
380
|
-
expect(subject).to receive(:on).with(host, /chown puppet.puppet \/tmp\/bogus.*/)
|
381
|
-
subject.create_tmpdir_on(host, "/tmp/bogus")
|
382
|
-
end
|
383
|
-
end
|
384
|
-
end
|
385
|
-
|
386
|
-
context 'with an valid user argument' do
|
387
|
-
it 'executes chown once' do
|
388
|
-
expect(subject).to receive(:on).with(host, /^getent passwd curiousgeorge/).and_return(result)
|
389
|
-
expect(host).to receive(:tmpdir).with(/\/tmp\/bogus.*/).and_return("/tmp/bogus")
|
390
|
-
expect(subject).to receive(:on).with(host, /chown curiousgeorge.curiousgeorge \/tmp\/bogus.*/)
|
391
|
-
subject.create_tmpdir_on(host, "/tmp/bogus", "curiousgeorge")
|
392
|
-
end
|
393
|
-
end
|
394
|
-
|
395
|
-
context 'with a invalid user argument' do
|
396
|
-
it 'executes chown once' do
|
397
|
-
allow(result).to receive(:exit_code).and_return(1)
|
398
|
-
expect(subject).to receive(:on).with(host, /^getent passwd curiousgeorge/).and_return(result)
|
399
|
-
expect{
|
400
|
-
subject.create_tmpdir_on(host, "/tmp/bogus", "curiousgeorge")
|
401
|
-
}.to raise_error(RuntimeError, /User curiousgeorge does not exist on/)
|
402
|
-
end
|
403
|
-
end
|
404
|
-
end
|
405
|
-
|
406
355
|
describe '#run_script_on' do
|
407
356
|
it 'scps the script to a tmpdir and executes it on host(s)' do
|
408
357
|
expect( subject ).to receive( :scp_to )
|
@@ -420,4 +369,18 @@ describe ClassMixedWithDSLHelpers do
|
|
420
369
|
subject.run_script( '/tmp/test.sh' )
|
421
370
|
end
|
422
371
|
end
|
372
|
+
|
373
|
+
describe '#install_package' do
|
374
|
+
it 'delegates to Host#install_package with arguments on the passed Host' do
|
375
|
+
expect( host ).to receive( :install_package ).with( 'pkg_name', '', '1.2.3' )
|
376
|
+
subject.install_package( host, 'pkg_name', '1.2.3' )
|
377
|
+
end
|
378
|
+
end
|
379
|
+
|
380
|
+
describe '#uninstall_package' do
|
381
|
+
it 'delegates to Host#uninstall_package on the passed Host' do
|
382
|
+
expect( host ).to receive( :uninstall_package ).with( 'pkg_name' )
|
383
|
+
subject.uninstall_package( host, 'pkg_name' )
|
384
|
+
end
|
385
|
+
end
|
423
386
|
end
|
@@ -5,43 +5,6 @@ class ClassMixedWithDSLWrappers
|
|
5
5
|
end
|
6
6
|
|
7
7
|
describe ClassMixedWithDSLWrappers do
|
8
|
-
let(:opts) { {'ENV' => { :HOME => "/"}, :cmdexe => true } }
|
9
|
-
let(:empty_opts) { {'ENV' => {}, :cmdexe => true } }
|
10
|
-
|
11
|
-
describe '#facter' do
|
12
|
-
it 'should split out the options and pass "facter" as first arg to Command' do
|
13
|
-
expect( Beaker::Command ).to receive( :new ).
|
14
|
-
with('facter', [ '-p' ], empty_opts)
|
15
|
-
subject.facter( '-p' )
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
describe '#cfacter' do
|
20
|
-
it 'should split out the options and pass "cfacter" as first arg to Command' do
|
21
|
-
expect( Beaker::Command ).to receive( :new ).
|
22
|
-
with('cfacter', [ '-p' ], empty_opts)
|
23
|
-
subject.cfacter( '-p' )
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
describe '#hiera' do
|
28
|
-
it 'should split out the options and pass "hiera" as first arg to Command' do
|
29
|
-
expect( Beaker::Command ).to receive( :new ).
|
30
|
-
with('hiera', [ '-p' ], empty_opts)
|
31
|
-
subject.hiera( '-p' )
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
describe '#puppet' do
|
36
|
-
it 'should split out the options and pass "puppet <blank>" to Command' do
|
37
|
-
merged_opts = opts
|
38
|
-
merged_opts[:server] = 'master'
|
39
|
-
expect( Beaker::Command ).to receive( :new ).
|
40
|
-
with('puppet agent', [ '-tv' ], merged_opts)
|
41
|
-
subject.puppet( 'agent', '-tv', :server => 'master', 'ENV' => {:HOME => '/'})
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
8
|
describe '#host_command' do
|
46
9
|
it 'delegates to HostCommand.new' do
|
47
10
|
expect( Beaker::HostCommand ).to receive( :new ).with( 'blah' )
|
@@ -49,15 +12,6 @@ describe ClassMixedWithDSLWrappers do
|
|
49
12
|
end
|
50
13
|
end
|
51
14
|
|
52
|
-
describe 'deprecated puppet wrappers' do
|
53
|
-
%w( resource doc kick cert apply master agent filebucket ).each do |sub|
|
54
|
-
it "#{sub} delegates the proper info to #puppet" do
|
55
|
-
expect( subject ).to receive( :puppet ).with( sub, 'blah' )
|
56
|
-
subject.send( "puppet_#{sub}", 'blah')
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
15
|
describe '#powershell' do
|
62
16
|
it 'should pass "powershell.exe <args> -Command <command>" to Command' do
|
63
17
|
command = subject.powershell("Set-Content -path 'fu.txt' -value 'fu'")
|
@@ -32,6 +32,9 @@ EOS
|
|
32
32
|
#{puppet2}
|
33
33
|
EOS
|
34
34
|
end
|
35
|
+
let( :etc_passwd_line ) do
|
36
|
+
"puppet1:*:67:234::0:0:puppet1:/Users/puppet1:/bin/sh"
|
37
|
+
end
|
35
38
|
let( :command ) { 'ls' }
|
36
39
|
let( :host ) { double.as_null_object }
|
37
40
|
let( :result ) { Beaker::Result.new( host, command ) }
|
@@ -63,17 +66,11 @@ EOS
|
|
63
66
|
expect { subject.user_get(user_name) }.to raise_error(MiniTest::Assertion, "failed to get user #{user_name}")
|
64
67
|
end
|
65
68
|
|
66
|
-
it 'parses mac dscacheutil output into /etc/passwd format correctly' do
|
67
|
-
result.stdout = puppet1
|
68
|
-
expect( subject ).to receive( :execute ).and_yield(result)
|
69
|
-
expect( subject.user_get('puppet1') ).to be === "puppet1:*:67:234:puppet1:/Users/puppet1:/bin/bash"
|
70
|
-
end
|
71
|
-
|
72
69
|
it 'yields correctly with the result object' do
|
73
|
-
result.stdout =
|
70
|
+
result.stdout = etc_passwd_line
|
74
71
|
expect( subject ).to receive( :execute ).and_yield(result)
|
75
72
|
subject.user_get('puppet1') do |result|
|
76
|
-
expect( result.stdout ).to be ===
|
73
|
+
expect( result.stdout ).to be === etc_passwd_line
|
77
74
|
end
|
78
75
|
end
|
79
76
|
|
@@ -82,7 +82,7 @@ module Beaker
|
|
82
82
|
it "calls the correct commands for #{platform}" do
|
83
83
|
opts['platform'] = platform
|
84
84
|
expect(instance).to receive(:exec).twice
|
85
|
-
expect(instance).to receive(:
|
85
|
+
expect(instance).to receive(:tmpdir).and_return(directory)
|
86
86
|
expect(Beaker::Command).to receive(:new).with(ssh_move)
|
87
87
|
expect(Beaker::Command).to receive(:new).with(ssh_command)
|
88
88
|
expect(instance).to receive(:ssh_service_restart)
|
@@ -165,5 +165,44 @@ module Beaker
|
|
165
165
|
expect( text ).to match( /basedir\=default/ )
|
166
166
|
end
|
167
167
|
end
|
168
|
+
|
169
|
+
describe '#chown' do
|
170
|
+
let (:user) { 'someuser' }
|
171
|
+
let (:path) { '/path/to/chown/on' }
|
172
|
+
|
173
|
+
it 'calls the system method' do
|
174
|
+
expect( instance ).to receive( :execute ).with( "chown #{user} #{path}" ).and_return( 0 )
|
175
|
+
expect( instance.chown( user, path ) ).to be === 0
|
176
|
+
end
|
177
|
+
|
178
|
+
it 'passes -R if recursive' do
|
179
|
+
expect( instance ).to receive( :execute ).with( "chown \-R #{user} #{path}" )
|
180
|
+
instance.chown( user, path, true )
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
describe '#chgrp' do
|
185
|
+
let (:group) { 'somegroup' }
|
186
|
+
let (:path) { '/path/to/chgrp/on' }
|
187
|
+
|
188
|
+
it 'calls the system method' do
|
189
|
+
expect( instance ).to receive( :execute ).with( "chgrp #{group} #{path}" ).and_return( 0 )
|
190
|
+
expect( instance.chgrp( group, path ) ).to be === 0
|
191
|
+
end
|
192
|
+
|
193
|
+
it 'passes -R if recursive' do
|
194
|
+
expect( instance ).to receive( :execute ).with( "chgrp \-R #{group} #{path}" )
|
195
|
+
instance.chgrp( group, path, true )
|
196
|
+
end
|
197
|
+
end
|
198
|
+
|
199
|
+
describe '#ls_ld' do
|
200
|
+
let (:path) { '/path/to/ls_ld' }
|
201
|
+
|
202
|
+
it 'calls the system method' do
|
203
|
+
expect( instance ).to receive( :execute ).with( "ls -ld #{path}" ).and_return( 0 )
|
204
|
+
expect( instance.ls_ld( path ) ).to be === 0
|
205
|
+
end
|
206
|
+
end
|
168
207
|
end
|
169
208
|
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Beaker
|
4
|
+
describe Windows::File do
|
5
|
+
let (:user) { 'someuser' }
|
6
|
+
let (:group) { 'somegroup' }
|
7
|
+
let (:path) { 'C:\Foo\Bar' }
|
8
|
+
let (:newpath) { '/Foo/Bar' }
|
9
|
+
let(:host) { make_host( 'name', { :platform => 'windows' } ) }
|
10
|
+
|
11
|
+
|
12
|
+
describe '#chown' do
|
13
|
+
it 'calls cygpath first' do
|
14
|
+
expect( host ).to receive( :execute ).with( "cygpath -u #{path}" )
|
15
|
+
expect( host ).to receive( :execute ).with( /chown/ )
|
16
|
+
|
17
|
+
host.chown( user, path )
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'passes cleaned path to super' do
|
21
|
+
allow_any_instance_of( Windows::Host ).to receive( :execute ).with( /cygpath/ ).and_return( newpath )
|
22
|
+
expect_any_instance_of( Unix::Host ).to receive( :chown ).with( user, newpath , true)
|
23
|
+
|
24
|
+
host.chown( user, path, true )
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe '#chgrp' do
|
29
|
+
it 'calls cygpath first' do
|
30
|
+
expect( host ).to receive( :execute ).with( "cygpath -u #{path}" ).and_return( path )
|
31
|
+
expect( host ).to receive( :execute ).with( "chgrp #{group} #{path}" )
|
32
|
+
|
33
|
+
host.chgrp( group, path )
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'passes cleaned path to super' do
|
37
|
+
allow_any_instance_of( Windows::Host ).to receive( :execute ).with( /cygpath/ ).and_return( newpath )
|
38
|
+
expect_any_instance_of( Unix::Host ).to receive( :chgrp ).with( group, newpath , true)
|
39
|
+
|
40
|
+
host.chgrp( group, path, true )
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe '#ls_ld' do
|
45
|
+
let(:result) { Beaker::Result.new(host, 'ls') }
|
46
|
+
|
47
|
+
it 'calls cygpath first' do
|
48
|
+
expect( host ).to receive( :execute ).with( "cygpath -u #{path}" ).and_return( path )
|
49
|
+
expect( host ).to receive( :execute ).with( "ls -ld #{path}" )
|
50
|
+
|
51
|
+
host.ls_ld( path )
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -598,93 +598,48 @@ describe Beaker do
|
|
598
598
|
context "set_env" do
|
599
599
|
subject { dummy_class.new }
|
600
600
|
|
601
|
-
it "permits user environments on an OS X 10.10 host" do
|
602
|
-
test_host_ssh_permit_user_environment('osx-10.10')
|
603
|
-
end
|
604
|
-
|
605
|
-
it "permits user environments on an OS X 10.11 host" do
|
606
|
-
test_host_ssh_permit_user_environment('osx-10.11')
|
607
|
-
end
|
608
|
-
|
609
|
-
it "permits user environments on an OS X 10.12 host" do
|
610
|
-
test_host_ssh_permit_user_environment('osx-10.12')
|
611
|
-
end
|
612
|
-
|
613
|
-
it "permits user environments on an OS X 10.13 host" do
|
614
|
-
test_host_ssh_permit_user_environment('osx-10.13')
|
615
|
-
end
|
616
|
-
|
617
|
-
it "permits user environments on an ssh-based linux host" do
|
618
|
-
test_host_ssh_permit_user_environment('ubuntu')
|
619
|
-
end
|
620
|
-
|
621
|
-
it "permits user environments on an sshd-based linux host" do
|
622
|
-
test_host_ssh_permit_user_environment('eos')
|
623
|
-
end
|
624
|
-
|
625
|
-
it "permits user environments on an sles host" do
|
626
|
-
test_host_ssh_permit_user_environment('sles')
|
627
|
-
end
|
628
|
-
|
629
|
-
it "permits user environments on a solaris host" do
|
630
|
-
test_host_ssh_permit_user_environment('solaris')
|
631
|
-
end
|
632
|
-
|
633
|
-
it "permits user environments on an aix host" do
|
634
|
-
test_host_ssh_permit_user_environment('aix')
|
635
|
-
end
|
636
|
-
|
637
|
-
it "permits user environments on a FreeBSD host" do
|
638
|
-
test_host_ssh_permit_user_environment('freebsd')
|
639
|
-
end
|
640
|
-
|
641
|
-
it "permits user environments on a windows host" do
|
642
|
-
test_host_ssh_permit_user_environment('windows')
|
643
|
-
end
|
644
|
-
|
645
|
-
|
646
601
|
it "sets user ssh environment on an OS X 10.10 host" do
|
647
|
-
|
602
|
+
test_host_ssh_calls('osx-10.10')
|
648
603
|
end
|
649
604
|
|
650
605
|
it "sets user ssh environment on an OS X 10.11 host" do
|
651
|
-
|
606
|
+
test_host_ssh_calls('osx-10.11')
|
652
607
|
end
|
653
608
|
|
654
609
|
it "sets user ssh environment on an OS X 10.12 host" do
|
655
|
-
|
610
|
+
test_host_ssh_calls('osx-10.12')
|
656
611
|
end
|
657
612
|
|
658
613
|
it "sets user ssh environment on an OS X 10.13 host" do
|
659
|
-
|
614
|
+
test_host_ssh_calls('osx-10.13')
|
660
615
|
end
|
661
616
|
|
662
617
|
it "sets user ssh environment on an ssh-based linux host" do
|
663
|
-
|
618
|
+
test_host_ssh_calls('ubuntu')
|
664
619
|
end
|
665
620
|
|
666
621
|
it "sets user ssh environment on an sshd-based linux host" do
|
667
|
-
|
622
|
+
test_host_ssh_calls('eos')
|
668
623
|
end
|
669
624
|
|
670
625
|
it "sets user ssh environment on an sles host" do
|
671
|
-
|
626
|
+
test_host_ssh_calls('sles')
|
672
627
|
end
|
673
628
|
|
674
629
|
it "sets user ssh environment on a solaris host" do
|
675
|
-
|
630
|
+
test_host_ssh_calls('solaris')
|
676
631
|
end
|
677
632
|
|
678
633
|
it "sets user ssh environment on an aix host" do
|
679
|
-
|
634
|
+
test_host_ssh_calls('aix')
|
680
635
|
end
|
681
636
|
|
682
637
|
it "sets user ssh environment on a FreeBSD host" do
|
683
|
-
|
638
|
+
test_host_ssh_calls('freebsd')
|
684
639
|
end
|
685
640
|
|
686
641
|
it "sets user ssh environment on a windows host" do
|
687
|
-
|
642
|
+
test_host_ssh_calls('windows')
|
688
643
|
end
|
689
644
|
|
690
645
|
it "skips an f5 host correctly" do
|
@@ -733,15 +688,7 @@ describe Beaker do
|
|
733
688
|
subject.set_env(host, options.merge( opts ))
|
734
689
|
end
|
735
690
|
|
736
|
-
def
|
737
|
-
test_host_ssh_calls(platform_name, :ssh_permit_user_environment)
|
738
|
-
end
|
739
|
-
|
740
|
-
def test_host_ssh_set_user_environment(platform_name)
|
741
|
-
test_host_ssh_calls(platform_name, :ssh_set_user_environment)
|
742
|
-
end
|
743
|
-
|
744
|
-
def test_host_ssh_calls(platform_name, method_call_sym)
|
691
|
+
def test_host_ssh_calls(platform_name)
|
745
692
|
host = make_host('name', {
|
746
693
|
:platform => platform_name,
|
747
694
|
:ssh_env_file => 'ssh_env_file',
|
@@ -752,9 +699,11 @@ describe Beaker do
|
|
752
699
|
:env2_key => :env2_value
|
753
700
|
}
|
754
701
|
|
755
|
-
allow( host ).to receive( :skip_set_env? ).and_return(nil )
|
702
|
+
allow( host ).to receive( :skip_set_env? ).and_return( nil )
|
756
703
|
expect( subject ).to receive( :construct_env ).and_return( opts )
|
757
|
-
|
704
|
+
|
705
|
+
expect( host ).to receive( :ssh_permit_user_environment )
|
706
|
+
expect( host ).to receive( :ssh_set_user_environment )
|
758
707
|
|
759
708
|
subject.set_env(host, options.merge( opts ))
|
760
709
|
end
|