Session (stored in db) not working in testing mode


#1

Hi,

I just switched from storing my sessions on disk to storing them in
MySQL. Changing environment.rb ‘config.action_controller.session_store =
:active_record_store’. But now all my tests fail. I get the following
error:

  1. Failure:
    test_authorized_new(AdControllerTest)
    [c:/ruby/lib/ruby/gems/1.8/gems/actionpack-1.11.2/lib/action_controller/depr
    ecated_assertions.rb:23:in assert_session_has' ./functional/../test_helper.rb:34:inlogin’
    functional/ad_controller_test.rb:49:in `test_authorized_new’]:
    <:user_id> is not in the session
    <#<ActionController::TestSession:0x31d2198 @attributes={“flash”=>{}}>>

Have I overlooked something?

Kind regards,

Nick


#2

You’ve created the sessions table properly, right?

my sessions table usually has:

id(int11), session_id(int11), data(text), updated_at(datetime)

Julian.


#3

Yes, I guess. It contains:

id (int(11)), session_id (varchar(50)), user_id(int11)), data (text),
created_at (datetime) and updated_at(datetime).

In development mode it works perfectly, only in testing mode it starts
throwing errors.

Nick