diff options
Diffstat (limited to 'spec/unit/defaults_spec.rb')
-rw-r--r-- | spec/unit/defaults_spec.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/unit/defaults_spec.rb b/spec/unit/defaults_spec.rb index f86283a64..0d141d91c 100644 --- a/spec/unit/defaults_spec.rb +++ b/spec/unit/defaults_spec.rb @@ -41,4 +41,34 @@ describe "Defaults" do end end end + + describe 'cfacter' do + + before :each do + Facter.reset + end + + it 'should default to false' do + Puppet.settings[:cfacter].should be_false + end + + it 'should raise an error if cfacter is not installed' do + Puppet.features.stubs(:cfacter?).returns false + lambda { Puppet.settings[:cfacter] = true }.should raise_exception ArgumentError, 'cfacter version 0.2.0 or later is not installed.' + end + + it 'should raise an error if facter has already evaluated facts' do + Facter[:facterversion] + Puppet.features.stubs(:cfacter?).returns true + lambda { Puppet.settings[:cfacter] = true }.should raise_exception ArgumentError, 'facter has already evaluated facts.' + end + + it 'should initialize cfacter when set to true' do + Puppet.features.stubs(:cfacter?).returns true + CFacter = mock + CFacter.stubs(:initialize) + Puppet.settings[:cfacter] = true + end + + end end |