beaker-hiera 0.2.0 → 0.3.0

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,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4098ac7d047e293a481dedb0456a941485e11233a183b426b79da82571cd72c4
4
- data.tar.gz: be5aba7f9abcc5ae3640e10ea10cfed62f530194e1037644af6cd1ffbb1858b8
3
+ metadata.gz: 3f452d3f2513e4aba4d980f029222044b4f899d92c68ae02f71f8c25bbfd531a
4
+ data.tar.gz: b03bc1cf07161dbe89c7915c7b3f489a7f37b471aee548f8d26438a39e9bb46f
5
5
  SHA512:
6
- metadata.gz: 1db01a8e7f103582bdbb752b3dce0e3870cc3418f0ac01ed8a96187e14775404c639a892ef0a51a71f12b5139330f5a7bbe594d2298f0a1830ac777b78eec920
7
- data.tar.gz: 4f8355b5b5bd7a5f0115a78878ca1235287363456bf3ad6f8601eaa09f66bcfc4012488c74b1b931444604b30de1dfd73838f36552c627f86872e188ac835fc6
6
+ metadata.gz: 17e9609cbf693def9d87ecfb7c51df255a143cbdbf3e03dd791b5cd44520d6861495d06c4292403c9240391aba7ddaeb3dafc696b6b5c570e65e359fad18e000
7
+ data.tar.gz: 8bfb95f9b8331d10c3185760425668898ab445c46889ddf8e4b857f2149e6d5973ae3e686859bb2d7544e81496b257525fbfa1e0ee79a54426110dc30f062874
@@ -0,0 +1,22 @@
1
+ name: Release
2
+
3
+ on:
4
+ create:
5
+ ref_type: tag
6
+
7
+ jobs:
8
+ release:
9
+ runs-on: ubuntu-latest
10
+ if: github.repository == 'voxpupuli/beaker-hiera'
11
+ steps:
12
+ - uses: actions/checkout@v2
13
+ - name: Install Ruby 2.7
14
+ uses: ruby/setup-ruby@v1
15
+ with:
16
+ ruby-version: '2.7'
17
+ - name: Build gem
18
+ run: gem build *.gemspec
19
+ - name: Publish gem
20
+ run: gem push *.gem
21
+ env:
22
+ GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_AUTH_TOKEN }}'
@@ -0,0 +1,27 @@
1
+ name: Test
2
+
3
+ on:
4
+ - pull_request
5
+ - push
6
+
7
+ jobs:
8
+ test:
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ fail-fast: false
12
+ matrix:
13
+ ruby:
14
+ - "2.4"
15
+ - "2.5"
16
+ - "2.6"
17
+ - "2.7"
18
+ name: Ruby ${{ matrix.ruby }}
19
+ steps:
20
+ - uses: actions/checkout@v2
21
+ - name: Install Ruby ${{ matrix.ruby }}
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby }}
25
+ bundler-cache: true
26
+ - name: Run tests
27
+ run: bundle exec rake test
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source ENV['GEM_SOURCE'] || "https://rubygems.org"
1
+ source ENV['GEM_SOURCE'] || 'https://rubygems.org'
2
2
 
3
3
  gemspec
data/HISTORY.md CHANGED
@@ -1,11 +1,16 @@
1
1
  # default - History
2
2
  ## Tags
