simp-beaker-helpers 1.0.7 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- Y2MyOTg3YzFjZjAxM2JjY2YxYmRkZjkxYzNiNTc5MGFmYTEwMTQ4OA==
4
+ ZmEwZWNlYzg3YjU4NzRjMTcwZmI0ODQ2OTEzZGEwNzZmNDJkM2RiYQ==
5
5
  data.tar.gz: !binary |-
6
- ZmIwYjI4ODJlMmE2Y2FmM2VlMWU4ZTMwOGIzMDFmZTI0MGJlNjBjMA==
6
+ ZjA0MTM5ZjM3M2FkYWZhNTJjNmY0OGQ1NmJlODEyOThjODMzZWExNA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZTZhY2UzMmFiZmVhOTUxNjZjYzA5NGM1N2YyNGExMmY5YjBkOTFiM2E5MmY5
10
- MjlhODA1NDFkNWVlYzBlYTBmNjNhMjc3YTA0YmM2YTE1MDUwZTMyZTZiMDdm
11
- ZGFmZGJkMTNhNDQyNjFmOGI0ZTMwNTVhOTA4NDFjOGI0NzM2NjU=
9
+ ZjhmZmYzY2JjNWE5ZTY5ZTJmYTc5ZDA2Zjk5ODA0NGFjZmIxNzQyY2MyMTIz
10
+ YjMzOTUyY2RhY2Y3ODMzNWFlNjhkNzMwODIxOGM5MjZkZDlkMjhlMjAwYWFj
11
+ ZGIzYmI5NzJhM2Y5OWYxZGVkZDhiYjJhNTdiMWYyMDllOGYzNjI=
12
12
  data.tar.gz: !binary |-
13
- ODBkODY1Y2M3YmQ3MTFmODdjNzcyZGNkNTlmZWE4ZjMxYjZiNTM1ZDIwZWVk
14
- MWZiY2JhZTZhOTU3MjlhNTRmYzJiMDBhMDA5ZWI4ZDVmN2NhZmU4NWY4M2Ey
15
- YTU2ZmE2YzY2ZTU4MGRmMWUyOWNhNWE3NjNiYTM4MzE0YTExYWI=
13
+ YmEwZGU5NjAwZWU4YTBkZTk4ZmI1YWU3MjczMDdmYjE3YjRkYjRlZTczZWI0
14
+ Mzc3ODE1OWMzNjMyNDkxMWZlNTg1YzFmZGYwNjFmNGMwOTgxYWY3ZTEwMGNi
15
+ MTUyMzY3YWVmZmVhOTkzMTRmYzczZWZiMDFhZTA4MDgxYTBhYjM=
data/.fixtures.yml ADDED
@@ -0,0 +1,5 @@
1
+ ---
2
+ fixtures:
3
+ repositories:
4
+ stdlib: "git://github.com/simp/puppetlabs-stdlib"
5
+
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --order default
data/Gemfile CHANGED
@@ -11,3 +11,15 @@ gemspec
11
11
  # mandatory gems
12
12
  gem 'bundler'
13
13
  gem 'rake'
14
+ gem 'puppetlabs_spec_helper'
15
+ gem 'puppet'
16
+
17
+
18
+ group :system_tests do
19
+ gem 'pry'
20
+ gem 'beaker'
21
+ gem 'beaker-rspec'
22
+ # NOTE: Workaround because net-ssh 2.10 is busting beaker
23
+ # lib/ruby/1.9.1/socket.rb:251:in `tcp': wrong number of arguments (5 for 4) (ArgumentError)
24
+ gem 'net-ssh', '~> 2.9.0'
25
+ end
data/Rakefile CHANGED
@@ -4,6 +4,13 @@ require 'rubygems'
4
4
  require 'rake/clean'
5
5
  require 'fileutils'
6
6
  require 'find'
7
+ require 'rspec/core/rake_task'
8
+ require 'puppetlabs_spec_helper/rake_tasks'
9
+
10
+
11
+ ['spec','syntax','syntax:hiera','syntax:manifests','syntax:templates','lint','metadata'].each do |task|
12
+ Rake::Task[task].clear
13
+ end
7
14
 
