summaryrefslogtreecommitdiff
path: root/puppet/modules/vcsrepo/spec/acceptance/beaker_helper.rb
diff options
context:
space:
mode:
authorMicah <micah@leap.se>2016-07-12 16:46:26 -0400
committerMicah <micah@leap.se>2016-07-12 16:46:26 -0400
commit850a14b59444737f703686d0d1996bf09ab08e2b (patch)
tree6d67b59126fc9d8329b6acdd072b53b5ea35bc25 /puppet/modules/vcsrepo/spec/acceptance/beaker_helper.rb
parent5247b7ccf5b5889ee16262dd976b03047e34e32c (diff)
git subrepo clone https://leap.se/git/puppet_vcsrepo puppet/modules/vcsrepo
subrepo: subdir: "puppet/modules/vcsrepo" merged: "4e23209" upstream: origin: "https://leap.se/git/puppet_vcsrepo" branch: "master" commit: "4e23209" git-subrepo: version: "0.3.0" origin: "https://github.com/ingydotnet/git-subrepo" commit: "1e79595" Change-Id: I72f8ecdef4855ef9da6e1486453b1cdf01bb54a3
Diffstat (limited to 'puppet/modules/vcsrepo/spec/acceptance/beaker_helper.rb')
-rw-r--r--puppet/modules/vcsrepo/spec/acceptance/beaker_helper.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/puppet/modules/vcsrepo/spec/acceptance/beaker_helper.rb b/puppet/modules/vcsrepo/spec/acceptance/beaker_helper.rb
new file mode 100644
index 00000000..4d232047
--- /dev/null
+++ b/puppet/modules/vcsrepo/spec/acceptance/beaker_helper.rb
@@ -0,0 +1,51 @@
+test_name "Installing Puppet and vcsrepo module" do
+ step 'install puppet' do
+ if @options[:provision]
+ # This will fail if puppet is already installed, ie --no-provision
+ if hosts.first.is_pe?
+ install_pe
+ else
+ install_puppet
+ on hosts, "mkdir -p #{hosts.first['distmoduledir']}"
+ end
+ end
+ end
+
+ step 'Ensure we can install our module' do
+ hosts.each do |host|
+ # We ask the host to interpolate it's distmoduledir because we don't
+ # actually know it on Windows until we've let it redirect us (depending
+ # on whether we're running as a 32/64 bit process on 32/64 bit Windows
+ moduledir = on(host, "echo #{host['distmoduledir']}").stdout.chomp
+ on host, "mkdir -p #{moduledir}"
+ end
+ end
+
+ step 'install module' do
+ hosts.each do |host|
+ proj_root = File.expand_path(File.join(File.dirname(__FILE__),'..','..'))
+
+ # This require beaker 1.15
+ copy_module_to(host, :source => proj_root, :module_name => 'vcsrepo')
+
+ case fact_on(host, 'osfamily')
+ when 'RedHat'
+ install_package(host, 'git')
+ when 'Debian'
+ install_package(host, 'git-core')
+ else
+ if !check_for_package(host, 'git')
+ puts "Git package is required for this module"
+ exit
+ end
+ end
+
+ gitconfig = <<-EOS
+[user]
+ email = root@localhost
+ name = root
+EOS
+ create_remote_file(host, "/root/.gitconfig", gitconfig)
+ end
+ end
+end