]> gitweb.fluxo.info Git - puppet-stdlib.git/commitdiff
Add check to ensure regex does not throw for none type.
authorJesse Lovelace <jesse.lovelace@gmail.com>
Thu, 15 Oct 2015 16:25:57 +0000 (11:25 -0500)
committerJesse Lovelace <jesse.lovelace@gmail.com>
Thu, 15 Oct 2015 16:27:03 +0000 (11:27 -0500)
Add a quick check to ensure puppetversion value is not nil and supporting test.

lib/facter/pe_version.rb
spec/unit/facter/pe_version_spec.rb

index 0cc0f64e950d7be7da540d82069a4ff7c674e8e1..c9f2181c0d1c3b5d506ab6afe1fc9f8aab508d44 100644 (file)
 #
 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
 
index 4d0349e62a4d5ff147b39d9b96ea7ad2ac9a5e13..c11a1cd096965f8f60ada630186cbc24e78b1f76 100755 (executable)
@@ -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