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.
Files changed (98) hide show
  1. checksums.yaml +8 -8
  2. data/HISTORY.md +378 -2
  3. data/README.md +1 -3
  4. data/acceptance/config/acceptance-options.rb +3 -0
  5. data/acceptance/fixtures/files/failing_shell_script.txt +3 -0
  6. data/acceptance/fixtures/files/retry_script.txt +14 -0
  7. data/acceptance/fixtures/files/shell_script_with_output.txt +3 -0
  8. data/acceptance/fixtures/files/simple_text_file.txt +3 -0
  9. data/acceptance/fixtures/files/sles-11-x86_64.repo +5 -0
  10. data/acceptance/lib/helpers/test_helper.rb +111 -0
  11. data/acceptance/tests/base/dsl/helpers/configuration_test.rb +17 -0
  12. data/acceptance/tests/base/dsl/helpers/host_helpers/add_system32_hosts_entry_test.rb +50 -0
  13. data/acceptance/tests/base/dsl/helpers/host_helpers/backup_the_file_test.rb +64 -0
  14. data/acceptance/tests/base/dsl/helpers/host_helpers/check_for_package_test.rb +100 -0
  15. data/acceptance/tests/base/dsl/helpers/host_helpers/create_remote_file_test.rb +201 -0
  16. data/acceptance/tests/base/dsl/helpers/host_helpers/create_tmpdir_on_test.rb +68 -0
  17. data/acceptance/tests/base/dsl/helpers/host_helpers/curl_on_test.rb +48 -0
  18. data/acceptance/tests/base/dsl/helpers/host_helpers/curl_with_retries_test.rb +28 -0
  19. data/acceptance/tests/base/dsl/helpers/host_helpers/deploy_package_repo_test.rb +142 -0
  20. data/acceptance/tests/base/dsl/helpers/host_helpers/echo_on_test.rb +13 -0
  21. data/acceptance/tests/base/dsl/helpers/host_helpers/install_package_test.rb +67 -0
  22. data/acceptance/tests/base/dsl/helpers/host_helpers/on_test.rb +109 -0
  23. data/acceptance/tests/base/dsl/helpers/host_helpers/retry_on_test.rb +42 -0
  24. data/acceptance/tests/base/dsl/helpers/host_helpers/rsync_to_test.rb +143 -0
  25. data/acceptance/tests/base/dsl/helpers/host_helpers/run_cron_on_test.rb +242 -0
  26. data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_on_test.rb +69 -0
  27. data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_test.rb +53 -0
  28. data/acceptance/tests/base/dsl/helpers/host_helpers/scp_from_test.rb +53 -0
  29. data/acceptance/tests/base/dsl/helpers/host_helpers/scp_to_test.rb +54 -0
  30. data/acceptance/tests/base/dsl/helpers/host_helpers/shell_test.rb +51 -0
  31. data/acceptance/tests/base/dsl/helpers/host_helpers/upgrade_package_test.rb +92 -0
  32. data/acceptance/tests/base/dsl/install_utils/clone_git_repo_on_test.rb +47 -0
  33. data/acceptance/tests/base/{host.rb → host_test.rb} +2 -0
  34. data/acceptance/tests/hypervisor/{communication.rb → communication_test.rb} +0 -0
  35. data/acceptance/tests/load_path_bootstrap.rb +10 -0
  36. data/acceptance/tests/puppet/{install_smoke.rb → install_smoke_test.rb} +0 -0
  37. data/beaker.gemspec +1 -1
  38. data/docs/Access-the-Live-Test-Console-with-Pry.md +305 -0
  39. data/docs/Argument-Processing-and-Precedence.md +325 -0
  40. data/docs/Beaker-Installation.md +59 -0
  41. data/docs/Beaker-Owners-and-Reviewers.md +16 -0
  42. data/docs/Beaker-Test-Tagging.md +76 -0
  43. data/docs/Beaker-with-Masterless-Puppet.md +42 -0
  44. data/docs/Creating-A-Test-Environment.md +91 -0
  45. data/docs/Docker-Support.md +129 -0
  46. data/docs/EC2-Support.md +77 -0
  47. data/docs/Example-Vagrant-Hosts-Files.md +66 -0
  48. data/docs/File-a-Beaker-Bug.md +3 -0
  49. data/docs/Google-Compute-Engine-Support.md +41 -0
  50. data/docs/How-To-Beaker.md +7 -0
  51. data/docs/How-To-Use-User-Password-Authentication-with-Beaker.md +53 -0
  52. data/docs/How-to-Write-a-Beaker-Test-for-a-Module.md +145 -0
  53. data/docs/Lets-Write-a-Test.md +73 -0
  54. data/docs/Openstack-Support.md +32 -0
  55. data/docs/Overview.md +31 -0
  56. data/docs/README.md +43 -0
  57. data/docs/Roles-What-Are-They.md +44 -0
  58. data/docs/Shared-Options-for-Executing-Beaker-Commands.md +43 -0
  59. data/docs/Solaris-Support.md +10 -0
  60. data/docs/The-Beaker-DSL.md +283 -0
  61. data/docs/The-Command-Line.md +24 -0
  62. data/docs/Types,-Puppet-4,-and-the-All-In-One-Agent.md +13 -0
  63. data/docs/VMWare-Fusion-Support.md +36 -0
  64. data/docs/Vagrant-Support.md +47 -0
  65. data/docs/beaker-vs.-beaker-rspec.md +87 -0
  66. data/docs/hosts/README.md +8 -0
  67. data/docs/hosts/eos.md +30 -0
  68. data/docs/hypervisors/README.md +8 -0
  69. data/docs/hypervisors/aws.md +143 -0
  70. data/docs/vSphere-Support.md +46 -0
  71. data/lib/beaker/dsl/helpers/host_helpers.rb +2 -4
  72. data/lib/beaker/dsl/helpers/puppet_helpers.rb +45 -11
  73. data/lib/beaker/dsl/install_utils/foss_utils.rb +20 -23
  74. data/lib/beaker/dsl/install_utils/module_utils.rb +4 -0
  75. data/lib/beaker/dsl/install_utils/pe_utils.rb +2 -6
  76. data/lib/beaker/dsl/patterns.rb +1 -1
  77. data/lib/beaker/host.rb +3 -0
  78. data/lib/beaker/host/eos.rb +56 -0
  79. data/lib/beaker/host/mac/pkg.rb +1 -1
  80. data/lib/beaker/host/unix/pkg.rb +36 -0
  81. data/lib/beaker/hypervisor/aws_sdk.rb +1 -1
  82. data/lib/beaker/hypervisor/vagrant.rb +3 -3
  83. data/lib/beaker/logger.rb +1 -0
  84. data/lib/beaker/options/presets.rb +5 -0
  85. data/lib/beaker/shared/host_manager.rb +7 -4
  86. data/lib/beaker/version.rb +1 -1
  87. data/spec/beaker/dsl/helpers/puppet_helpers_spec.rb +87 -0
  88. data/spec/beaker/dsl/install_utils/foss_utils_spec.rb +53 -20
  89. data/spec/beaker/dsl/install_utils/module_utils_spec.rb +1 -1
  90. data/spec/beaker/dsl/install_utils/pe_utils_spec.rb +7 -14
  91. data/spec/beaker/host/eos_spec.rb +65 -0
  92. data/spec/beaker/host/unix/pkg_spec.rb +42 -0
  93. data/spec/beaker/hypervisor/aws_sdk_spec.rb +17 -56
  94. data/spec/beaker/hypervisor/vagrant_spec.rb +1 -1
  95. data/spec/beaker/logger_spec.rb +1 -1
  96. data/spec/mocks.rb +0 -13
  97. metadata +76 -6
  98. 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/testmodule2', 'C:\\ProgramData\\PuppetLabs\\puppet\\etc\\modules\\testmodule')
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 'generates an EOS PE install command for an EOS host' do
169
+ it 'calls the EOS PE install command for an EOS host' do
170
170
  the_host = eoshost.dup
