From a8d9976d0a11c4dc50b2ef49c63f3f745cb4eccb Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Fri, 14 Nov 2008 19:15:37 -0600 Subject: Catalogs always consider resource data to be expired if not mid-transaction. This way we'll cache when in a transaction, but otherwise always hit the disk so the data is fresh. This works because we really only use resources mid-transaction, but it behaves correctly if we happen to use a resource outside of a transaction. Signed-off-by: Luke Kanies --- spec/unit/node/catalog.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'spec/unit/node') diff --git a/spec/unit/node/catalog.rb b/spec/unit/node/catalog.rb index 3c4da5908..e23c53d3a 100755 --- a/spec/unit/node/catalog.rb +++ b/spec/unit/node/catalog.rb @@ -615,6 +615,17 @@ describe Puppet::Node::Catalog do Puppet::Node::Catalog.ancestors.should be_include(Puppet::Util::Cacher::Expirer) end + it "should always be expired if it's not applying" do + @catalog.expects(:applying?).returns false + @catalog.should be_expired(Time.now) + end + + it "should not be expired if it's applying and the timestamp is late enough" do + @catalog.expire + @catalog.expects(:applying?).returns true + @catalog.should_not be_expired(Time.now) + end + describe "when applying" do it "should create and evaluate a transaction" do @transaction.expects(:evaluate) -- cgit