Browse Source

Adds test for #35417.

git-svn-id: http://svn.redmine.org/redmine/trunk@21104 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/5.0.0
Marius Balteanu 2 years ago
parent
commit
14e7b1a8e6
1 changed files with 26 additions and 0 deletions
  1. 26
    0
      test/integration/twofa_test.rb

+ 26
- 0
test/integration/twofa_test.rb View File

@@ -193,4 +193,30 @@ class TwofaTest < Redmine::IntegrationTest
assert_response :success
end
end

def test_enable_twofa_should_destroy_tokens
recovery_token = Token.create!(:user_id => 2, :action => 'recovery')
autologin_token = Token.create!(:user_id => 2, :action => 'autologin')

with_settings twofa: "2" do
log_user('jsmith', 'jsmith')
follow_redirect!
assert_redirected_to "/my/twofa/totp/activate/confirm"
follow_redirect!

assert key = User.find_by_login('jsmith').twofa_totp_key
assert key.present?
totp = ROTP::TOTP.new key

post "/my/twofa/totp/activate", params: {twofa_code: '123456789'}
assert_redirected_to "/my/twofa/totp/activate/confirm"
follow_redirect!

post "/my/twofa/totp/activate", params: {twofa_code: totp.now}
assert_redirected_to "/my/account"
end

assert_nil Token.find_by_id(recovery_token.id)
assert_nil Token.find_by_id(autologin_token.id)
end
end

Loading…
Cancel
Save