171
- commands = ['enable', "extension puppet-enterprise-#{the_host['pe_ver']}-#{the_host['platform']}.swix"]
172
- command = commands.join("\n")
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 'can download a PE .swix from a URL to an EOS host and unpack it' do
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 ) #is a tar.gz
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
- path = eoshost['pe_dir']
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( subject ).to receive( :on ).with( hosts[3], /^Cli/ ).once
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 eq("Beaker-bob-foobar-#{date_part}")
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
- context 'when a beaker keypair already exists' do
677
- it 'returns the keypair if available' do
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
- answer = 'You get a keypair! You get a keypair! And you get a keypair too!'
697
- expect( region ).to receive(:key_pairs).and_return(key_pairs).twice
698
- expect( aws ).to receive( :public_key ).and_return('test_ssh_string')
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' )
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
 
4
4
  module Beaker
5
5
  describe Logger do
6
- let(:my_io) { MockIO.new }
6
+ let(:my_io) { StringIO.new }
7
7
  let(:logger) { Logger.new(my_io, :quiet => true) }
8
8
  let(:test_dir) { 'tmp/tests' }
9
9
  let(:dummy_prefix) { 'dummy' }
@@ -1,18 +1,5 @@
1
1
  require 'rspec/mocks'
2
2
 
3
- class MockIO < IO
4
- def initialize
5
- end
6
-
7
- methods.each do |meth|
8
- define_method(:meth) {}
9
- end
10
-
11
- def === other
12
- super other
13
- end
14
- end
15
-
16
3
  module MockNet
17
4
  class HTTP
18
5
 
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.27.0
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-10-21 00:00:00.000000000 Z
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/host.rb
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/dsl/install_utils/clone_git_repo_on.rb
477
- - acceptance/tests/hypervisor/communication.rb
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/install_smoke.rb
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