diff options
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/spec_helper.rb | 14 | ||||
| -rw-r--r-- | spec/unit/facter/pe_version_spec.rb | 68 | 
2 files changed, 82 insertions, 0 deletions
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 8ae9ad3..931d35c 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -12,3 +12,17 @@ require 'rspec/expectations'  require 'puppetlabs_spec_helper/module_spec_helper' +RSpec.configure do |config| +  # FIXME REVISIT - We may want to delegate to Facter like we do in +  # Puppet::PuppetSpecInitializer.initialize_via_testhelper(config) because +  # this behavior is a duplication of the spec_helper in Facter. +  config.before :each do +    # Ensure that we don't accidentally cache facts and environment between +    # test cases.  This requires each example group to explicitly load the +    # facts being exercised with something like +    # Facter.collection.loader.load(:ipaddress) +    Facter::Util::Loader.any_instance.stubs(:load_all) +    Facter.clear +    Facter.clear_messages +  end +end diff --git a/spec/unit/facter/pe_version_spec.rb b/spec/unit/facter/pe_version_spec.rb new file mode 100644 index 0000000..202a0e5 --- /dev/null +++ b/spec/unit/facter/pe_version_spec.rb @@ -0,0 +1,68 @@ +#!/usr/bin/env rspec + +require 'spec_helper' + +describe "PE Version specs" do +  before :each do +    Facter.collection.loader.load(:pe_version) +  end + +  context "If PE is installed" do +    %w{ 2.6.1 2.10.300 }.each do |version| +      puppetversion = "2.7.19 (Puppet Enterprise #{version})" +      context "puppetversion => #{puppetversion}" do +        before :each do +          Facter.fact(:puppetversion).stubs(:value).returns(puppetversion) +        end + +        (major,minor,patch) = version.split(".") + +        it "Should return true" do +          Facter.fact(:is_pe).value.should == true +        end + +        it "Should have a version of #{version}" do +          Facter.fact(:pe_version).value.should == version +        end + +        it "Should have a major version of #{major}" do +          Facter.fact(:pe_major_version).value.should == major +        end + +        it "Should have a minor version of #{minor}" do +          Facter.fact(:pe_minor_version).value.should == minor +        end + +        it "Should have a patch version of #{patch}" do +          Facter.fact(:pe_patch_version).value.should == patch +        end +      end +    end +  end + +  context "When PE is not installed" do +    before :each do +      Facter.fact(:puppetversion).stubs(:value).returns("2.7.19") +    end + +    it "is_pe is false" do +      Facter.fact(:is_pe).value.should == false +    end + +    it "pe_version is nil" do +      Facter.fact(:pe_version).value.should be_nil +    end + +    it "pe_major_version is nil" do +      Facter.fact(:pe_major_version).value.should be_nil +    end + +    it "pe_minor_version is nil" do +      Facter.fact(:pe_minor_version).value.should be_nil +    end + +    it "Should have a patch version" do +      Facter.fact(:pe_patch_version).value.should be_nil +    end +  end +end  | 
