summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2009-04-23 18:56:57 -0500
committerJames Turnbull <james@lovedthanlost.net>2009-04-25 01:19:51 +1000
commit5f6b5c0efe5210583a1040f902af2ff0709f3ca9 (patch)
tree8851f4dbe58bae3fd10c2210d946e621782e24c5
parent8ed7ae3a23dd84dfc7ef835c2bb36f7ee4cfe9e5 (diff)
downloadpuppet-5f6b5c0efe5210583a1040f902af2ff0709f3ca9.tar.gz
puppet-5f6b5c0efe5210583a1040f902af2ff0709f3ca9.tar.xz
puppet-5f6b5c0efe5210583a1040f902af2ff0709f3ca9.zip
Failing to enable storeconfigs if ActiveRecord isn't available
This is the last step to fixing #2189. Signed-off-by: Luke Kanies <luke@madstop.com>
-rw-r--r--lib/puppet/defaults.rb1
-rwxr-xr-xspec/integration/defaults.rb7
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb
index 0eed2f884..407d2e890 100644
--- a/lib/puppet/defaults.rb
+++ b/lib/puppet/defaults.rb
@@ -711,6 +711,7 @@ module Puppet
require 'puppet/node/facts'
require 'puppet/resource/catalog'
if value
+ raise "StoreConfigs not supported without ActiveRecord" unless Puppet.features.rails?
Puppet::Resource::Catalog.cache_class = :active_record unless Puppet.settings[:async_storeconfigs]
Puppet::Node::Facts.cache_class = :active_record
Puppet::Node.cache_class = :active_record
diff --git a/spec/integration/defaults.rb b/spec/integration/defaults.rb
index 6ec42f493..003712aab 100755
--- a/spec/integration/defaults.rb
+++ b/spec/integration/defaults.rb
@@ -94,6 +94,8 @@ describe "Puppet defaults" do
Puppet::Resource::Catalog.stubs(:cache_class=)
Puppet::Node::Facts.stubs(:cache_class=)
Puppet::Node.stubs(:cache_class=)
+
+ Puppet.features.stubs(:rails?).returns true
end
it "should set the Catalog cache class to :active_record" do
@@ -116,6 +118,11 @@ describe "Puppet defaults" do
Puppet::Node.expects(:cache_class=).with(:active_record)
Puppet.settings[:storeconfigs] = true
end
+
+ it "should fail if rails is not available" do
+ Puppet.features.stubs(:rails?).returns false
+ lambda { Puppet.settings[:storeconfigs] = true }.should raise_error
+ end
end
describe "when enabling asynchronous storeconfigs" do