3
+ * [0.3.0 - 18 May, 2021](#0.2.1)
3
4
  * [0.2.0 - 10 Nov, 2020](#0.2.0)
4
5
  * [0.1.1 - 14 Oct, 2.05 (a23d45bc)](#0.1.1)
5
6
  * [0.1.0 - 8 Sep, 2.05 (7d1ef9b6)](#0.1.0)
6
7
 
7
8
  ## Details
8
9
 
10
+ ### <a name = "0.3.0">0.3.0 - 18 May, 2021
11
+
12
+ * Major update to work with Beaker 4
13
+
9
14
  ### <a name = "0.2.0">0.2.0 - 10 Nov, 2020
10
15
 
11
16
  * Release before moving to Vox Pupuli
data/README.md CHANGED
@@ -1,6 +1,14 @@
1
- # NOTE: This project is officially EOL.
1
+ # beaker-hiera
2
2
 
3
- As of Beaker 4.0, beaker-hiera is officially End-Of-Life and has been archived. If you need Hiera DSL methods for Beaker, please find them in <github.com/puppetlabs/beaker-puppet>.
3
+ Beaker Hiera DSL Extension Library! This allows to easily use Hiera data in acceptance tests.
4
4
 
5
- # beaker-hiera
6
- Beaker Hiera DSL Extension Library!
5
+ ```ruby
6
+ hierarchy = [
7
+ 'fqdn/%{fqdn}.yaml',
8
+ 'os/%{os.family}/%{os.release.major}.yaml',
9
+ 'os/%{os.family}.yaml',
10
+ 'common.yaml',
11
+ ]
12
+ write_hiera_config_on(host, hierarchy)
13
+ copy_hiera_data_to(host, 'spec/acceptance/hieradata')
14
+ ```
data/Rakefile CHANGED
@@ -1,16 +1,16 @@
1
1
  require 'rspec/core/rake_task'
2
2
 
3
- desc "Run spec tests"
3
+ desc 'Run spec tests'
4
4
  RSpec::Core::RakeTask.new(:test) do |t|
5
5
  t.rspec_opts = ['--color']
6
6
  t.pattern = 'spec/'
7
7
  end
8
8
 
9
- desc "Run spec tests with coverage"
9
+ desc 'Run spec tests with coverage'
10
10
  RSpec::Core::RakeTask.new(:coverage) do |t|
11
11
  ENV['BEAKER_HIERA_COVERAGE'] = 'y'
12
12
  t.rspec_opts = ['--color']
13
13
  t.pattern = 'spec/'
14
14
  end
15
15
 
16
- task :default => :test
16
+ task default: :test
data/beaker-hiera.gemspec CHANGED
@@ -1,37 +1,34 @@
1
- # -*- encoding: utf-8 -*-
2
- $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
1
+ $LOAD_PATH.unshift File.expand_path('lib', __dir__)
3
2
  require 'beaker-hiera/version'
4
3
 
5
4
  Gem::Specification.new do |s|
6
- s.name = "beaker-hiera"
5
+ s.name = 'beaker-hiera'
7
6
  s.version = Beaker::DSL::Helpers::Hiera::Version::STRING
8
- s.authors = ["Puppetlabs"]
9
- s.email = ["qe-team@puppetlabs.com"]
10
- s.homepage = "https://github.com/puppetlabs/beaker-hiera"
11
- s.summary = %q{Hiera DSL Helpers!}
12
- s.description = %q{For use for the Beaker acceptance testing tool}
7
+ s.authors = ['Vox Pupuli', 'Puppetlabs']
8
+ s.email = ['voxpupuli@groups.io']
9
+ s.homepage = 'https://github.com/voxpupuli/beaker-hiera'
10
+ s.summary = 'Hiera DSL Helpers!'
11
+ s.description = 'For use for the Beaker acceptance testing tool'
13
12
  s.license = 'Apache2'
14
13
 
15
14
  s.files = `git ls-files`.split("\n")
16
15
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
- s.require_paths = ["lib"]
16
+ s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
17
+ s.require_paths = ['lib']
18
+
19
+ s.required_ruby_version = '~> 2.4'
19
20
 
20
21
  # Testing dependencies
22
+ s.add_development_dependency 'pry', '~> 0.10'
23
+ s.add_development_dependency 'rake', '~> 13.0'
21
24
  s.add_development_dependency 'rspec', '~> 3.0'
22
- s.add_development_dependency 'rspec-its'
23
- s.add_development_dependency 'fakefs', '~> 0.6'
24
- s.add_development_dependency 'rake', '~> 10.1'
25
25
  s.add_development_dependency 'simplecov'
26
- s.add_development_dependency 'pry', '~> 0.10'
27
26
 
28
27
  # Documentation dependencies
29
- s.add_development_dependency 'yard'
30
28
  s.add_development_dependency 'markdown'
31
29
  s.add_development_dependency 'thin'
30
+ s.add_development_dependency 'yard'
32
31
 
33
32
  # Run time dependencies
34
- s.add_runtime_dependency 'stringify-hash', '~> 0.0.0'
35
-
33
+ s.add_runtime_dependency 'beaker', '~> 4.0'
36
34
  end
37
-
data/bin/beaker-hiera CHANGED
@@ -4,7 +4,7 @@ require 'rubygems' unless defined?(Gem)
4
4
  require 'beaker-hiera'
5
5
 
6
6
  VERSION_STRING =
7
- "
7
+ "
8
8
  _ .--.
9
9
  ( ` )
10
10
  beaker-hiera .-' `--,
@@ -23,10 +23,8 @@ VERSION_STRING =
23
23
  ||
24
24
  |\"\"|
25
25
  '=='
26
- "
26
+ ".freeze
27
27
 
28
-
29
-
30
- puts VERSION_STRING % [BeakerHiera::Version::STRING]
28
+ puts format(VERSION_STRING, BeakerHiera::Version::STRING)
31
29
 
32
30
  exit 0
data/lib/beaker-hiera.rb CHANGED
@@ -1,15 +1,6 @@
1
+ require 'beaker'
1
2
  require 'beaker-hiera/helpers'
2
3
  require 'beaker-hiera/version'
3
4
 
4
- module Beaker
5
- module DSL
6
- module Helpers
7
- module Hiera
8
- include Beaker::DSL::Hiera::Helpers
9
- end
10
- end
11
- end
12
- end
13
-
14
5
  # Register the DSL extension
15
- Beaker::DSL.register( Beaker::DSL::Helpers::Hiera )
6
+ Beaker::DSL.register(Beaker::DSL::Helpers::Hiera)
@@ -1,29 +1,35 @@
1
1
  module Beaker
2
2
  module DSL
3
3
  module Helpers
4
- # Methods that help you interact with your hiera installation, hiera must be installed
5
- # for these methods to execute correctly
4
+ # Methods that help you interact with your hiera installation. Hiera must be installed
5
+ # for these methods to execute correctly.
6
6
  module Hiera
7
-
8
7
  # Write hiera config file on one or more provided hosts
9
8
  #
10
- # @param[Host, Array<Host>, String, Symbol] host One or more hosts to act upon,
11
- # or a role (String or Symbol) that identifies one or more hosts.
12
- # @param[Array] One or more hierarchy paths
9
+ # @param [Host, Array<Host>, String, Symbol] host
10
+ # One or more hosts to act upon, or a role (String or Symbol) that
11
+ # identifies one or more hosts.
12
+ # @param [Array] hierarchy
13
+ # One or more hierarchy paths
13
14
  def write_hiera_config_on(host, hierarchy)
14
-
15
- block_on host do |host|
16
- hiera_config=Hash.new
17
- hiera_config[:backends] = 'yaml'
18
- hiera_config[:yaml] = {}
19
- hiera_config[:yaml][:datadir] = hiera_datadir(host)
20
- hiera_config[:hierarchy] = hierarchy
21
- hiera_config[:logger] = 'console'
22
- create_remote_file host, host.puppet['hiera_config'], hiera_config.to_yaml
15
+ block_on host do |hst|
16
+ hiera_config = {
17
+ backends: 'yaml',
18
+ yaml: {
19
+ datadir: hiera_datadir(hst)
20
+ },
21
+ hierarchy: hierarchy,
22
+ logger: 'console'
23
+ }
24
+ create_remote_file hst, hst.puppet['hiera_config'], hiera_config.to_yaml
23
25
  end
24
26
  end
25
27
 
26
28
  # Write hiera config file for the default host
29
+ #
30
+ # @param [Array] hierarchy
31
+ # One or more hierarchy paths
32
+ #
27
33
  # @see #write_hiera_config_on
28
34
  def write_hiera_config(hierarchy)
29
35
  write_hiera_config_on(default, hierarchy)
@@ -31,14 +37,20 @@ module Beaker
31
37
 
32
38
  # Copy hiera data files to one or more provided hosts
33
39
  #
34
- # @param[Host, Array<Host>, String, Symbol] host One or more hosts to act upon,
35
- # or a role (String or Symbol) that identifies one or more hosts.
36
- # @param[String] Directory containing the hiera data files.
40
+ # @param [Host, Array<Host>, String, Symbol] host
41
+ # One or more hosts to act upon, or a role (String or Symbol) that
42
+ # identifies one or more hosts.
43
+ # @param [String] source
44
+ # Directory containing the hiera data files.
37
45
  def copy_hiera_data_to(host, source)
38
46
  scp_to host, File.expand_path(source), hiera_datadir(host)
39
47
  end
40
48
 
41
49
  # Copy hiera data files to the default host
50
+ #
51
+ # @param [String] source
52
+ # Directory containing the hiera data files.
53
+ #
42
54
  # @see #copy_hiera_data_to
43
55
  def copy_hiera_data(source)
44
56
  copy_hiera_data_to(default, source)
@@ -47,13 +59,13 @@ module Beaker
47
59
  # Get file path to the hieradatadir for a given host.
48
60
  # Handles whether or not a host is AIO-based & backwards compatibility
49
61
  #
50
- # @param[Host] host Host you want to use the hieradatadir from
62
+ # @param [Host] host
63
+ # Host you want to use the hieradatadir from
51
64
  #
52
65
  # @return [String] Path to the hiera data directory
53
66
  def hiera_datadir(host)
54
- host[:type] =~ /aio/ ? File.join(host.puppet['codedir'], 'hieradata') : host[:hieradatadir]
67
+ File.join(host.puppet['codedir'], 'hieradata')
55
68
  end
56
-
57
69
  end
58
70
  end
59
71
  end
@@ -3,7 +3,8 @@ module Beaker
3
3
  module Helpers
4
4
  module Hiera
5
5
  module Version
6
- STRING = '0.2.0'
6
+ # Current version of beaker-hiera
7
+ STRING = '0.3.0'.freeze
7
8
  end
8
9
  end
9
10
  end
@@ -1,90 +1,62 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  class ClassMixedWithDSLHelpers
4
- include BeakerTestHelpers
5
- include Beaker::DSL::Helpers::Hiera
4
+ include Beaker::DSL
6
5
 
7
6
  def logger
8
7
  RSpec::Mocks::Double.new('logger').as_null_object
9
8
  end
10
-
11
9
  end
12
10
 
13
11
  describe ClassMixedWithDSLHelpers do
14
- let( :host ) { make_host( 'master', :roles => %w( master agent default) ) }
15
- let( :hosts ) { [ host ] }
12
+ let(:host) { instance_double('Beaker::Host') }
13
+ let(:puppet) do
14
+ { 'codedir' => '/usr/code', 'hiera_config' => '/usr/face' }
15
+ end
16
16
 
17
- describe "#write_hiera_config_on" do
18
- let(:hierarchy) { [ 'nodes/%{::fqdn}', 'common' ] }
19
- it 'on FOSS host' do
20
- host = make_host('testhost', { :platform => 'ubuntu' } )
21
- hiera_config = '/usr/face'
22
- allow( host ).to receive( :puppet ) { { 'hiera_config' => hiera_config } }
23
- expect(subject).to receive(:create_remote_file).with(host, hiera_config, /#{host[:hieradatadir]}/)
24
- subject.write_hiera_config_on(host, hierarchy)
25
- end
17
+ before do
18
+ allow(host).to receive(:puppet) { puppet }
19
+ end
26
20
 
27
- it 'on PE host' do
28
- host = make_host('testhost', { :platform => 'ubuntu', :type => 'pe' } )
29
- hiera_config = '/usr/face'
30
- allow( host ).to receive( :puppet ) { { 'hiera_config' => hiera_config } }
31
- expect(subject).to receive(:create_remote_file).with(host, hiera_config, /#{host[:hieradatadir]}/)
21
+ describe '#write_hiera_config_on' do
22
+ let(:hierarchy) { ['nodes/%{::fqdn}', 'common'] }
23
+
24
+ it 'on host' do
25
+ expect(subject).to receive(:create_remote_file).with(host, '/usr/face', %r{datadir: "/usr/code/hieradata"})
32
26
  subject.write_hiera_config_on(host, hierarchy)
33
27
  end
34
-
35
28
  end
36
29
 
37
- describe "#write_hiera_config" do
38
- let(:hierarchy) { [ 'nodes/%{::fqdn}', 'common' ] }
30
+ describe '#write_hiera_config' do
31
+ let(:hierarchy) { ['nodes/%{::fqdn}', 'common'] }
32
+
39
33
  it 'delegates to #write_hiera_config_on with the default host' do
40
- allow( subject ).to receive( :hosts ).and_return( hosts )
41
- allow( subject ).to receive( :default ).and_return( host )
42
- expect( subject ).to receive( :write_hiera_config_on ).with( host, hierarchy).once
43
- subject.write_hiera_config( hierarchy )
34
+ expect(subject).to receive(:default).and_return(host)
35
+ expect(subject).to receive(:write_hiera_config_on).with(host, hierarchy).once
36
+ subject.write_hiera_config(hierarchy)
44
37
  end
45
-
46
38
  end
47
39
 
48
- describe "#copy_hiera_data_to" do
40
+ describe '#copy_hiera_data_to' do
49
41
  let(:path) { 'spec/fixtures/hieradata' }
50
- it 'on FOSS host' do
51
- host = make_host('testhost', { :platform => 'ubuntu' } )
52
- expect(subject).to receive(:scp_to).with(host, File.expand_path(path), host[:hieradatadir])
53
- subject.copy_hiera_data_to(host, path)
54
- end
55
42
 
56
- it 'on PE host' do
57
- host = make_host('testhost', { :platform => 'ubuntu', :type => 'pe' } )
58
- expect(subject).to receive(:scp_to).with(host, File.expand_path(path), host[:hieradatadir])
43
+ it 'on host' do
44
+ expect(subject).to receive(:scp_to).with(host, File.expand_path(path), '/usr/code/hieradata')
59
45
  subject.copy_hiera_data_to(host, path)
60
46
  end
61
47
  end
62
48
 
63
- describe "#copy_hiera_data" do
49
+ describe '#copy_hiera_data' do
64
50
  let(:path) { 'spec/fixtures/hieradata' }
51
+
65
52
  it 'delegates to #copy_hiera_data_to with the default host' do
66
- allow( subject ).to receive( :hosts ).and_return( hosts )
67
- allow( subject ).to receive( :default ).and_return( host )
68
- expect( subject ).to receive( :copy_hiera_data_to ).with( host, path).once
69
- subject.copy_hiera_data( path )
53
+ expect(subject).to receive(:default).and_return(host)
54
+ expect(subject).to receive(:copy_hiera_data_to).with(host, path).once
55
+ subject.copy_hiera_data(path)
70
56
  end
71
-
72
57
  end
73
58
 
74
59
  describe '#hiera_datadir' do
75
- it 'returns the codedir based hieradatadir for AIO' do
76
- host['type'] = :aio
77
- codedir = '/usr/code'
78
- allow( host ).to receive( :puppet ) { { 'codedir' => codedir } }
79
- correct_answer = File.join(codedir, 'hieradata')
80
- expect( subject.hiera_datadir(host) ).to be === correct_answer
81
- end
82
-
83
- it 'returns the hieradata host value for anything not AIO (backwards compatible)' do
84
- host_hieradatadir_value = '/home/fishing/man/pants'
85
- host[:hieradatadir] = host_hieradatadir_value
86
- expect( subject.hiera_datadir(host) ).to be === host_hieradatadir_value
87
- end
60
+ it { expect(subject.hiera_datadir(host)).to eq('/usr/code/hieradata') }
88
61
  end
89
-
90
62
  end
data/spec/spec_helper.rb CHANGED
@@ -1,11 +1,8 @@
1
1
  require 'simplecov'
2
2
  require 'beaker-hiera'
3
- require 'beaker_test_helpers'
4
- require 'helpers'
5
-
6
- require 'rspec/its'
7
3
 
8
4
  RSpec.configure do |config|
9
- config.include TestFileHelpers
10
- config.include HostHelpers
11
- end
5
+ config.mock_with :rspec do |mocks|
6
+ mocks.verify_doubled_constant_names = true
7
+ end
8
+ end
metadata CHANGED
@@ -1,71 +1,58 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beaker-hiera
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
+ - Vox Pupuli
7
8
  - Puppetlabs
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2020-11-10 00:00:00.000000000 Z
12
+ date: 2021-05-18 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: rspec
15
+ name: pry
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - "~>"
18
19
  - !ruby/object:Gem::Version
19
- version: '3.0'
20
+ version: '0.10'
20
21
  type: :development
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
25
  - - "~>"
25
26
  - !ruby/object:Gem::Version
26
- version: '3.0'
27
- - !ruby/object:Gem::Dependency
28
- name: rspec-its
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
27
+ version: '0.10'
41
28
  - !ruby/object:Gem::Dependency
42
- name: fakefs
29
+ name: rake
43
30
  requirement: !ruby/object:Gem::Requirement
44
31
  requirements:
45
32
  - - "~>"
46
33
  - !ruby/object:Gem::Version
47
- version: '0.6'
34
+ version: '13.0'
48
35
  type: :development
49
36
  prerelease: false
50
37
  version_requirements: !ruby/object:Gem::Requirement
51
38
  requirements:
52
39
  - - "~>"
53
40
  - !ruby/object:Gem::Version
54
- version: '0.6'
41
+ version: '13.0'
55
42
  - !ruby/object:Gem::Dependency
56
- name: rake
43
+ name: rspec
57
44
  requirement: !ruby/object:Gem::Requirement
58
45
  requirements:
59
46
  - - "~>"
60
47
  - !ruby/object:Gem::Version
61
- version: '10.1'
48
+ version: '3.0'
62
49
  type: :development
63
50
  prerelease: false
64
51
  version_requirements: !ruby/object:Gem::Requirement
65
52
  requirements:
66
53
  - - "~>"
67
54
  - !ruby/object:Gem::Version
68
- version: '10.1'
55
+ version: '3.0'
69
56
  - !ruby/object:Gem::Dependency
70
57
  name: simplecov
71
58
  requirement: !ruby/object:Gem::Requirement
@@ -81,21 +68,7 @@ dependencies:
81
68
  - !ruby/object:Gem::Version
82
69
  version: '0'
83
70
  - !ruby/object:Gem::Dependency
84
- name: pry
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '0.10'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0.10'
97
- - !ruby/object:Gem::Dependency
98
- name: yard
71
+ name: markdown
99
72
  requirement: !ruby/object:Gem::Requirement
100
73
  requirements:
101
74
  - - ">="
@@ -109,7 +82,7 @@ dependencies:
109
82
  - !ruby/object:Gem::Version
110
83
  version: '0'
111
84
  - !ruby/object:Gem::Dependency
112
- name: markdown
85
+ name: thin
113
86
  requirement: !ruby/object:Gem::Requirement
114
87
  requirements:
115
88
  - - ">="
@@ -123,7 +96,7 @@ dependencies:
123
96
  - !ruby/object:Gem::Version
124
97
  version: '0'
125
98
  - !ruby/object:Gem::Dependency
126
- name: thin
99
+ name: yard
127
100
  requirement: !ruby/object:Gem::Requirement
128
101
  requirements:
129
102
  - - ">="
@@ -137,27 +110,29 @@ dependencies:
137
110
  - !ruby/object:Gem::Version
138
111
  version: '0'
139
112
  - !ruby/object:Gem::Dependency
140
- name: stringify-hash
113
+ name: beaker
141
114
  requirement: !ruby/object:Gem::Requirement
142
115
  requirements:
143
116
  - - "~>"
144
117
  - !ruby/object:Gem::Version
145
- version: 0.0.0
118
+ version: '4.0'
146
119
  type: :runtime
147
120
  prerelease: false
148
121
  version_requirements: !ruby/object:Gem::Requirement
149
122
  requirements:
150
123
  - - "~>"
151
124
  - !ruby/object:Gem::Version
152
- version: 0.0.0
125
+ version: '4.0'
153
126
  description: For use for the Beaker acceptance testing tool
154
127
  email:
155
- - qe-team@puppetlabs.com
128
+ - voxpupuli@groups.io
156
129
  executables:
157
130
  - beaker-hiera
158
131
  extensions: []
159
132
  extra_rdoc_files: []
160
133
  files:
134
+ - ".github/workflows/release.yml"
135
+ - ".github/workflows/test.yml"
161
136
  - ".gitignore"
162
137
  - ".rspec"
163
138
  - ".simplecov"
@@ -172,10 +147,8 @@ files:
172
147
  - lib/beaker-hiera/helpers.rb
173
148
  - lib/beaker-hiera/version.rb
174
149
  - spec/beaker-hiera/helpers_spec.rb
175
- - spec/beaker_test_helpers.rb
176
- - spec/helpers.rb
177
150
  - spec/spec_helper.rb
178
- homepage: https://github.com/puppetlabs/beaker-hiera
151
+ homepage: https://github.com/voxpupuli/beaker-hiera
179
152
  licenses:
180
153
  - Apache2
181
154
  metadata: {}
@@ -185,16 +158,16 @@ require_paths:
185
158
  - lib
186
159
  required_ruby_version: !ruby/object:Gem::Requirement
187
160
  requirements:
188
- - - ">="
161
+ - - "~>"
189
162
  - !ruby/object:Gem::Version
190
- version: '0'
163
+ version: '2.4'
191
164
  required_rubygems_version: !ruby/object:Gem::Requirement
192
165
  requirements:
193
166
  - - ">="
194
167
  - !ruby/object:Gem::Version
195
168
  version: '0'
196
169
  requirements: []
197
- rubygems_version: 3.0.8
170
+ rubygems_version: 3.1.6
198
171
  signing_key:
199
172
  specification_version: 4
200
173
  summary: Hiera DSL Helpers!
@@ -1,18 +0,0 @@
1
- require 'yaml'
2
-
3
- # These are specifically to mock Beaker methods necessary for testing
4
- # that will be available during runtime because this is never run separate
5
- # from Beaker itself.
6
- #
7
- # Including Beaker as a dependency would not work as a solution to this issue,
8
- # since that would make a cycle in the dependency graph, at least until
9
- # Beaker 3.0 happens and this is no longer a dependency of Beaker's.
10
- module BeakerTestHelpers
11
-
12
- def block_on hosts
13
- if block_given?
14
- yield hosts
15
- end
16
- end
17
-
18
- end
data/spec/helpers.rb DELETED
@@ -1,109 +0,0 @@
1
- module TestFileHelpers
2
- def create_files file_array
3
- file_array.each do |f|
4
- FileUtils.mkdir_p File.dirname(f)
5
- FileUtils.touch f
6
- end
7
- end
8
-
9
- def fog_file_contents
10
- { :default => { :aws_access_key_id => "IMANACCESSKEY",
11
- :aws_secret_access_key => "supersekritkey",
12
- :aix_hypervisor_server => "aix_hypervisor.labs.net",
13
- :aix_hypervisor_username => "aixer",
14
- :aix_hypervisor_keyfile => "/Users/user/.ssh/id_rsa-acceptance",
15
- :solaris_hypervisor_server => "solaris_hypervisor.labs.net",
16
- :solaris_hypervisor_username => "harness",
17
- :solaris_hypervisor_keyfile => "/Users/user/.ssh/id_rsa-old.private",
18
- :solaris_hypervisor_vmpath => "rpoooool/zs",
19
- :solaris_hypervisor_snappaths => ["rpoooool/USER/z0"],
20
- :vsphere_server => "vsphere.labs.net",
21
- :vsphere_username => "vsphere@labs.com",
22
- :vsphere_password => "supersekritpassword"} }
23
- end
24
-
25
- end
26
-
27
- module HostHelpers
28
- HOST_DEFAULTS = { :platform => 'unix',
29
- :snapshot => 'pe',
30
- :box => 'box_name',
31
- :roles => ['agent'],
32
- :snapshot => 'snap',
33
- :ip => 'default.ip.address',
34
- :box => 'default_box_name',
35
- :box_url => 'http://default.box.url',
36
- }
37
-
38
- HOST_NAME = "vm%d"
39
- HOST_SNAPSHOT = "snapshot%d"
40
- HOST_IP = "ip.address.for.%s"
41
- HOST_BOX = "%s_of_my_box"
42
- HOST_BOX_URL = "http://address.for.my.box.%s"
43
- HOST_TEMPLATE = "%s_has_a_template"
44
-
45
- def logger
46
- double( 'logger' ).as_null_object
47
- end
48
-
49
- def make_opts
50
- opts = StringifyHash.new
51
- opts.merge( { :logger => logger,
52
- :host_config => 'sample.config',
53
- :type => nil,
54
- :pooling_api => 'http://vcloud.delivery.puppetlabs.net/',
55
- :datastore => 'instance0',
56
- :folder => 'Delivery/Quality Assurance/Staging/Dynamic',
57
- :resourcepool => 'delivery/Quality Assurance/Staging/Dynamic',
58
- :gce_project => 'beaker-compute',
59
- :gce_keyfile => '/path/to/keyfile.p12',
60
- :gce_password => 'notasecret',
61
- :gce_email => '12345678910@developer.gserviceaccount.com' } )
62
- end
63
-
64
- def generate_result (name, opts )
65
- result = double( 'result' )
66
- stdout = opts.has_key?(:stdout) ? opts[:stdout] : name
67
- stderr = opts.has_key?(:stderr) ? opts[:stderr] : name
68
- exit_code = opts.has_key?(:exit_code) ? opts[:exit_code] : 0
69
- exit_code = [exit_code].flatten
70
- allow( result ).to receive( :stdout ).and_return( stdout )
71
- allow( result ).to receive( :stderr ).and_return( stderr )
72
- allow( result ).to receive( :exit_code ).and_return( *exit_code )
73
- result
74
- end
75
-
76
- def make_host_opts name, opts
77
- make_opts.merge( { 'HOSTS' => { name => opts } } ).merge( opts )
78
- end
79
-
80
- def make_host name, host_hash
81
- host_hash = StringifyHash.new.merge(HOST_DEFAULTS.merge(host_hash))
82
-
83
- host = make_opts.merge(host_hash)
84
-
85
- allow(host).to receive( :name ).and_return( name )
86
- allow(host).to receive( :to_s ).and_return( name )
87
- allow(host).to receive( :exec ).and_return( generate_result( name, host_hash ) )
88
- host
89
- end
90
-
91
- def make_hosts preset_opts = {}, amt = 3
92
- hosts = []
93
- (1..amt).each do |num|
94
- name = HOST_NAME % num
95
- opts = { :snapshot => HOST_SNAPSHOT % num,
96
- :ip => HOST_IP % name,
97
- :template => HOST_TEMPLATE % name,
98
- :box => HOST_BOX % name,
99
- :box_url => HOST_BOX_URL % name }.merge( preset_opts )
100
- hosts << make_host(name, opts)
101
- end
102
- hosts
103
- end
104
-
105
- def make_instance instance_data = {}
106
- OpenStruct.new instance_data
107
- end
108
-
109
- end