]> git.openstreetmap.org Git - rails.git/blobdiff - test/controllers/users_controller_test.rb
Prevent CSRF bypass with password reset form
[rails.git] / test / controllers / users_controller_test.rb
index 02e5db7db25dd54d5cd3ae5d19f85817040fca82..ff75df548e827b9bb2986be4620c9de713d96687 100644 (file)
@@ -812,6 +812,16 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
     user = create(:user)
     uppercase_user = build(:user, :email => user.email.upcase).tap { |u| u.save(:validate => false) }
 
+    # Resetting with GET should fail
+    assert_no_difference "ActionMailer::Base.deliveries.size" do
+      perform_enqueued_jobs do
+        get user_forgot_password_path, :params => { :email => user.email }
+      end
+    end
+    assert_response :success
+    assert_template :lost_password
+
+    # Resetting with POST should work
     assert_difference "ActionMailer::Base.deliveries.size", 1 do
       perform_enqueued_jobs do
         post user_forgot_password_path, :params => { :email => user.email }