[30903] | 1 | #!/usr/bin/env rspec
|
---|
| 2 |
|
---|
| 3 | require 'spec_helper'
|
---|
| 4 |
|
---|
| 5 | describe "PE Version specs" do
|
---|
| 6 | before :each do
|
---|
| 7 | # Explicitly load the pe_version.rb file which contains generated facts
|
---|
| 8 | # that cannot be automatically loaded. Puppet 2.x implements
|
---|
| 9 | # Facter.collection.load while Facter 1.x markes Facter.collection.load as
|
---|
| 10 | # a private method.
|
---|
| 11 | if Facter.collection.respond_to? :load
|
---|
| 12 | Facter.collection.load(:pe_version)
|
---|
| 13 | else
|
---|
| 14 | Facter.collection.loader.load(:pe_version)
|
---|
| 15 | end
|
---|
| 16 | end
|
---|
| 17 |
|
---|
| 18 | context "When puppetversion is nil" do
|
---|
| 19 | before :each do
|
---|
| 20 | Facter.fact(:puppetversion).stubs(:value).returns(nil)
|
---|
| 21 | end
|
---|
| 22 |
|
---|
| 23 | it "pe_version is nil" do
|
---|
| 24 | expect(Facter.fact(:puppetversion).value).to be_nil
|
---|
| 25 | expect(Facter.fact(:pe_version).value).to be_nil
|
---|
| 26 | end
|
---|
| 27 | end
|
---|
| 28 |
|
---|
| 29 | context "If PE is installed" do
|
---|
| 30 | %w{ 2.6.1 2.10.300 }.each do |version|
|
---|
| 31 | puppetversion = "2.7.19 (Puppet Enterprise #{version})"
|
---|
| 32 | context "puppetversion => #{puppetversion}" do
|
---|
| 33 | before :each do
|
---|
| 34 | Facter.fact(:puppetversion).stubs(:value).returns(puppetversion)
|
---|
| 35 | end
|
---|
| 36 |
|
---|
| 37 | (major,minor,patch) = version.split(".")
|
---|
| 38 |
|
---|
| 39 | it "Should return true" do
|
---|
| 40 | expect(Facter.fact(:is_pe).value).to eq(true)
|
---|
| 41 | end
|
---|
| 42 |
|
---|
| 43 | it "Should have a version of #{version}" do
|
---|
| 44 | expect(Facter.fact(:pe_version).value).to eq(version)
|
---|
| 45 | end
|
---|
| 46 |
|
---|
| 47 | it "Should have a major version of #{major}" do
|
---|
| 48 | expect(Facter.fact(:pe_major_version).value).to eq(major)
|
---|
| 49 | end
|
---|
| 50 |
|
---|
| 51 | it "Should have a minor version of #{minor}" do
|
---|
| 52 | expect(Facter.fact(:pe_minor_version).value).to eq(minor)
|
---|
| 53 | end
|
---|
| 54 |
|
---|
| 55 | it "Should have a patch version of #{patch}" do
|
---|
| 56 | expect(Facter.fact(:pe_patch_version).value).to eq(patch)
|
---|
| 57 | end
|
---|
| 58 | end
|
---|
| 59 | end
|
---|
| 60 | end
|
---|
| 61 |
|
---|
| 62 | context "When PE is not installed" do
|
---|
| 63 | before :each do
|
---|
| 64 | Facter.fact(:puppetversion).stubs(:value).returns("2.7.19")
|
---|
| 65 | end
|
---|
| 66 |
|
---|
| 67 | it "is_pe is false" do
|
---|
| 68 | expect(Facter.fact(:is_pe).value).to eq(false)
|
---|
| 69 | end
|
---|
| 70 |
|
---|
| 71 | it "pe_version is nil" do
|
---|
| 72 | expect(Facter.fact(:pe_version).value).to be_nil
|
---|
| 73 | end
|
---|
| 74 |
|
---|
| 75 | it "pe_major_version is nil" do
|
---|
| 76 | expect(Facter.fact(:pe_major_version).value).to be_nil
|
---|
| 77 | end
|
---|
| 78 |
|
---|
| 79 | it "pe_minor_version is nil" do
|
---|
| 80 | expect(Facter.fact(:pe_minor_version).value).to be_nil
|
---|
| 81 | end
|
---|
| 82 |
|
---|
| 83 | it "Should have a patch version" do
|
---|
| 84 | expect(Facter.fact(:pe_patch_version).value).to be_nil
|
---|
| 85 | end
|
---|
| 86 | end
|
---|
| 87 |
|
---|
| 88 | end
|
---|