8
15
  @package='simp-beaker-helpers'
9
16
  @rakefile_dir=File.dirname(__FILE__)
@@ -39,15 +46,20 @@ SIMP_RPM_BUILD when set, alters the gem produced by pkg:gem to be RPM-safe.
39
46
  }
40
47
  end
41
48
 
42
- desc 'run all RSpec tests'
43
- task :spec do
44
- Dir.chdir @rakefile_dir
45
- sh 'bundle exec rspec spec'
46
- end
49
+ #desc 'run all RSpec tests'
50
+ #task :spec do
51
+ # Dir.chdir @rakefile_dir
52
+ # sh 'bundle exec rspec spec'
53
+ #end
47
54
 
48
55
  desc %q{run all RSpec tests (alias of 'spec')}
49
56
  task :test => :spec
50
57
 
58
+ desc "Run acceptance tests"
59
+ RSpec::Core::RakeTask.new(:acceptance) do |t|
60
+ t.pattern = 'spec/acceptance'
61
+ end
62
+
51
63
  namespace :pkg do
52
64
  @specfile_template = "rubygem-#{@package}.spec.template"
53
65
  @specfile = "build/rubygem-#{@package}.spec"
data/files/pki/make.sh CHANGED
@@ -9,7 +9,6 @@ CAKEY=./cakey.pem
9
9
  CACERT=./cacert.pem
10
10
  CASERIAL=`uuidgen | cut -f1 -d'-'`
11
11
 
12
-
13
12
  keydist=keydist
14
13
 
15
14
  # start clean
@@ -17,16 +16,16 @@ bash clean.sh
17
16
 
18
17
  mkdir -p working "${keydist}" "${keydist}/cacerts"
19
18
 
20
- # Create new CA
19
+ # Create new CA if necessary
21
20
  # ------------------------------------------------------------------------------
22
- dd if=/dev/urandom status=none bs=60 count=1 | openssl base64 -e -nopad | tr -d '\n' > cacertkey
23
- echo '' >> cacertkey
24
- mkdir ${CATOP}
25
- mkdir ${CATOP}/certs
26
- mkdir ${CATOP}/crl
27
- mkdir ${CATOP}/newcerts
28
- mkdir ${CATOP}/private
29
- echo "01" > ${CATOP}/serial
21
+ mkdir -p ${CATOP} ${CATOP}/certs ${CATOP}/crl ${CATOP}/newcerts ${CATOP}/private
22
+ if [ ! -f cacertkey ]; then
23
+ dd if=/dev/urandom status=none bs=60 count=1 | openssl base64 -e -nopad | tr -d '\n' > cacertkey
24
+ echo '' >> cacertkey
25
+ fi
26
+ if [ ! -f ${CATOP}/serial ]; then
27
+ echo "01" > ${CATOP}/serial
28
+ fi
30
29
  touch ${CATOP}/index.txt
31
30
 
32
31
  echo "== Making CA certificate ..."
@@ -1,30 +1,36 @@
1
1
  module Simp; end
2
2
 
3
3
  module Simp::BeakerHelpers
4
- VERSION = '1.0.7'
4
+ VERSION = '1.0.9'
5
5
 
6
6
  # Locates .fixture.yml in or above this directory.
7
7
  def fixtures_yml_path
8
+ STDERR.puts ' ** fixtures_yml_path' if ENV['BEAKER_helpers_verbose']
8
9
  fixtures_yml = ''
9
10
  dir = '.'
10
11
  while( fixtures_yml.empty? && File.expand_path(dir) != '/' ) do
11
12
  file = File.expand_path( '.fixtures.yml', dir )
13
+ STDERR.puts " ** fixtures_yml_path: #{file}" if ENV['BEAKER_helpers_verbose']
12
14
  if File.exists? file
13
15
  fixtures_yml = file
14
16
  break
15
17
  end
18
+ dir = "#{dir}/.."
16
19
  end
