summaryrefslogtreecommitdiffstats
path: root/spec/unit/parser
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2009-07-23 23:52:44 -0700
committerLuke Kanies <luke@madstop.com>2009-08-01 12:50:41 -0700
commit6ed01037ad8b6d8d5ff7158ef6e09c785ed8b9fe (patch)
treec0c6e37e74d8fabaa95e32092b0d4296aa4542a5 /spec/unit/parser
parent39320b8794549fa7806f2e9e57346242b0b7e847 (diff)
downloadpuppet-6ed01037ad8b6d8d5ff7158ef6e09c785ed8b9fe.tar.gz
puppet-6ed01037ad8b6d8d5ff7158ef6e09c785ed8b9fe.tar.xz
puppet-6ed01037ad8b6d8d5ff7158ef6e09c785ed8b9fe.zip
Adding support for an external catalog version
This allows you to specify a command used to determine the catalog version. Also added an integration test to verify the version cascades. Signed-off-by: Luke Kanies <luke@madstop.com>
Diffstat (limited to 'spec/unit/parser')
-rwxr-xr-xspec/unit/parser/compiler.rb4
-rwxr-xr-xspec/unit/parser/parser.rb15
2 files changed, 19 insertions, 0 deletions
diff --git a/spec/unit/parser/compiler.rb b/spec/unit/parser/compiler.rb
index 9b9428296..0cc6e8a17 100755
--- a/spec/unit/parser/compiler.rb
+++ b/spec/unit/parser/compiler.rb
@@ -82,6 +82,10 @@ describe Puppet::Parser::Compiler do
@parser.expects(:nodes?).returns true
@compiler.ast_nodes?.should be_true
end
+
+ it "should copy the parser version to the catalog" do
+ @compiler.catalog.version.should == @parser.version
+ end
end
describe "when managing scopes" do
diff --git a/spec/unit/parser/parser.rb b/spec/unit/parser/parser.rb
index 3fd1b2d57..bd12f7155 100755
--- a/spec/unit/parser/parser.rb
+++ b/spec/unit/parser/parser.rb
@@ -313,4 +313,19 @@ describe Puppet::Parser do
end
end
+ describe "when determining the configuration version" do
+ it "should default to the current time" do
+ time = Time.now
+
+ Time.stubs(:now).returns time
+ @parser.version.should == time.to_i
+ end
+
+ it "should use the output of the config_version setting if one is provided" do
+ Puppet.settings.stubs(:[]).with(:config_version).returns("/my/foo")
+
+ @parser.expects(:`).with("/my/foo").returns "output\n"
+ @parser.version.should == "output"
+ end
+ end
end