beaker 2.27.0 → 2.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/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
|