beaker 2.27.0 → 2.28.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/HISTORY.md +378 -2
- data/README.md +1 -3
- data/acceptance/config/acceptance-options.rb +3 -0
- data/acceptance/fixtures/files/failing_shell_script.txt +3 -0
- data/acceptance/fixtures/files/retry_script.txt +14 -0
- data/acceptance/fixtures/files/shell_script_with_output.txt +3 -0
- data/acceptance/fixtures/files/simple_text_file.txt +3 -0
- data/acceptance/fixtures/files/sles-11-x86_64.repo +5 -0
- data/acceptance/lib/helpers/test_helper.rb +111 -0
- data/acceptance/tests/base/dsl/helpers/configuration_test.rb +17 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/add_system32_hosts_entry_test.rb +50 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/backup_the_file_test.rb +64 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/check_for_package_test.rb +100 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/create_remote_file_test.rb +201 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/create_tmpdir_on_test.rb +68 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/curl_on_test.rb +48 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/curl_with_retries_test.rb +28 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/deploy_package_repo_test.rb +142 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/echo_on_test.rb +13 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/install_package_test.rb +67 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/on_test.rb +109 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/retry_on_test.rb +42 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/rsync_to_test.rb +143 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/run_cron_on_test.rb +242 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_on_test.rb +69 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_test.rb +53 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/scp_from_test.rb +53 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/scp_to_test.rb +54 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/shell_test.rb +51 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/upgrade_package_test.rb +92 -0
- data/acceptance/tests/base/dsl/install_utils/clone_git_repo_on_test.rb +47 -0
- data/acceptance/tests/base/{host.rb → host_test.rb} +2 -0
- data/acceptance/tests/hypervisor/{communication.rb → communication_test.rb} +0 -0
- data/acceptance/tests/load_path_bootstrap.rb +10 -0
- data/acceptance/tests/puppet/{install_smoke.rb → install_smoke_test.rb} +0 -0
- data/beaker.gemspec +1 -1
- data/docs/Access-the-Live-Test-Console-with-Pry.md +305 -0
- data/docs/Argument-Processing-and-Precedence.md +325 -0
- data/docs/Beaker-Installation.md +59 -0
- data/docs/Beaker-Owners-and-Reviewers.md +16 -0
- data/docs/Beaker-Test-Tagging.md +76 -0
- data/docs/Beaker-with-Masterless-Puppet.md +42 -0
- data/docs/Creating-A-Test-Environment.md +91 -0
- data/docs/Docker-Support.md +129 -0
- data/docs/EC2-Support.md +77 -0
- data/docs/Example-Vagrant-Hosts-Files.md +66 -0
- data/docs/File-a-Beaker-Bug.md +3 -0
- data/docs/Google-Compute-Engine-Support.md +41 -0
- data/docs/How-To-Beaker.md +7 -0
- data/docs/How-To-Use-User-Password-Authentication-with-Beaker.md +53 -0
- data/docs/How-to-Write-a-Beaker-Test-for-a-Module.md +145 -0
- data/docs/Lets-Write-a-Test.md +73 -0
- data/docs/Openstack-Support.md +32 -0
- data/docs/Overview.md +31 -0
- data/docs/README.md +43 -0
- data/docs/Roles-What-Are-They.md +44 -0
- data/docs/Shared-Options-for-Executing-Beaker-Commands.md +43 -0
- data/docs/Solaris-Support.md +10 -0
- data/docs/The-Beaker-DSL.md +283 -0
- data/docs/The-Command-Line.md +24 -0
- data/docs/Types,-Puppet-4,-and-the-All-In-One-Agent.md +13 -0
- data/docs/VMWare-Fusion-Support.md +36 -0
- data/docs/Vagrant-Support.md +47 -0
- data/docs/beaker-vs.-beaker-rspec.md +87 -0
- data/docs/hosts/README.md +8 -0
- data/docs/hosts/eos.md +30 -0
- data/docs/hypervisors/README.md +8 -0
- data/docs/hypervisors/aws.md +143 -0
- data/docs/vSphere-Support.md +46 -0
- data/lib/beaker/dsl/helpers/host_helpers.rb +2 -4
- data/lib/beaker/dsl/helpers/puppet_helpers.rb +45 -11
- data/lib/beaker/dsl/install_utils/foss_utils.rb +20 -23
- data/lib/beaker/dsl/install_utils/module_utils.rb +4 -0
- data/lib/beaker/dsl/install_utils/pe_utils.rb +2 -6
- data/lib/beaker/dsl/patterns.rb +1 -1
- data/lib/beaker/host.rb +3 -0
- data/lib/beaker/host/eos.rb +56 -0
- data/lib/beaker/host/mac/pkg.rb +1 -1
- data/lib/beaker/host/unix/pkg.rb +36 -0
- data/lib/beaker/hypervisor/aws_sdk.rb +1 -1
- data/lib/beaker/hypervisor/vagrant.rb +3 -3
- data/lib/beaker/logger.rb +1 -0
- data/lib/beaker/options/presets.rb +5 -0
- data/lib/beaker/shared/host_manager.rb +7 -4
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/dsl/helpers/puppet_helpers_spec.rb +87 -0
- data/spec/beaker/dsl/install_utils/foss_utils_spec.rb +53 -20
- data/spec/beaker/dsl/install_utils/module_utils_spec.rb +1 -1
- data/spec/beaker/dsl/install_utils/pe_utils_spec.rb +7 -14
- data/spec/beaker/host/eos_spec.rb +65 -0
- data/spec/beaker/host/unix/pkg_spec.rb +42 -0
- data/spec/beaker/hypervisor/aws_sdk_spec.rb +17 -56
- data/spec/beaker/hypervisor/vagrant_spec.rb +1 -1
- data/spec/beaker/logger_spec.rb +1 -1
- data/spec/mocks.rb +0 -13
- metadata +76 -6
- data/acceptance/tests/dsl/install_utils/clone_git_repo_on.rb +0 -50
@@ -187,7 +187,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
187
187
|
expect( subject ).to receive(:on).with(host, "echo C:\\ProgramData\\PuppetLabs\\puppet\\etc\\modules" ).and_return( result )
|
188
188
|
|
189
189
|
expect( subject ).to receive(:scp_to).with(host, "/opt/testmodule2", "C:\\ProgramData\\PuppetLabs\\puppet\\etc\\modules", {:ignore => ignore_list})
|
190
|
-
expect( host ).to receive(:mv).with('C:\\ProgramData\\PuppetLabs\\puppet\\etc\\modules
|
190
|
+
expect( host ).to receive(:mv).with('C:\\ProgramData\\PuppetLabs\\puppet\\etc\\modules\\testmodule2', 'C:\\ProgramData\\PuppetLabs\\puppet\\etc\\modules\\testmodule')
|
191
191
|
|
192
192
|
subject.copy_module_to(host, {:module_name => 'testmodule', :source => '/opt/testmodule2'})
|
193
193
|
end
|
@@ -166,11 +166,10 @@ describe ClassMixedWithDSLInstallUtils do
|
|
166
166
|
expect( subject.installer_cmd( the_host, {} ) ).to be === "cd /tmp && hdiutil attach .dmg && installer -pkg /Volumes/puppet-enterprise-3.0/puppet-enterprise-installer-3.0.pkg -target /"
|
167
167
|
end
|
168
168
|
|
169
|
-
it '
|
169
|
+
it 'calls the EOS PE install command for an EOS host' do
|
170
170
|
the_host = eoshost.dup
|
171
|
-
|
172
|
-
|
173
|
-
expect( subject.installer_cmd( the_host, {} ) ).to be === "Cli -c '#{command}'"
|
171
|
+
expect( the_host ).to receive( :install_from_file ).with( /swix$/ )
|
172
|
+
subject.installer_cmd( the_host, {} )
|
174
173
|
end
|
175
174
|
|
176
175
|
it 'generates a unix PE install command in verbose for a unix host when pe_debug is enabled' do
|
@@ -279,17 +278,11 @@ describe ClassMixedWithDSLInstallUtils do
|
|
279
278
|
subject.fetch_pe( [unixhost], {:fetch_local_then_push_to_host => true} )
|
280
279
|
end
|
281
280
|
|
282
|
-
it '
|
281
|
+
it 'calls the host method to get an EOS .swix file from a URL' do
|
283
282
|
allow( File ).to receive( :directory? ).and_return( false ) #is not local
|
284
|
-
allow( subject ).to receive( :link_exists? ).and_return( true ) #
|
285
|
-
allow( subject ).to receive( :on ).and_return( true )
|
283
|
+
allow( subject ).to receive( :link_exists? ).and_return( true ) #skip file check
|
286
284
|
|
287
|
-
|
288
|
-
filename = "#{ eoshost['dist'] }"
|
289
|
-
extension = '.swix'
|
290
|
-
commands = ['enable', "copy #{path}/#{filename}#{extension} extension:"]
|
291
|
-
command = commands.join("\n")
|
292
|
-
expect( subject ).to receive( :on ).with( eoshost, "Cli -c '#{command}'" ).once
|
285
|
+
expect( eoshost ).to receive( :get_remote_file ).with( /swix$/ ).once
|
293
286
|
subject.fetch_pe( [eoshost], {} )
|
294
287
|
end
|
295
288
|
|
@@ -373,7 +366,7 @@ describe ClassMixedWithDSLInstallUtils do
|
|
373
366
|
expect( host ).to eq( hosts[1] )
|
374
367
|
end.once
|
375
368
|
expect( subject ).to receive( :on ).with( hosts[2], / hdiutil attach puppet-enterprise-3.0-osx-10.9-x86_64.dmg && installer -pkg \/Volumes\/puppet-enterprise-3.0\/puppet-enterprise-installer-3.0.pkg -target \// ).once
|
376
|
-
expect(
|
369
|
+
expect( hosts[3] ).to receive( :install_from_file ).with( /swix$/ ).once
|
377
370
|
#does extra mac/EOS specific commands
|
378
371
|
expect( subject ).to receive( :on ).with( hosts[2], /puppet config set server/ ).once
|
379
372
|
expect( subject ).to receive( :on ).with( hosts[3], /puppet config set server/ ).once
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Eos
|
4
|
+
describe Host do
|
5
|
+
let(:options) { @options ? @options : {} }
|
6
|
+
let(:platform) {
|
7
|
+
if @platform
|
8
|
+
{ :platform => Beaker::Platform.new( @platform) }
|
9
|
+
else
|
10
|
+
{ :platform => Beaker::Platform.new( 'eos-vers-arch-extra' ) }
|
11
|
+
end
|
12
|
+
}
|
13
|
+
let(:host) { make_host( 'name', options.merge(platform) ) }
|
14
|
+
|
15
|
+
describe '#get_puppet_agent_package_info' do
|
16
|
+
it 'raises an error if puppet_collection isn\'t passed' do
|
17
|
+
expect { host.get_puppet_agent_package_info(nil, 'maybe') }.to raise_error(ArgumentError)
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'raises as error if puppet_agent_version isn\'t passed' do
|
21
|
+
expect { host.get_puppet_agent_package_info('maybe', nil) }.to raise_error(ArgumentError)
|
22
|
+
end
|
23
|
+
|
24
|
+
it 'returns two strings that include the passed parameters' do
|
25
|
+
return1, return2 = host.get_puppet_agent_package_info('pc1', 'pav1')
|
26
|
+
expect( return1 ).to match(/pc1/)
|
27
|
+
expect( return2 ).to match(/pav1/)
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'gets the correct file type' do
|
31
|
+
_, return2 = host.get_puppet_agent_package_info('pc1', 'pav1')
|
32
|
+
expect( return2 ).to match(/swix/)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
describe '#get_remote_file' do
|
37
|
+
it 'calls enable first' do
|
38
|
+
expect( host ).to receive( :execute ).with(/enable/)
|
39
|
+
host.get_remote_file( 'remote_url' )
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'begins second line with the copy command' do
|
43
|
+
expect( host ).to receive( :execute ).with(/\ncopy/)
|
44
|
+
host.get_remote_file( 'remote_url' )
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'ends second line with particular extension location' do
|
48
|
+
expect( host ).to receive( :execute ).with(/extension\:\'$/)
|
49
|
+
host.get_remote_file( 'remote_url' )
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
describe '#install_from_file' do
|
54
|
+
it 'calls enable first' do
|
55
|
+
expect( host ).to receive( :execute ).with(/enable/)
|
56
|
+
host.install_from_file( 'local_file' )
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'begins second line with the extension command' do
|
60
|
+
expect( host ).to receive( :execute ).with(/\nextension/)
|
61
|
+
host.install_from_file( 'local_file' )
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -145,6 +145,48 @@ module Beaker
|
|
145
145
|
|
146
146
|
end
|
147
147
|
|
148
|
+
context "install_package_with_rpm" do
|
149
|
+
|
150
|
+
it "accepts a package as a single argument" do
|
151
|
+
@opts = {'platform' => 'el-is-me'}
|
152
|
+
pkg = 'redhat_package'
|
153
|
+
expect( Beaker::Command ).to receive(:new).with("rpm -ivh #{pkg} ", [], {:prepend_cmds=>nil, :cmdexe=>false}).and_return('')
|
154
|
+
expect( instance ).to receive(:exec).with('', {}).and_return(generate_result("hello", {:exit_code => 0}))
|
155
|
+
expect( instance.install_package_with_rpm(pkg) ).to be == "hello"
|
156
|
+
end
|
157
|
+
|
158
|
+
it "accepts a package and additional options" do
|
159
|
+
@opts = {'platform' => 'el-is-me'}
|
160
|
+
pkg = 'redhat_package'
|
161
|
+
cmdline_args = '--foo'
|
162
|
+
expect( Beaker::Command ).to receive(:new).with("rpm #{cmdline_args} -ivh #{pkg} ", [], {:prepend_cmds=>nil, :cmdexe=>false}).and_return('')
|
163
|
+
expect( instance ).to receive(:exec).with('', {}).and_return(generate_result("hello", {:exit_code => 0}))
|
164
|
+
expect( instance.install_package_with_rpm(pkg, cmdline_args) ).to be == "hello"
|
165
|
+
end
|
166
|
+
|
167
|
+
end
|
168
|
+
|
169
|
+
context 'extract_rpm_proxy_options' do
|
170
|
+
|
171
|
+
[ 'http://myproxy.com:3128/',
|
172
|
+
'https://myproxy.com:3128/',
|
173
|
+
'https://myproxy.com:3128',
|
174
|
+
'http://myproxy.com:3128',
|
175
|
+
].each do |url|
|
176
|
+
it "correctly extracts rpm proxy options for #{url}" do
|
177
|
+
expect( instance.extract_rpm_proxy_options(url) ).to be == '--httpproxy myproxy.com --httpport 3128'
|
178
|
+
end
|
179
|
+
end
|
180
|
+
|
181
|
+
url = 'http:/myproxy.com:3128'
|
182
|
+
it "fails to extract rpm proxy options for #{url}" do
|
183
|
+
expect{
|
184
|
+
instance.extract_rpm_proxy_options(url)
|
185
|
+
}.to raise_error(RuntimeError, /Cannot extract host and port/)
|
186
|
+
end
|
187
|
+
|
188
|
+
end
|
189
|
+
|
148
190
|
end
|
149
191
|
end
|
150
192
|
|
@@ -654,11 +654,18 @@ module Beaker
|
|
654
654
|
expect( Socket ).to receive(:gethostname) { "foobar" }
|
655
655
|
expect( aws ).to receive(:local_user) { "bob" }
|
656
656
|
|
657
|
-
options[:timestamp] = Time.now
|
658
|
-
date_part = options[:timestamp].strftime("%F_%H_%M_%S")
|
659
|
-
|
660
657
|
# Should match the expected composite key name
|
661
|
-
expect(aws.key_name).to
|
658
|
+
expect(aws.key_name).to match(/^Beaker-bob-foobar-/)
|
659
|
+
end
|
660
|
+
|
661
|
+
it 'uses the generated random string from :aws_keyname_modifier' do
|
662
|
+
expect(aws.key_name).to match(/#{options[:aws_keyname_modifier]}/)
|
663
|
+
end
|
664
|
+
|
665
|
+
it 'uses nanosecond time value to make key name collision harder' do
|
666
|
+
options[:timestamp] = Time.now
|
667
|
+
nanosecond_value = options[:timestamp].strftime("%N")
|
668
|
+
expect(aws.key_name).to match(/#{nanosecond_value}/)
|
662
669
|
end
|
663
670
|
end
|
664
671
|
|
@@ -672,60 +679,14 @@ module Beaker
|
|
672
679
|
describe '#ensure_key_pair' do
|
673
680
|
let( :region ) { double('region', :name => 'test_region_name') }
|
674
681
|
subject(:ensure_key_pair) { aws.ensure_key_pair(region) }
|
682
|
+
let( :key_name ) { "Beaker-rspec-SUT" }
|
675
683
|
|
676
|
-
|
677
|
-
|
678
|
-
stub_const('ENV', ENV.to_hash.merge('USER' => 'rspec'))
|
679
|
-
key_pair = double(:exists? => true, :secret => 'supersekritkey', :delete => true)
|
680
|
-
allow( aws ).to receive( :key_name ).and_return( "Beaker-rspec-SUT" )
|
681
|
-
key_pairs = { "Beaker-rspec-SUT" => key_pair }
|
682
|
-
|
683
|
-
expect( region ).to receive(:key_pairs).and_return(key_pairs).twice
|
684
|
-
expect( aws ).to receive( :public_key ).and_return('test_ssh_string')
|
685
|
-
expect( key_pairs ).to receive( :import ).and_return(key_pair)
|
686
|
-
expect(ensure_key_pair).to eq(key_pair)
|
687
|
-
end
|
688
|
-
|
689
|
-
it 'generates a new keypair if :generate_new_keypair set' do
|
690
|
-
stub_const('ENV', ENV.to_hash.merge('USER' => 'rspec'))
|
691
|
-
key_pair = double(:exists? => true, :secret => 'keyOfSekritz', :delete => true)
|
692
|
-
allow( aws ).to receive( :key_name ).and_return( "Beaker-rspec-SUT" )
|
693
|
-
key_pairs = { "Beaker-rspec-SUT" => key_pair }
|
694
|
-
options[:keypair_generate_new] = true
|
684
|
+
it 'deletes the given keypair, then recreates it' do
|
685
|
+
allow( aws ).to receive( :key_name ).and_return(key_name)
|
695
686
|
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
expect( key_pairs ).to receive( :import ).and_return(answer)
|
700
|
-
returned_keypair = ensure_key_pair
|
701
|
-
expect(returned_keypair).not_to eq(key_pair)
|
702
|
-
expect(returned_keypair).to eq(answer)
|
703
|
-
end
|
704
|
-
end
|
705
|
-
|
706
|
-
context 'when a pre-existing keypair cannot be found' do
|
707
|
-
let( :key_name ) { "Beaker-rspec-SUT" }
|
708
|
-
let( :key_pair ) { double(:exists? => false) }
|
709
|
-
let( :key_pairs ) { { key_name => key_pair } }
|
710
|
-
let( :pubkey ) { "Beaker-rspec-SUT_secret-key" }
|
711
|
-
|
712
|
-
before :each do
|
713
|
-
stub_const('ENV', ENV.to_hash.merge('USER' => 'rspec'))
|
714
|
-
expect( region ).to receive(:key_pairs).and_return(key_pairs).twice
|
715
|
-
allow( aws ).to receive( :key_name ).and_return(key_name)
|
716
|
-
end
|
717
|
-
|
718
|
-
it 'imports a new key based on user pubkey' do
|
719
|
-
allow(aws).to receive(:public_key).and_return(pubkey)
|
720
|
-
expect( key_pairs ).to receive(:import).with(key_name, pubkey)
|
721
|
-
expect(ensure_key_pair)
|
722
|
-
end
|
723
|
-
|
724
|
-
it 'returns imported keypair' do
|
725
|
-
allow(aws).to receive(:public_key)
|
726
|
-
expect( key_pairs ).to receive(:import).and_return(key_pair).once
|
727
|
-
expect(ensure_key_pair).to eq(key_pair)
|
728
|
-
end
|
687
|
+
expect( aws ).to receive( :delete_key_pair ).with( region, key_name).once.ordered
|
688
|
+
expect( aws ).to receive( :create_new_key_pair ).with( region, key_name).once.ordered
|
689
|
+
ensure_key_pair
|
729
690
|
end
|
730
691
|
end
|
731
692
|
|
@@ -196,7 +196,7 @@ EOF
|
|
196
196
|
allow( state ).to receive( :success? ).and_return( true )
|
197
197
|
wait_thr.value = state
|
198
198
|
|
199
|
-
allow( Open3 ).to receive( :popen3 ).with( 'vagrant', 'ssh-config', name ).and_return( [ "", out, "", wait_thr ])
|
199
|
+
allow( Open3 ).to receive( :popen3 ).with( {"RUBYLIB"=>""}, 'vagrant', 'ssh-config', name ).and_return( [ "", out, "", wait_thr ])
|
200
200
|
|
201
201
|
file = double( 'file' )
|
202
202
|
allow( file ).to receive( :path ).and_return( '/path/sshconfig' )
|
data/spec/beaker/logger_spec.rb
CHANGED
data/spec/mocks.rb
CHANGED
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: 2.
|
4
|
+
version: 2.28.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppetlabs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-11-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -381,6 +381,9 @@ dependencies:
|
|
381
381
|
- - ~>
|
382
382
|
- !ruby/object:Gem::Version
|
383
383
|
version: '1.25'
|
384
|
+
- - <
|
385
|
+
- !ruby/object:Gem::Version
|
386
|
+
version: 1.35.0
|
384
387
|
type: :runtime
|
385
388
|
prerelease: false
|
386
389
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -388,6 +391,9 @@ dependencies:
|
|
388
391
|
- - ~>
|
389
392
|
- !ruby/object:Gem::Version
|
390
393
|
version: '1.25'
|
394
|
+
- - <
|
395
|
+
- !ruby/object:Gem::Version
|
396
|
+
version: 1.35.0
|
391
397
|
- !ruby/object:Gem::Dependency
|
392
398
|
name: unf
|
393
399
|
requirement: !ruby/object:Gem::Requirement
|
@@ -421,7 +427,13 @@ files:
|
|
421
427
|
- LICENSE
|
422
428
|
- README.md
|
423
429
|
- Rakefile
|
430
|
+
- acceptance/config/acceptance-options.rb
|
424
431
|
- acceptance/fixtures/README.md
|
432
|
+
- acceptance/fixtures/files/failing_shell_script.txt
|
433
|
+
- acceptance/fixtures/files/retry_script.txt
|
434
|
+
- acceptance/fixtures/files/shell_script_with_output.txt
|
435
|
+
- acceptance/fixtures/files/simple_text_file.txt
|
436
|
+
- acceptance/fixtures/files/sles-11-x86_64.repo
|
425
437
|
- acceptance/fixtures/module/Gemfile
|
426
438
|
- acceptance/fixtures/module/README.md
|
427
439
|
- acceptance/fixtures/module/Rakefile
|
@@ -463,22 +475,78 @@ files:
|
|
463
475
|
- acceptance/fixtures/package/rpm/pl-puppetserver-latest-repos-pe-fedora-22-i386.repo
|
464
476
|
- acceptance/fixtures/package/rpm/pl-puppetserver-latest-repos-pe-fedora-22-x86_64.repo
|
465
477
|
- acceptance/lib/beaker/acceptance/install_utils.rb
|
478
|
+
- acceptance/lib/helpers/test_helper.rb
|
466
479
|
- acceptance/pre_suite/README.md
|
467
480
|
- acceptance/pre_suite/pe/install.rb
|
468
481
|
- acceptance/pre_suite/puppet_gem/install.rb
|
469
482
|
- acceptance/pre_suite/puppet_git/install.rb
|
470
483
|
- acceptance/pre_suite/puppet_pkg/install.rb
|
471
484
|
- acceptance/tests/base/README.md
|
485
|
+
- acceptance/tests/base/dsl/helpers/configuration_test.rb
|
486
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/add_system32_hosts_entry_test.rb
|
487
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/backup_the_file_test.rb
|
488
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/check_for_package_test.rb
|
489
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/create_remote_file_test.rb
|
490
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/create_tmpdir_on_test.rb
|
491
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/curl_on_test.rb
|
492
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/curl_with_retries_test.rb
|
493
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/deploy_package_repo_test.rb
|
494
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/echo_on_test.rb
|
495
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/install_package_test.rb
|
496
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/on_test.rb
|
497
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/retry_on_test.rb
|
498
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/rsync_to_test.rb
|
499
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/run_cron_on_test.rb
|
500
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/run_script_on_test.rb
|
501
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/run_script_test.rb
|
502
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/scp_from_test.rb
|
503
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/scp_to_test.rb
|
504
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/shell_test.rb
|
505
|
+
- acceptance/tests/base/dsl/helpers/host_helpers/upgrade_package_test.rb
|
506
|
+
- acceptance/tests/base/dsl/install_utils/clone_git_repo_on_test.rb
|
472
507
|
- acceptance/tests/base/dsl/structure_test.rb
|
473
|
-
- acceptance/tests/base/
|
508
|
+
- acceptance/tests/base/host_test.rb
|
474
509
|
- acceptance/tests/base/packages.rb
|
475
510
|
- acceptance/tests/base/packages_unix.rb
|
476
|
-
- acceptance/tests/
|
477
|
-
- acceptance/tests/
|
511
|
+
- acceptance/tests/hypervisor/communication_test.rb
|
512
|
+
- acceptance/tests/load_path_bootstrap.rb
|
478
513
|
- acceptance/tests/puppet/README.md
|
479
|
-
- acceptance/tests/puppet/
|
514
|
+
- acceptance/tests/puppet/install_smoke_test.rb
|
480
515
|
- beaker.gemspec
|
481
516
|
- bin/beaker
|
517
|
+
- docs/Access-the-Live-Test-Console-with-Pry.md
|
518
|
+
- docs/Argument-Processing-and-Precedence.md
|
519
|
+
- docs/Beaker-Installation.md
|
520
|
+
- docs/Beaker-Owners-and-Reviewers.md
|
521
|
+
- docs/Beaker-Test-Tagging.md
|
522
|
+
- docs/Beaker-with-Masterless-Puppet.md
|
523
|
+
- docs/Creating-A-Test-Environment.md
|
524
|
+
- docs/Docker-Support.md
|
525
|
+
- docs/EC2-Support.md
|
526
|
+
- docs/Example-Vagrant-Hosts-Files.md
|
527
|
+
- docs/File-a-Beaker-Bug.md
|
528
|
+
- docs/Google-Compute-Engine-Support.md
|
529
|
+
- docs/How-To-Beaker.md
|
530
|
+
- docs/How-To-Use-User-Password-Authentication-with-Beaker.md
|
531
|
+
- docs/How-to-Write-a-Beaker-Test-for-a-Module.md
|
532
|
+
- docs/Lets-Write-a-Test.md
|
533
|
+
- docs/Openstack-Support.md
|
534
|
+
- docs/Overview.md
|
535
|
+
- docs/README.md
|
536
|
+
- docs/Roles-What-Are-They.md
|
537
|
+
- docs/Shared-Options-for-Executing-Beaker-Commands.md
|
538
|
+
- docs/Solaris-Support.md
|
539
|
+
- docs/The-Beaker-DSL.md
|
540
|
+
- docs/The-Command-Line.md
|
541
|
+
- docs/Types,-Puppet-4,-and-the-All-In-One-Agent.md
|
542
|
+
- docs/VMWare-Fusion-Support.md
|
543
|
+
- docs/Vagrant-Support.md
|
544
|
+
- docs/beaker-vs.-beaker-rspec.md
|
545
|
+
- docs/hosts/README.md
|
546
|
+
- docs/hosts/eos.md
|
547
|
+
- docs/hypervisors/README.md
|
548
|
+
- docs/hypervisors/aws.md
|
549
|
+
- docs/vSphere-Support.md
|
482
550
|
- ext/completion/beaker-completion.bash
|
483
551
|
- lib/beaker.rb
|
484
552
|
- lib/beaker/cli.rb
|
@@ -514,6 +582,7 @@ files:
|
|
514
582
|
- lib/beaker/host/aix/file.rb
|
515
583
|
- lib/beaker/host/aix/group.rb
|
516
584
|
- lib/beaker/host/aix/user.rb
|
585
|
+
- lib/beaker/host/eos.rb
|
517
586
|
- lib/beaker/host/freebsd.rb
|
518
587
|
- lib/beaker/host/freebsd/exec.rb
|
519
588
|
- lib/beaker/host/freebsd/pkg.rb
|
@@ -609,6 +678,7 @@ files:
|
|
609
678
|
- spec/beaker/dsl/roles_spec.rb
|
610
679
|
- spec/beaker/dsl/structure_spec.rb
|
611
680
|
- spec/beaker/dsl/wrappers_spec.rb
|
681
|
+
- spec/beaker/host/eos_spec.rb
|
612
682
|
- spec/beaker/host/freebsd/exec_spec.rb
|
613
683
|
- spec/beaker/host/mac/group_spec.rb
|
614
684
|
- spec/beaker/host/mac/user_spec.rb
|
@@ -1,50 +0,0 @@
|
|
1
|
-
begin
|
2
|
-
$LOAD_PATH << File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
|
3
|
-
require 'beaker/acceptance/install_utils'
|
4
|
-
extend Beaker::Acceptance::InstallUtils
|
5
|
-
end
|
6
|
-
test_name 'Clone from git'
|
7
|
-
|
8
|
-
PACKAGES = {
|
9
|
-
:redhat => [
|
10
|
-
'git',
|
11
|
-
],
|
12
|
-
:debian => [
|
13
|
-
['git', 'git-core'],
|
14
|
-
],
|
15
|
-
:solaris_11 => [
|
16
|
-
['git', 'developer/versioning/git'],
|
17
|
-
],
|
18
|
-
:solaris_10 => [
|
19
|
-
'coreutils',
|
20
|
-
'curl', # update curl to fix "CURLOPT_SSL_VERIFYHOST no longer supports 1 as value!" issue
|
21
|
-
'git',
|
22
|
-
],
|
23
|
-
:windows => [
|
24
|
-
'git',
|
25
|
-
],
|
26
|
-
:sles => [
|
27
|
-
'git-core',
|
28
|
-
]
|
29
|
-
}
|
30
|
-
|
31
|
-
install_packages_on(hosts, PACKAGES, :check_if_exists => true)
|
32
|
-
|
33
|
-
# build_giturl implicitly looks these up
|
34
|
-
ENV['HIERA_FORK']='puppetlabs'
|
35
|
-
ENV['FORK']='fail'
|
36
|
-
|
37
|
-
# implicitly tests build_giturl() and lookup_in_env()
|
38
|
-
hosts.each do |host|
|
39
|
-
on host, "echo #{GitHubSig} >> $HOME/.ssh/known_hosts"
|
40
|
-
testdir = create_tmpdir_on(host, File.basename(__FILE__))
|
41
|
-
|
42
|
-
step 'should find fork name from the correct environment variable'
|
43
|
-
results = clone_git_repo_on(host, "#{testdir}", extract_repo_info_from(build_git_url('puppet')))
|
44
|
-
assert_match( /github\.com\/fail/, result.cmd, 'Did not find correct fork name')
|
45
|
-
assert_equal( 1, result.exit_code, 'Did not produce error exit_code of 1')
|
46
|
-
|
47
|
-
step 'should clone hiera from correct fork'
|
48
|
-
results = clone_git_repo_on(host, "#{testdir}", extract_repo_info_from(build_git_url('hiera')))
|
49
|
-
assert_match( /From.*github\.com\/puppetlabs\/hiera/, result.output, 'Did not find clone')
|
50
|
-
end
|