17
20
  raise 'ERROR: cannot locate .fixtures.yml!' if fixtures_yml.empty?
21
+ STDERR.puts " ** fixtures_yml_path:finished (file: '#{file}')" if ENV['BEAKER_helpers_verbose']
18
22
  fixtures_yml
19
23
  end
20
24
 
21
25
 
22
26
  # returns an Array of puppet modules declared in .fixtures.yml
23
27
  def pupmods_in_fixtures_yml
28
+ STDERR.puts ' ** pupmods_in_fixtures_yml' if ENV['BEAKER_helpers_verbose']
24
29
  fixtures_yml = fixtures_yml_path
25
30
  data = YAML.load_file( fixtures_yml )
26
31
  repos = data.fetch('fixtures').fetch('repositories', {}).keys || []
27
32
  symlinks = data.fetch('fixtures').fetch('symlinks', {}).keys || []
33
+ STDERR.puts ' ** pupmods_in_fixtures_yml: finished' if ENV['BEAKER_helpers_verbose']
28
34
  (repos + symlinks)
29
35
  end
30
36
 
@@ -33,11 +39,13 @@ module Simp::BeakerHelpers
33
39
  # if any fixture modules are missing, run 'rake spec_prep' to populate the
34
40
  # fixtures/modules
35
41
  def ensure_fixture_modules
42
+ STDERR.puts " ** ensure_fixture_modules" if ENV['BEAKER_helpers_verbose']
36
43
  unless ENV['BEAKER_spec_prep'] == 'no'
37
44
  puts "== checking prepped modules from .fixtures.yml"
38
45
  puts " -- (use BEAKER_spec_prep=no to disable)"
39
46
  missing_modules = []
40
47
  pupmods_in_fixtures_yml.each do |pupmod|
48
+ STDERR.puts " ** -- ensure_fixture_modules: '#{pupmod}'" if ENV['BEAKER_helpers_verbose']
41
49
  mod_root = File.expand_path( "spec/fixtures/modules/#{pupmod}", File.dirname( fixtures_yml_path ))
42
50
  missing_modules << pupmod unless File.directory? mod_root
43
51
  end
@@ -50,20 +58,30 @@ module Simp::BeakerHelpers
50
58
  puts " == all fixture modules present"
51
59
  end
52
60
  end
61
+ STDERR.puts " ** -- ensure_fixture_modules: finished" if ENV['BEAKER_helpers_verbose']
53
62
  end
54
63
 
64
+
55
65
  # Copy the local fixture modules (under `spec/fixtures/modules`) onto each SUT
56
- def copy_fixture_modules_to( suts = hosts )
66
+ def copy_fixture_modules_to( suts = hosts, pluginsync = true )
67
+ STDERR.puts ' ** copy_fixture_modules_to' if ENV['BEAKER_helpers_verbose']
57
68
  ensure_fixture_modules
69
+
58
70
  suts.each do |sut|
71
+ STDERR.puts " ** copy_fixture_modules_to: '#{sut}'" if ENV['BEAKER_helpers_verbose']
59
72
  # allow spec_prep to provide modules (to support isolated networks)
60
73
  unless ENV['BEAKER_use_fixtures_dir_for_modules'] == 'no'
61
74
  pupmods_in_fixtures_yml.each do |pupmod|
75
+ STDERR.puts " ** copy_fixture_modules_to: '#{sut}': '#{pupmod}'" if ENV['BEAKER_helpers_verbose']
62
76
  mod_root = File.expand_path( "spec/fixtures/modules/#{pupmod}", File.dirname( fixtures_yml_path ))
63
77
  copy_module_to( sut, {:source => mod_root, :module_name => pupmod} )
64
78
  end
65
79
  end
80
+ STDERR.puts ' ** copy_fixture_modules_to: finished' if ENV['BEAKER_helpers_verbose']
66
81
  end
82
+
83
+ # sync custom facts from the new modules to each SUT's factpath
84
+ pluginsync_on(suts) if pluginsync
67
85
  end
68
86
 
69
87
 
