Merge remote-tracking branch 'puppetlabs/master'
[puppet_vcsrepo.git] / spec / spec_helper_acceptance.rb
1 require 'beaker-rspec'
2 require 'beaker/puppet_install_helper'
3
4 run_puppet_install_helper
5
6 RSpec.configure do |c|
7   # Project root
8   proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
9
10   # Readable test descriptions
11   c.formatter = :documentation
12
13   # Configure all nodes in nodeset
14   c.before :suite do
15
16     # ensure test dependencies are available on all hosts
17     hosts.each do |host|
18       copy_module_to(host, :source => proj_root, :module_name => 'vcsrepo')
19       case fact_on(host, 'osfamily')
20       when 'RedHat'
21         if fact_on(host, 'operatingsystemmajrelease') == '5'
22           will_install_git = on(host, 'which git', :acceptable_exit_codes => [0,1]).exit_code == 1
23
24           if will_install_git
25             on host, puppet('module install stahnma-epel')
26             apply_manifest_on( host, 'include epel' )
27           end
28
29         end
30
31         install_package(host, 'git')
32
33       when 'Debian'
34         install_package(host, 'git-core')
35
36       else
37         if !check_for_package(host, 'git')
38           puts "Git package is required for this module"
39           exit
40         end
41       end
42       on host, 'git config --global user.email "root@localhost"'
43       on host, 'git config --global user.name "root"'
44     end
45   end
46 end