Setting session data from a post

I’m using acts_as_authenticated, and I’m trying to run some tests where
the user must be registered. In the past, I’ve just included a user id
in the session data.

def test_login_loads_from_post_session
post :new, nil, { :user => 7 }
session = assigns(:session)
assert_equal 7, session[:user]

My assert statement seems to be failing because my session is not
showing me as being logged in.

Executing break point at
in `login_required’
irb(#LinksController:0x2481fec):001:0> session
=> #<ActionController::TestSession:0x24805fc @attributes={:user=>7,
“flash”=>{}}, saved_attributesnil, session_id""
irb(#LinksController:0x2481fec):002:0> session[:user]
=> nil

What I don’t understand is why I can’t access the attributes that are
listed in the session object. You can see that the @attributes hash has
the value 7 for the key :user.

What am I doing wrong?


def login_required
username, passwd = get_auth_data
self.current_user ||= User.authenticate(username, passwd) || :false if
username && passwd
return true if logged_in? && authorized?
respond_to do |accepts|
accepts.html do
session[:return_to] = request.request_uri
redirect_to :controller => ‘account’, :action => ‘login’
accepts.xml do
headers[“Status”] = “Unauthorized”
headers[“WWW-Authenticate”] = %(Basic realm=“Web Password”)
render :text => “Could’t authenticate you”, :status => ‘401

I renamed this topic:

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs