From f0eaf20f863f0f1fdcf01b620529f68609d4e0da Mon Sep 17 00:00:00 2001 From: Jesse Wolfe Date: Sun, 8 Nov 2009 15:36:52 -0800 Subject: Fixing #2764 ActiveRecord 2.1 support Suprisingly, I found that setting allow_concurrency made the "MySQL server has gone away" stop occuring even if the MySQL server drops connections. This may be the only change needed to restore compatibility with ActiveRecord 2.1.x Signed-off-by: Jesse Wolfe --- spec/unit/rails.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'spec/unit/rails.rb') diff --git a/spec/unit/rails.rb b/spec/unit/rails.rb index d98c88774..6dee55b0e 100755 --- a/spec/unit/rails.rb +++ b/spec/unit/rails.rb @@ -39,6 +39,7 @@ describe Puppet::Rails, "when initializing any connection" do ActiveRecord::Base.stubs(:logger).returns(logger) logger.expects(:level=).with(Logger::DEBUG) + ActiveRecord::Base.stubs(:allow_concurrency=) ActiveRecord::Base.stubs(:verify_active_connections!) ActiveRecord::Base.stubs(:establish_connection) Puppet::Rails.stubs(:database_arguments) @@ -46,6 +47,16 @@ describe Puppet::Rails, "when initializing any connection" do Puppet::Rails.connect end + describe "on ActiveRecord 2.1.x" do + confine "ActiveRecord 2.1.x" => (::ActiveRecord::VERSION::MAJOR == 2 and ::ActiveRecord::VERSION::MINOR <= 1) + + it "should set ActiveRecord::Base.allow_concurrency" do + ActiveRecord::Base.expects(:allow_concurrency=).with(true) + + Puppet::Rails.connect + end + end + it "should call ActiveRecord::Base.verify_active_connections!" do ActiveRecord::Base.expects(:verify_active_connections!) -- cgit