@@ -114,6 +132,7 @@ DEFAULT_KERNEL_TITLE=`/sbin/grubby --info=\\\${DEFAULT_KERNEL_INFO} | grep -m1 t
114
132
  end
115
133
  end
116
134
 
135
+
117
136
  # Apply known OS fixes we need to run Beaker on each SUT
118
137
  def fix_errata_on( suts = hosts )
119
138
  # SIMP uses structured facts, therefore stringify_facts must be disabled
@@ -165,7 +184,11 @@ DEFAULT_KERNEL_TITLE=`/sbin/grubby --info=\\\${DEFAULT_KERNEL_INFO} | grep -m1 t
165
184
  on ca_sut, "cd #{host_dir}; cat #{host_dir}/pki.hosts | xargs bash make.sh"
166
185
  end
167
186
 
168
- scp_from( ca_sut, host_dir, local_dir ) unless local_dir.empty?
187
+ # if a local_dir was provided, copy everything down to it
188
+ unless local_dir.empty?
189
+ FileUtils.mkdir_p local_dir
190
+ scp_from( ca_sut, host_dir, local_dir )
191
+ end
169
192
  end
170
193
 
171
194
 
@@ -198,15 +221,18 @@ DEFAULT_KERNEL_TITLE=`/sbin/grubby --info=\\\${DEFAULT_KERNEL_INFO} | grep -m1 t
198
221
  # Copy a CA keydist/ directory of CA+host certs into an SUT
199
222
  #
200
223
  # This simulates the output of FakeCA's gencerts_nopass.sh to keydist/
201
- #
202
- # FIXME: update keydist to use a more flexible path
203
- def copy_keydist_to( ca_sut = master )
204
- modulepath = on(ca_sut, 'puppet config print modulepath --environment production' ).output.chomp.split(':')
205
- on ca_sut, "rm -rf #{modulepath.first}/pki/files/keydist/*"
206
- on ca_sut, "cp -a /root/pki/keydist/ #{modulepath.first}/pki/files/"
207
- on ca_sut, "chgrp -R puppet #{modulepath.first}/pki/files/keydist"
224
+ def copy_keydist_to( ca_sut = master, host_keydist_dir = nil )
225
+ if !host_keydist_dir
226
+ modulepath = on(ca_sut, 'puppet config print modulepath --environment production' ).output.chomp.split(':')
227
+ host_keydist_dir = "#{modulepath.first}/pki/files/keydist"
228
+ end
229
+ on ca_sut, "rm -rf #{host_keydist_dir}/*"
230
+ on ca_sut, "mkdir -p #{host_keydist_dir}/"
231
+ on ca_sut, "cp -pR /root/pki/keydist/. #{host_keydist_dir}/"
232
+ on ca_sut, "chgrp -R puppet #{host_keydist_dir}"
208
233
  end
209
234
 
235
+
210
236
  ## Inline Hiera Helpers ##
211
237
  ## These will be integrated into core Beaker at some point ##
212
238
 
@@ -225,6 +251,7 @@ DEFAULT_KERNEL_TITLE=`/sbin/grubby --info=\\\${DEFAULT_KERNEL_INFO} | grep -m1 t
225
251
  end
226
252
  end
227
253
 
254
+
228
255
  # Set the hiera data file on the provided host to the passed data structure
229
256
  #
230
257
  # Note: This is authoritative, you cannot mix this with other hieradata copies
@@ -267,6 +294,7 @@ DEFAULT_KERNEL_TITLE=`/sbin/grubby --info=\\\${DEFAULT_KERNEL_INFO} | grep -m1 t
267
294
  write_hiera_config_on(host, Array(data_file))
268
295
  end
269
296
 
297
+
270
298
  # Clean up all temporary hiera data files.
271
299
  #
272
300
  # Meant to be called from after(:all)
@@ -280,6 +308,7 @@ DEFAULT_KERNEL_TITLE=`/sbin/grubby --info=\\\${DEFAULT_KERNEL_INFO} | grep -m1 t
280
308
  end
281
309
  end
282
310
 
311
+
283
312
  # pluginsync custom facts for all modules
