summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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