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