97f836f41b
Without this patch stdlib tests fail against Facter 2.x and master but not 1.6.x. This patch fixes the problem by initializing the example group differently depending on the version of Facter integrating into the system. The adjusted methods are: 1.x - Facter.collection.loader.load 2.x - Facter.collection.load The collection actually implements the load method in both version, it's simply marked as private in 1.x.
76 lines
2.1 KiB
Ruby
76 lines
2.1 KiB
Ruby
#!/usr/bin/env rspec
|
|
|
|
require 'spec_helper'
|
|
|
|
describe "PE Version specs" do
|
|
before :each do
|
|
# Explicitly load the pe_version.rb file which contains generated facts
|
|
# that cannot be automatically loaded. Puppet 2.x implements
|
|
# Facter.collection.load while Facter 1.x markes Facter.collection.load as
|
|
# a private method.
|
|
if Facter.collection.respond_to? :load
|
|
Facter.collection.load(:pe_version)
|
|
else
|
|
Facter.collection.loader.load(:pe_version)
|
|
end
|
|
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
|