I have a very simple integration test based off of an example and Agile Web Development with Rails but I can''t seem to get it to work. I''m simply setting a user id in the session via the get method in the test but then can''t access it when it hits my login controller. Here is the relevant code in the integration test --- get :index, {}, { :user_id => users(:bart).id } assert_response :success --- and in the login controller that gets called by the filter --- def authorize puts "User ID from session[#{session[:user_id]}]" unless session[:user_id] flash[:notice] = "Please log in" redirect_to(:controller => ''login'', :action => ''login'') end end --- which prints out --- #<ActionController::TestSession:0x38a08c4 @attributes={:user_id=>1, "flash"=>{}}, @saved_attributes=nil, @session_id=""> User ID from session[] --- and then fails because the redirect is carried out. Anybody know why the attribute is set but not accessible via session[:user_id]? The code works fine when I manually try it out deployed. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
bcparanj-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
2007-Mar-10 01:50 UTC
Re: Accessing session attributes from an integration test
Make sure that you are using the right key for the user id. Run rake db:sessions:clear, restart your server and try again.> and in the login controller that gets called by the filter > --- > def authorize > puts "User ID from session[#{session[:user_id]}]" > > unless session[:user_id] > flash[:notice] = "Please log in" > redirect_to(:controller => ''login'', :action => ''login'') > end--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Eric Northam
2007-Mar-10 11:57 UTC
Re: Accessing session attributes from an integration test
I had to change get :index, {}, { :user_id => users(:bart).id } to get :index, {}, { ''user_id'' => users(:bart).id } The book example uses the original symbol version. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---