Skip to content

Commit

Permalink
rspec-puppet-facts: Require 3.0.0; set facterdb_string_keys->true
Browse files Browse the repository at this point in the history
  • Loading branch information
bastelfreak committed May 24, 2024
1 parent ff60432 commit 5415037
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 10 deletions.
13 changes: 8 additions & 5 deletions lib/voxpupuli/test/facts.rb
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ def add_facts_for_metadata(metadata)
metadata['dependencies'].each do |dependency|
case normalize_module_name(dependency['name'])
when 'camptocamp/systemd', 'puppet/systemd'
add_custom_fact :systemd, ->(_os, facts) { facts['service_provider'] == 'systemd' }
add_custom_fact :systemd, ->(_os, facts) do
(RSpec.configuration.facterdb_string_keys ? facts['service_provider'] : facts[:service_provider]) == 'systemd'
end
when 'puppetlabs/stdlib'
add_stdlib_facts
end
Expand All @@ -64,14 +66,15 @@ def normalize_module_name(name)
end

def add_stdlib_facts
add_custom_fact :puppet_environmentpath, '/etc/puppetlabs/code/environments'
add_custom_fact :puppet_vardir, '/opt/puppetlabs/puppet/cache'
add_custom_fact :root_home, '/root'
add_custom_fact 'puppet_environmentpath', '/etc/puppetlabs/code/environments'
add_custom_fact 'puppet_vardir', '/opt/puppetlabs/puppet/cache'
add_custom_fact 'root_home', '/root'

# Rough conversion of grepping in the puppet source:
# grep defaultfor lib/puppet/provider/service/*.rb
add_custom_fact :service_provider, ->(_os, facts) do
add_custom_fact 'service_provider', ->(_os, facts) do
os = RSpec.configuration.facterdb_string_keys ? facts['os'] : facts[:os]
puts "---------------#{os}-------------"
case os['family'].downcase
when 'archlinux'
'systemd'
Expand Down
2 changes: 2 additions & 0 deletions lib/voxpupuli/test/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@
# and 7.12+ and requires rspec-puppet 2.11.0+.
config.facter_implementation = 'rspec'

config.facterdb_string_keys = true

config.after(:suite) do
RSpec::Puppet::Coverage.report!
end
Expand Down
7 changes: 3 additions & 4 deletions spec/facts_spec.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
require 'spec_helper'
require 'voxpupuli/test/facts'

describe 'override_facts' do
let(:base_facts) do
Expand Down Expand Up @@ -132,23 +131,23 @@
it 'has systemd on Red Hat 7' do
add_facts_for_metadata(metadata)
facts = RspecPuppetFacts.with_custom_facts('redhat-7-x86_64', {
os: { 'family' => 'RedHat', 'release' => { 'major' => '7' } }
'os' => { 'family' => 'RedHat', 'release' => { 'major' => '7' } }
})
expect(facts['systemd']).to be true
end

it 'has no systemd on Red Hat 6' do
add_facts_for_metadata(metadata)
facts = RspecPuppetFacts.with_custom_facts('redhat-6-x86_64', {
os: {'family' => 'RedHat', 'release' => { 'major' => '6' }}
'os' => {'family' => 'RedHat', 'release' => { 'major' => '6' }}
})
expect(facts['systemd']).to be false
end

it 'has no systemd on openbsd' do
add_facts_for_metadata(metadata)
facts = RspecPuppetFacts.with_custom_facts('openbsd-6.4-x86_64', {
os: { 'family' => 'OpenBSD' }
'os' => { 'family' => 'OpenBSD' }
})
expect(facts['systemd']).to be false
end
Expand Down
1 change: 1 addition & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,4 @@
end

require 'rspec/core'
require 'voxpupuli/test/spec_helper'
2 changes: 1 addition & 1 deletion voxpupuli-test.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Gem::Specification.new do |s|
# 3.0.0 and later require Ruby 2.7
s.add_runtime_dependency 'puppet-strings', '~> 4.0'
s.add_runtime_dependency 'rspec-puppet', '~> 4.0'
s.add_runtime_dependency 'rspec-puppet-facts', '~> 2.0', '>= 2.0.5'
s.add_runtime_dependency 'rspec-puppet-facts', '~> 3.0'
s.add_runtime_dependency 'rspec-puppet-utils', '~> 3.4'

# Rubocop
Expand Down

0 comments on commit 5415037

Please sign in to comment.