Rails 2.2 Integration tests cookie store

I've upgraded an existing application from 2.1 to 2.2.2. All of the integration tests failed, complaining about there being no 'secret' defined in the session_store configuration options. There isn't a secret defined, since we don't use the cookie session store (it's a wap site, and many phone browsers don't support cookies). Setting the secret to an appropriate value fixed all the tests.

It looks like the database_manager is hardcoded to be a CookieStore in rack_process.rb.

Is there any plan on getting integration tests to use the actual configured cookie store? Or should we be finding a better way to do higher level integration tests?

Thanks, Darren

What I ended up doing was overriding the default options in RackRequest.

In test.rb, I added

class ActionController::RackRequest   DEFAULT_SESSION_OPTIONS = {     :database_manager => CGI::Session::MemoryStore, # store data in memory     :prefix => "ruby_sess.", # prefix session file names     :session_path => "/", # available to all paths in app     :session_key => "_session_id",     :cookie_only => false,     :session_http_only=> true   } end

I get a warning about the constant already being defined, but it's better than having the tests fail.

Also see <#1453 'get's in integration test unless you are using cookie sessions - Ruby on Rails - rails gets-in-integration-test-unless-you-are-using-cookie-sessions>.

Lee

Someone to give me the configuration for "config.action_controller.session_store = :active_record_store" ?!

Thanks.

Ok the good configuration for Session store une database by ActiveRecord is :

  class ActionController::RackRequest     DEFAULT_SESSION_OPTIONS = {       :database_manager => CGI::Session::ActiveRecordStore,       :cookie_only => false,       :session_http_only=> true     }   end

Add this code in integration test.