beaker 2.27.0 → 2.28.0

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