]> git.openstreetmap.org Git - rails.git/blobdiff - test/controllers/users_controller_test.rb
Prevent CSRF bypass with login form
[rails.git] / test / controllers / users_controller_test.rb
index ff75df548e827b9bb2986be4620c9de713d96687..54c737b97e39ebac266287f537600e0fa3176973 100644 (file)
@@ -406,6 +406,25 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     ActionMailer::Base.deliveries.clear
   end
 
+  def test_login
+    user = create(:user)
+
+    get login_path
+    assert_response :redirect
+    assert_redirected_to login_path(:cookie_test => true)
+    follow_redirect!
+    assert_response :success
+    assert_template "login"
+
+    get login_path, :params => { :username => user.display_name, :password => "test" }
+    assert_response :success
+    assert_template "login"
+
+    post login_path, :params => { :username => user.display_name, :password => "test" }
+    assert_response :redirect
+    assert_redirected_to root_path
+  end
+
   def test_logout_without_referer
     post logout_path
     assert_response :redirect