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]
end

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

Executing break point at
/Users/intention/work/idm_local/config/…/lib/authenticated_system.rb:52
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?

thanks,
Bryan

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’
end
accepts.xml do
headers[“Status”] = “Unauthorized”
headers[“WWW-Authenticate”] = %(Basic realm=“Web Password”)
render :text => “Could’t authenticate you”, :status => ‘401
Unauthorized’
end
end
false
end

I renamed this topic:
http://www.ruby-forum.com/topic/98702#209920