Revision 1441db01
Added by Ewoud Kohl van Wijngaarden over 7 years ago
spec/classes/puppet_agent_spec.rb | ||
---|---|---|
require 'spec_helper'
|
||
|
||
describe 'puppet::agent' do
|
||
on_os_under_test.each do |os, os_facts|
|
||
on_os_under_test.each do |os, facts|
|
||
context "on #{os}" do
|
||
let (:default_facts) do
|
||
os_facts.merge({
|
||
:clientcert => 'puppetmaster.example.com',
|
||
:concat_basedir => '/nonexistant',
|
||
:fqdn => 'puppetmaster.example.com',
|
||
:puppetversion => Puppet.version,
|
||
}) end
|
||
|
||
if Puppet.version < '4.0'
|
||
client_package = 'puppet'
|
||
confdir = '/etc/puppet'
|
||
case os_facts[:osfamily]
|
||
case facts[:osfamily]
|
||
when 'FreeBSD'
|
||
client_package = 'puppet38'
|
||
confdir = '/usr/local/etc/puppet'
|
||
... | ... | |
client_package = 'puppet-agent'
|
||
confdir = '/etc/puppetlabs/puppet'
|
||
additional_facts = {:rubysitedir => '/opt/puppetlabs/puppet/lib/ruby/site_ruby/2.1.0'}
|
||
case os_facts[:osfamily]
|
||
case facts[:osfamily]
|
||
when 'FreeBSD'
|
||
client_package = 'puppet4'
|
||
confdir = '/usr/local/etc/puppet'
|
||
... | ... | |
end
|
||
|
||
let :facts do
|
||
default_facts.merge(additional_facts)
|
||
facts.merge(additional_facts)
|
||
end
|
||
|
||
describe 'with no custom parameters' do
|
||
... | ... | |
end
|
||
|
||
it do
|
||
should contain_puppet__config__agent('server').with({'value' => 'puppetmaster.example.com'})
|
||
should contain_puppet__config__agent('server').with_value('foo.example.com')
|
||
end
|
||
|
||
it do
|
||
... | ... | |
describe 'global puppetmaster overrides fqdn' do
|
||
let(:pre_condition) { "class {'puppet': agent => true}" }
|
||
let :facts do
|
||
default_facts.merge({:puppetmaster => 'mymaster.example.com'})
|
||
facts.merge({:puppetmaster => 'mymaster.example.com'})
|
||
end
|
||
it do
|
||
should contain_puppet__config__agent('server').with({'value' => 'mymaster.example.com'})
|
||
... | ... | |
describe 'puppetmaster parameter overrides global puppetmaster' do
|
||
let(:pre_condition) { "class {'puppet': agent => true, puppetmaster => 'mymaster.example.com'}" }
|
||
let :facts do
|
||
default_facts.merge({:puppetmaster => 'global.example.com'})
|
||
facts.merge({:puppetmaster => 'global.example.com'})
|
||
end
|
||
it do
|
||
should contain_puppet__config__agent('server').with({'value' => 'mymaster.example.com'})
|
Also available in: Unified diff
Simplify fact usage