799e968f5c
Facter 1.7.4 changed how it decides on what directory to look in for facts.d based on the user it is running as. This stubs out that bit of code to make it think it is running as root.
70 lines
2.4 KiB
Ruby
70 lines
2.4 KiB
Ruby
# Puppet Enterprise requires the following facts to be set in order to operate.
|
|
# These facts are set using the file ???? and the two facts are
|
|
# `fact_stomp_port`, and `fact_stomp_server`.
|
|
#
|
|
|
|
require 'spec_helper'
|
|
|
|
describe "External facts in /etc/puppetlabs/facter/facts.d/puppet_enterprise_installer.txt" do
|
|
context "With Facter 1.6.17 which does not have external facts support" do
|
|
before :each do
|
|
Facter.stubs(:version).returns("1.6.17")
|
|
Facter::Util::Root.stubs(:root?).returns(true)
|
|
# Stub out the filesystem for stdlib
|
|
Dir.stubs(:entries).with("/etc/puppetlabs/facter/facts.d").
|
|
returns(['puppet_enterprise_installer.txt'])
|
|
Dir.stubs(:entries).with("/etc/facter/facts.d").returns([])
|
|
File.stubs(:readlines).with('/etc/puppetlabs/facter/facts.d/puppet_enterprise_installer.txt').
|
|
returns([
|
|
"fact_stomp_port=61613\n",
|
|
"fact_stomp_server=puppetmaster.acme.com\n",
|
|
"fact_is_puppetagent=true\n",
|
|
"fact_is_puppetmaster=false\n",
|
|
"fact_is_puppetca=false\n",
|
|
"fact_is_puppetconsole=false\n",
|
|
])
|
|
if Facter.collection.respond_to? :load
|
|
Facter.collection.load(:facter_dot_d)
|
|
else
|
|
Facter.collection.loader.load(:facter_dot_d)
|
|
end
|
|
end
|
|
|
|
it 'defines fact_stomp_port' do
|
|
Facter.fact(:fact_stomp_port).value.should == '61613'
|
|
end
|
|
it 'defines fact_stomp_server' do
|
|
Facter.fact(:fact_stomp_server).value.should == 'puppetmaster.acme.com'
|
|
end
|
|
it 'defines fact_is_puppetagent' do
|
|
Facter.fact(:fact_is_puppetagent).value.should == 'true'
|
|
end
|
|
it 'defines fact_is_puppetmaster' do
|
|
Facter.fact(:fact_is_puppetmaster).value.should == 'false'
|
|
end
|
|
it 'defines fact_is_puppetca' do
|
|
Facter.fact(:fact_is_puppetca).value.should == 'false'
|
|
end
|
|
it 'defines fact_is_puppetconsole' do
|
|
Facter.fact(:fact_is_puppetconsole).value.should == 'false'
|
|
end
|
|
end
|
|
|
|
[ '1.7.1', '2.0.1' ].each do |v|
|
|
context "With Facter #{v} which has external facts support" do
|
|
before :each do
|
|
Facter.stubs(:version).returns(v)
|
|
end
|
|
|
|
it 'does not call Facter::Util::DotD.new' do
|
|
Facter::Util::DotD.expects(:new).never
|
|
|
|
if Facter.collection.respond_to? :load
|
|
Facter.collection.load(:facter_dot_d)
|
|
else
|
|
Facter.collection.loader.load(:facter_dot_d)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|