Merge pull request #174 from justinstoller/update-helpers
[puppet_vcsrepo.git] / spec / spec_helper_acceptance.rb
1 require 'beaker-rspec'
2
3 unless ENV['RS_PROVISION'] == 'no'
4   hosts.each do |host|
5     # Install Puppet
6     if host.is_pe?
7       install_pe
8     else
9       install_puppet
10       on hosts, "mkdir -p #{hosts.first['distmoduledir']}"
11     end
12
13     # We ask the host to interpolate it's distmoduledir because we don't
14     # actually know it on Windows until we've let it redirect us (depending
15     # on whether we're running as a 32/64 bit process on 32/64 bit Windows
16     moduledir = on(host, "echo #{host['distmoduledir']}").stdout.chomp
17     on host, "mkdir -p #{moduledir}"
18   end
19 end
20
21 RSpec.configure do |c|
22   # Project root
23   proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
24
25   # Readable test descriptions
26   c.formatter = :documentation
27
28   # Configure all nodes in nodeset
29   c.before :suite do
30     # Install module and dependencies on all hosts
31     puppet_module_install(:source => proj_root, :module_name => 'vcsrepo')
32
33     # ensure test dependencies are available on all hosts
34     hosts.each do |host|
35       case fact_on(host, 'osfamily')
36       when 'RedHat'
37         install_package(host, 'git')
38       when 'Debian'
39         install_package(host, 'git-core')
40       else
41         if !check_for_package(host, 'git')
42           puts "Git package is required for this module"
43           exit
44         end
45       end
46       on host, 'git config --global user.email "root@localhost"'
47       on host, 'git config --global user.name "root"'
48     end
49   end
50 end