284
313
  def pluginsync_on( suts = hosts )
285
314
  suts.each do |sut|
@@ -0,0 +1,50 @@
1
+ require 'rake'
2
+ require 'rake/clean'
3
+ require 'rake/tasklib'
4
+ require 'fileutils'
5
+ require 'puppetlabs_spec_helper/rake_tasks'
6
+
7
+ module Simp; end
8
+ module Simp::Rake
9
+ class Beaker < ::Rake::TaskLib
10
+ def initialize(base_dir)
11
+
12
+ @base_dir = base_dir
13
+ @clean_list = []
14
+
15
+ ::CLEAN.include( %{#{@base_dir}/log} )
16
+ ::CLEAN.include( %{#{@base_dir}/junit} )
17
+
18
+ yield self if block_given?
19
+
20
+ ::CLEAN.include( @clean_list )
21
+
22
+ namespace :beaker do
23
+ desc <<-EOM
24
+ Run a Beaker test against a specific Nodeset
25
+ * :nodeset - The nodeset against which you wish to run
26
+ EOM
27
+ task :run, [:nodeset] do |t,args|
28
+ fail "You must pass :nodeset to #{t}" unless args[:nodeset]
29
+ nodeset = args[:nodeset].strip
30
+
31
+ old_stdout = $stdout
32
+ nodesets = StringIO.new
33
+ $stdout = nodesets
34
+
35
+ Rake::Task['beaker_nodes'].invoke
36
+
37
+ $stdout = old_stdout
38
+
39
+ nodesets = nodesets.string.split("\n")
40
+
41
+ fail "Nodeset '#{nodeset}' not found. Valid Nodesets:\n#{nodesets.map{|x| x = %( * #{x})}.join(%(\n))}" unless nodesets.include?(nodeset)
42
+
43
+ ENV['BEAKER_set'] = nodeset
44
+
45
+ Rake::Task['beaker'].invoke
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
11
11
  EOF
12
12
  s.version = Simp::BeakerHelpers::VERSION
13
13
  s.license = 'Apache-2.0'
14
- s.authors = ['Chris Tessmer']
14
+ s.authors = ['Chris Tessmer','Trevor Vaughan']
15
15
  s.email = 'simp@simp-project.org'
16
16
  s.homepage = 'https://github.com/simp/rubygem-simp-beaker-helpers'
17
17
  s.metadata = {
@@ -0,0 +1,22 @@
1
+ HOSTS:
2
+ server:
3
+ roles:
4
+ - default
5
+ - master
6
+ - server
7
+ platform: el-6-x86_64
8
+ box: puppetlabs/centos-6.6-64-nocm
9
+ box_url: https://vagrantcloud.com/puppetlabs/boxes/centos-6.6-64-nocm
10
+ hypervisor: vagrant
11
+ client:
12
+ roles:
13
+ - agent
14
+ - client
15
+ platform: el-6-x86_64
16
+ box: puppetlabs/centos-6.6-64-nocm
17
+ box_url: https://vagrantcloud.com/puppetlabs/boxes/centos-6.6-64-nocm
18
+ hypervisor: vagrant
19
+ CONFIG:
20
+ log_level: verbose
21
+ type: foss
22
+ vagrant_memsize: 256
@@ -0,0 +1,22 @@
1
+ HOSTS:
2
+ server:
3
+ roles:
4
+ - server
5
+ - default
6
+ - master
7
+ platform: el-7-x86_64
8
+ box: puppetlabs/centos-7.0-64-nocm
9
+ box_url: https://vagrantcloud.com/puppetlabs/boxes/centos-7.0-64-nocm
10
+ hypervisor: vagrant
11
+ client:
12
+ roles:
13
+ - client
14
+ - agent
15
+ platform: el-7-x86_64
16
+ box: puppetlabs/centos-7.0-64-nocm
17
+ box_url: https://vagrantcloud.com/puppetlabs/boxes/centos-7.0-64-nocm
18
+ hypervisor: vagrant
19
+ CONFIG:
20
+ log_level: verbose
21
+ type: foss
22
+ vagrant_memsize: 256
@@ -0,0 +1,24 @@
1
+ # This nodeset spins up a simple one-host test VM for both EL6 and EL7
2
+ HOSTS:
3
+ centos-7:
4
+ roles:
5
+ - server
6
+ - default
7
+ - master
8
+ platform: el-7-x86_64
9
+ box: puppetlabs/centos-7.0-64-nocm
10
+ box_url: https://vagrantcloud.com/puppetlabs/boxes/centos-7.0-64-nocm
11
+ hypervisor: vagrant
12
+ centos-6:
13
+ roles:
14
+ - agent
15
+ - client
16
+ platform: el-6-x86_64
17
+ box: puppetlabs/centos-6.6-64-nocm
18
+ box_url: https://vagrantcloud.com/puppetlabs/boxes/centos-6.6-64-nocm
19
+ hypervisor: vagrant
20
+ CONFIG:
21
+ log_level: verbose
22
+ type: foss
23
+ vagrant_memsize: 256
24
+ ## vb_gui: true
@@ -0,0 +1,23 @@
1
+ HOSTS:
2
+ server:
3
+ roles:
4
+ - server
5
+ - default
6
+ - master
7
+ platform: el-7-x86_64
8
+ box: puppetlabs/centos-7.0-64-nocm
9
+ box_url: https://vagrantcloud.com/puppetlabs/boxes/centos-7.0-64-nocm
10
+ hypervisor: vagrant
11
+ ## client:
12
+ ## roles:
13
+ ## - client
14
+ ## - agent
15
+ ## platform: el-7-x86_64
16
+ ## box: puppetlabs/centos-7.0-64-nocm
17
+ ## box_url: https://vagrantcloud.com/puppetlabs/boxes/centos-7.0-64-nocm
18
+ ## hypervisor: vagrant
19
+ CONFIG:
20
+ log_level: verbose
21
+ type: foss
22
+ vagrant_memsize: 256
23
+ ## vb_gui: true
@@ -0,0 +1,70 @@
1
+ require 'spec_helper_acceptance'
2
+ require 'tmpdir'
3
+
4
+
5
+ context 'PKI operations' do
6
+ #test_name 'SIMP beaker helper PKI operations'
7
+ begin
8
+
9
+ context 'after run_fake_pki_ca_on(master,hosts)' do
10
+ before(:all) do
11
+ copy_fixture_modules_to( hosts )
12
+ end
13
+
14
+ shared_examples_for 'a correctly copied keydist/ tree' do |test_dir|
15
+ it 'correctly copies keydist/ tree' do
16
+ on(master, "ls -d #{test_dir}" +
17
+ " #{test_dir}/cacerts" +
18
+ " #{test_dir}/cacerts/cacert_*.pem"
19
+ )
20
+
21
+ hosts.each do |host|
22
+ name = host.node_name
23
+ on(master, "ls -d #{test_dir}/#{name}/cacerts" +
24
+ " #{test_dir}/#{name}/#{name}.pem" +
25
+ " #{test_dir}/#{name}/#{name}.pub" +
26
+ " #{test_dir}/cacerts/cacert_*.pem"
27
+ )
28
+ end
29
+ end
30
+ end
31
+
32
+ describe 'a Fake CA under /root' do
33
+ @tmp_keydist_dir = Dir.mktmpdir 'simp-beaker-helpers__pki-tests'
34
+ run_fake_pki_ca_on( master, hosts, @tmp_keydist_dir )
35
+
36
+ it 'should create /root/pki' do
37
+ on(master, 'test -d /root/pki')
38
+ end
39
+
40
+ it_behaves_like 'a correctly copied keydist/ tree', '/root/pki/keydist'
41
+
42
+ ### TODO: fix scoping issues
43
+ ### it "copied keydist back to local directory '#{@tmp_keydist_dir}'" do
44
+ ### require 'pry'; binding.pry
45
+ ### expect( File.directory? @tmp_keydist_dir ).to be_truthy
46
+ ### end
47
+ end
48
+
49
+
50
+ describe 'after copy_keydist_to' do
51
+ test_dir = '/etc/puppet/modules/pki/files/keydist'
52
+ copy_keydist_to(master)
53
+ it_behaves_like 'a correctly copied keydist/ tree', test_dir
54
+ end
55
+
56
+ describe 'after copy_keydist_to(master,"/tmp/foo")' do
57
+ test_dir = '/tmp/foo'
58
+ copy_keydist_to(master, test_dir)
59
+ it_behaves_like 'a correctly copied keydist/ tree', test_dir
60
+ end
61
+
62
+ after( :all ) do
63
+ FileUtils.remove_entry_secure( @tmp_keydist_dir )
64
+ end
65
+ end
66
+
67
+ rescue Exception => e
68
+ require 'pry'; binding.pry
69
+ end
70
+ end
@@ -0,0 +1,40 @@
1
+ require 'beaker-rspec'
2
+ require 'tmpdir'
3
+ require 'yaml'
4
+ require 'simp/beaker_helpers'
5
+ include Simp::BeakerHelpers
6
+
7
+ unless ENV['BEAKER_provision'] == 'no'
8
+ hosts.each do |host|
9
+ # Install Puppet
10
+ if host.is_pe?
11
+ install_pe
12
+ else
13
+ install_puppet
14
+ end
15
+ end
16
+ end
17
+
18
+
19
+ RSpec.configure do |c|
20
+ # ensure that environment OS is ready on each host
21
+ fix_errata_on(hosts)
22
+
23
+ # Readable test descriptions
24
+ c.formatter = :documentation
25
+
26
+ # Configure all nodes in nodeset
27
+ c.before :suite do
28
+ begin
29
+ # Install modules and dependencies from spec/fixtures/modules
30
+ copy_fixture_modules_to( hosts )
31
+ STDOUT.flush
32
+ rescue StandardError, ScriptError => e
33
+ if ENV['PRY']
34
+ require 'pry'; binding.pry
35
+ else
36
+ raise e
37
+ end
38
+ end
39
+ end
40
+ end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simp-beaker-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Tessmer
8
+ - Trevor Vaughan
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2015-10-23 00:00:00.000000000 Z
12
+ date: 2015-10-27 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: beaker
@@ -32,7 +33,9 @@ executables: []
32
33
  extensions: []
33
34
  extra_rdoc_files: []
34
35
  files:
36
+ - .fixtures.yml
35
37
  - .gitignore
38
+ - .rspec
36
39
  - .travis.yml
37
40
  - Gemfile
38
41
  - LICENSE
@@ -43,7 +46,14 @@ files:
43
46
  - files/pki/template_ca.cnf
44
47
  - files/pki/template_host.cnf
45
48
  - lib/simp/beaker_helpers.rb
49
+ - lib/simp/rake/beaker.rb
46
50
  - simp-beaker-helpers.gemspec
51
+ - spec/acceptance/nodesets/centos-66-x64.yml
52
+ - spec/acceptance/nodesets/centos-7-x64.yml
53
+ - spec/acceptance/nodesets/centos-combined-x64.yaml
54
+ - spec/acceptance/nodesets/default.yml
55
+ - spec/acceptance/pki_tests_spec.rb
56
+ - spec/spec_helper_acceptance.rb
47
57
  homepage: https://github.com/simp/rubygem-simp-beaker-helpers
48
58
  licenses:
49
59
  - Apache-2.0
@@ -69,4 +79,10 @@ rubygems_version: 2.4.8
69
79
  signing_key:
70
80
  specification_version: 4
71
81
  summary: beaker helper methods for SIMP
72
- test_files: []
82
+ test_files:
83
+ - spec/acceptance/nodesets/centos-66-x64.yml
84
+ - spec/acceptance/nodesets/centos-7-x64.yml
85
+ - spec/acceptance/nodesets/centos-combined-x64.yaml
86
+ - spec/acceptance/nodesets/default.yml
87
+ - spec/acceptance/pki_tests_spec.rb
88
+ - spec/spec_helper_acceptance.rb