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
|
---|