Forum: Ruby on Rails Session (stored in db) not working in testing mode

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Nick S. (Guest)
on 2006-03-15 15:10
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:in `login'
     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
Julian L. (Guest)
on 2006-03-15 15:21
(Received via mailing list)
You've created the sessions table properly, right?

my sessions table usually has:

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

Julian.
Nick S. (Guest)
on 2006-03-15 15:53
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
This topic is locked and can not be replied to.