summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorJesse Wolfe <jes5199@gmail.com>2010-05-12 18:35:01 -0700
committertest branch <puppet-dev@googlegroups.com>2010-02-17 06:50:53 -0800
commitb7d387e3e71f6af1b2967098b67440f8daa53e7d (patch)
tree147958b739b57a470b98e261dccdbbe644fa3dc1 /spec
parent342298c4f9fcb2874d4017219a472ddf37dbfc6b (diff)
downloadpuppet-b7d387e3e71f6af1b2967098b67440f8daa53e7d.tar.gz
puppet-b7d387e3e71f6af1b2967098b67440f8daa53e7d.tar.xz
puppet-b7d387e3e71f6af1b2967098b67440f8daa53e7d.zip
Feature #2935 Puppet[:mode] and Puppet[:name] are read-only
Historically, the Puppet[:name] setting has been settable, but the results of chaning it are poorly defined. The switch to modes instead of executable names seems like a good time to disable this complexity. Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
Diffstat (limited to 'spec')
-rwxr-xr-xspec/unit/util/settings.rb28
1 files changed, 27 insertions, 1 deletions
diff --git a/spec/unit/util/settings.rb b/spec/unit/util/settings.rb
index afdcf626a..24bd04b27 100755
--- a/spec/unit/util/settings.rb
+++ b/spec/unit/util/settings.rb
@@ -194,6 +194,30 @@ describe Puppet::Util::Settings do
Puppet::Node::Environment.expects(:clear).at_least(1)
@settings[:myval] = "memarg"
end
+
+ it "should raise an error if we try to set 'name'" do
+ lambda{ @settings[:name] = "foo" }.should raise_error(ArgumentError)
+ end
+
+ it "should raise an error if we try to set 'mode'" do
+ lambda{ @settings[:mode] = "foo" }.should raise_error(ArgumentError)
+ end
+
+ it "should warn and use [master] if we ask for [puppetmasterd]" do
+ Puppet.expects(:warning)
+ @settings.set_value(:myval, "foo", :puppetmasterd)
+
+ @settings.stubs(:mode).returns(:master)
+ @settings.value(:myval).should == "foo"
+ end
+
+ it "should warn and use [agent] if we ask for [puppetd]" do
+ Puppet.expects(:warning)
+ @settings.set_value(:myval, "foo", :puppetd)
+
+ @settings.stubs(:mode).returns(:agent)
+ @settings.value(:myval).should == "foo"
+ end
end
describe "when returning values" do
@@ -250,9 +274,11 @@ describe Puppet::Util::Settings do
@settings.value(:one, "env2").should == "twoval"
end
- it "should have a mode determined by the 'mode' parameter" do
+ it "should have a mode determined by the 'mode' parameter that cannot be edited" do
@settings.setdefaults(:whatever, :mode => ["something", "yayness"])
@settings.mode.should == :something
+
+ lambda{ @settings[:mode] = :other }.should raise_error
end
end