aboutsummaryrefslogtreecommitdiffstats
path: root/spec/spec_helper_acceptance.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/spec_helper_acceptance.rb')
-rw-r--r--spec/spec_helper_acceptance.rb41
1 files changed, 40 insertions, 1 deletions
diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb
index 9196bc9..ea9b6dc 100644
--- a/spec/spec_helper_acceptance.rb
+++ b/spec/spec_helper_acceptance.rb
@@ -1 +1,40 @@
-require 'puppet-openstack_spec_helper/beaker_spec_helper'
+require 'beaker-rspec'
+
+install_puppet_on(hosts, options)
+
+RSpec.configure do |c|
+ # Project root
+ proj_root = File.expand_path(File.join(Dir.getwd))
+ module_name = JSON.parse(open('metadata.json').read)['name'].split('-')[1]
+
+ # Make sure proj_root is the real project root
+ unless File.exists?("#{proj_root}/metadata.json")
+ raise "bundle exec rspec spec/acceptance needs be run from module root."
+ end
+
+ # Readable test descriptions
+ c.formatter = :documentation
+
+ # Configure all nodes in nodeset
+ c.before :suite do
+ # Install module and dependencies
+ hosts.each do |host|
+ # Start out with clean moduledir, don't trust r10k to purge it
+ on host, "rm -rf /etc/puppet/modules/*"
+
+ # Make sure EPEL is not installed.
+ # It can happens in OpenStack Infra when using centos7 images.
+ if os[:family].casecmp('RedHat') == 0
+ on host, "rpm -e epel-release || true"
+ end
+
+ on(host, puppet('module', 'install', 'puppetlabs-stdlib'))
+ on(host, puppet('module', 'install', 'puppetlabs-dummy_service'))
+
+ # Install the module being tested
+ on host, "rm -fr /etc/puppet/modules/#{module_name}"
+ puppet_module_install(:source => proj_root, :module_name => module_name)
+
+ end
+ end
+end \ No newline at end of file