changeset 7: | ac1024130232 |
author: | moriq@moriq.com |
date: | Wed Mar 05 03:57:54 2008 +0900 (16 years ago) |
permissions: | -rw-r--r-- |
description: | generate authenticated again. mercurial import したときに db/migrate lib が消えてた。orz |
1require File.dirname(__FILE__) + '/../test_helper'2require 'sessions_controller'34# Re-raise errors caught by the controller.5class SessionsController; def rescue_action(e) raise e end; end67class SessionsControllerTest < Test::Unit::TestCase8 # Be sure to include AuthenticatedTestHelper in test/test_helper.rb instead9 # Then, you can remove it from this and the units test.10 include AuthenticatedTestHelper1112 fixtures :users1314 def setup15 @controller = SessionsController.new16 @request = ActionController::TestRequest.new17 @response = ActionController::TestResponse.new18 end1920 def test_should_login_and_redirect21 post :create, :login => 'quentin', :password => 'test'22 assert session[:user_id]23 assert_response :redirect24 end2526 def test_should_fail_login_and_not_redirect27 post :create, :login => 'quentin', :password => 'bad password'28 assert_nil session[:user_id]29 assert_response :success30 end3132 def test_should_logout33 login_as :quentin34 get :destroy35 assert_nil session[:user_id]36 assert_response :redirect37 end3839 def test_should_remember_me40 post :create, :login => 'quentin', :password => 'test', :remember_me => "1"41 assert_not_nil @response.cookies["auth_token"]42 end4344 def test_should_not_remember_me45 post :create, :login => 'quentin', :password => 'test', :remember_me => "0"46 assert_nil @response.cookies["auth_token"]47 end4849 def test_should_delete_token_on_logout50 login_as :quentin51 get :destroy52 assert_equal @response.cookies["auth_token"], []53 end5455 def test_should_login_with_cookie56 users(:quentin).remember_me57 @request.cookies["auth_token"] = cookie_for(:quentin)58 get :new59 assert @controller.send(:logged_in?)60 end6162 def test_should_fail_expired_cookie_login63 users(:quentin).remember_me64 users(:quentin).update_attribute :remember_token_expires_at, 5.minutes.ago65 @request.cookies["auth_token"] = cookie_for(:quentin)66 get :new67 assert !@controller.send(:logged_in?)68 end6970 def test_should_fail_cookie_login71 users(:quentin).remember_me72 @request.cookies["auth_token"] = auth_token('invalid_auth_token')73 get :new74 assert !@controller.send(:logged_in?)75 end7677 protected78 def auth_token(token)79 CGI::Cookie.new('name' => 'auth_token', 'value' => token)80 end8182 def cookie_for(user)83 auth_token users(user).remember_token84 end85end