Fix acceptance tests
[puppet-modules/puppetlabs-apt.git] / spec / spec_helper_acceptance.rb
index 0073e4d8da0ac1d68574410e2ba972cc483fbebb..56b8dadc62df21e4510faaa0c31711cf63531b41 100644 (file)
@@ -1,12 +1,20 @@
 require 'beaker-rspec'
 
-hosts.each do |host|
-  # Install Puppet
-  install_package host, 'rubygems'
-  on host, 'gem install puppet --no-ri --no-rdoc'
-  on host, "mkdir -p #{host['distmoduledir']}"
+# Install Puppet
+unless ENV['RS_PROVISION'] == 'no'
+  # This will install the latest available package on el and deb based
+  # systems fail on windows and osx, and install via gem on other *nixes
+  foss_opts = { :default_action => 'gem_install' }
+
+  if default.is_pe?; then install_pe; else install_puppet( foss_opts ); end
+
+  hosts.each do |host|
+    on host, "mkdir -p #{host['distmoduledir']}"
+  end
 end
 
+UNSUPPORTED_PLATFORMS = ['RedHat','Suse','windows','AIX','Solaris']
+
 RSpec.configure do |c|
   # Project root
   proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
@@ -17,10 +25,10 @@ RSpec.configure do |c|
   # Configure all nodes in nodeset
   c.before :suite do
     # Install module and dependencies
-    puppet_module_install(:source => proj_root, :module_name => 'apt')
     hosts.each do |host|
-      shell('/bin/touch /etc/puppet/hiera.yaml')
-      shell('puppet module install puppetlabs-stdlib', { :acceptable_exit_codes => [0,1] })
+      copy_module_to(host, :source => proj_root, :module_name => 'apt')
+      shell("/bin/touch #{default['puppetpath']}/hiera.yaml")
+      on host, puppet('module install puppetlabs-stdlib --version 4.5.0'), { :acceptable_exit_codes => [0,1] }
     end
   end
 end