diff options
Diffstat (limited to 'spec')
| -rwxr-xr-x | spec/unit/configurer.rb | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/spec/unit/configurer.rb b/spec/unit/configurer.rb index 48a197a37..6744f885d 100755 --- a/spec/unit/configurer.rb +++ b/spec/unit/configurer.rb @@ -292,6 +292,26 @@ describe Puppet::Configurer, "when retrieving a catalog" do @agent.stubs(:convert_catalog).returns @catalog end + describe "and configured to only retrieve a catalog from the cache" do + before do + Puppet.settings[:use_cached_catalog] = true + end + + it "should first look in the cache for a catalog" do + Puppet::Resource::Catalog.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns @catalog + Puppet::Resource::Catalog.expects(:find).with { |name, options| options[:ignore_cache] == true }.never + + @agent.retrieve_catalog.should == @catalog + end + + it "should compile a new catalog if none is found in the cache" do + Puppet::Resource::Catalog.expects(:find).with { |name, options| options[:ignore_terminus] == true }.returns nil + Puppet::Resource::Catalog.expects(:find).with { |name, options| options[:ignore_cache] == true }.returns @catalog + + @agent.retrieve_catalog.should == @catalog + end + end + it "should use the Catalog class to get its catalog" do Puppet::Resource::Catalog.expects(:find).returns @catalog @@ -300,7 +320,7 @@ describe Puppet::Configurer, "when retrieving a catalog" do it "should use its certname to retrieve the catalog" do Facter.stubs(:value).returns "eh" - Puppet.expects(:[]).with(:certname).returns "myhost.domain.com" + Puppet.settings[:certname] = "myhost.domain.com" Puppet::Resource::Catalog.expects(:find).with { |name, options| name == "myhost.domain.com" }.returns @catalog @agent.retrieve_catalog |
