diff options
-rw-r--r-- | lib/facter/pe_version.rb | 9 | ||||
-rwxr-xr-x | spec/unit/facter/pe_version_spec.rb | 12 |
2 files changed, 19 insertions, 2 deletions
diff --git a/lib/facter/pe_version.rb b/lib/facter/pe_version.rb index 0cc0f64..c9f2181 100644 --- a/lib/facter/pe_version.rb +++ b/lib/facter/pe_version.rb @@ -10,8 +10,13 @@ # Facter.add("pe_version") do setcode do - pe_ver = Facter.value("puppetversion").match(/Puppet Enterprise (\d+\.\d+\.\d+)/) - pe_ver[1] if pe_ver + puppet_ver = Facter.value("puppetversion") + if puppet_ver != nil + pe_ver = puppet_ver.match(/Puppet Enterprise (\d+\.\d+\.\d+)/) + pe_ver[1] if pe_ver + else + nil + end end end diff --git a/spec/unit/facter/pe_version_spec.rb b/spec/unit/facter/pe_version_spec.rb index 4d0349e..c11a1cd 100755 --- a/spec/unit/facter/pe_version_spec.rb +++ b/spec/unit/facter/pe_version_spec.rb @@ -14,6 +14,17 @@ describe "PE Version specs" do Facter.collection.loader.load(:pe_version) end end + + context "When puppetversion is nil" do + before :each do + Facter.fact(:puppetversion).stubs(:value).returns(nil) + end + + it "pe_version is nil" do + expect(Facter.fact(:puppetversion).value).to be_nil + expect(Facter.fact(:pe_version).value).to be_nil + end + end context "If PE is installed" do %w{ 2.6.1 2.10.300 }.each do |version| @@ -73,4 +84,5 @@ describe "PE Version specs" do expect(Facter.fact(:pe_patch_version).value).to be_nil end end + end |