Update puppetlabs/stdlib module
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / spec / unit / facter / util / puppet_settings_spec.rb
1 require 'spec_helper'
2 require 'facter/util/puppet_settings'
3
4 describe Facter::Util::PuppetSettings do
5   describe '#with_puppet' do
6     context 'without Puppet loaded' do
7       before(:each) do
8         allow(Module).to receive(:const_get).with('Puppet').and_raise(NameError)
9       end
10
11       it 'is nil' do
12         expect(subject.with_puppet { Puppet[:vardir] }).to be_nil
13       end
14       it 'does not yield to the block' do
15         expect(Puppet).to receive(:[]).never
16         expect(subject.with_puppet { Puppet[:vardir] }).to be_nil
17       end
18     end
19     context 'with Puppet loaded' do
20       # module Puppet
21       module Puppet; end
22       let(:vardir) { '/var/lib/puppet' }
23
24       before :each do
25         allow(Puppet).to receive(:[]).with(:vardir).and_return(vardir)
26       end
27
28       it 'yields to the block' do
29         subject.with_puppet { Puppet[:vardir] }
30       end
31       it 'returns the nodes vardir' do
32         expect(subject.with_puppet { Puppet[:vardir] }).to eq vardir
33       end
34     end
35   end
36 end