Sha256: 962b05a9717056072667b2821c9e6095a114989e4cacc7a19d15797cc372e5f1
Contents?: true
Size: 1.82 KB
Versions: 3
Compression:
Stored size: 1.82 KB
Contents
require "test_helper" require "integration_tests_helper" class PersistenceTest < ActionDispatch::IntegrationTest def setup @old_persistence = User.otp_trust_persistence User.otp_trust_persistence = 3.seconds end def teardown User.otp_trust_persistence = @old_persistence Capybara.reset_sessions! end test "a user should be requested the otp challenge every log in" do # log in 1fa user = enable_otp_and_sign_in otp_challenge_for user visit user_otp_token_path assert_equal user_otp_token_path, current_path sign_out sign_user_in assert_equal user_otp_credential_path, current_path end test "a user should be able to set their browser as trusted" do # log in 1fa user = enable_otp_and_sign_in otp_challenge_for user visit user_otp_token_path assert_equal user_otp_token_path, current_path click_link("Trust this browser") assert_text "Your browser is trusted." sign_out sign_user_in assert_equal root_path, current_path end test "a user should be able to download its recovery codes" do # log in 1fa user = enable_otp_and_sign_in otp_challenge_for user visit user_otp_token_path assert_equal user_otp_token_path, current_path click_link("Download recovery codes") assert current_path.match?(/recovery\.text/) assert page.body.match?(user.next_otp_recovery_tokens.values.join("\n")) end test "trusted status should expire" do # log in 1fa user = enable_otp_and_sign_in otp_challenge_for user visit user_otp_token_path assert_equal user_otp_token_path, current_path click_link("Trust this browser") assert_text "Your browser is trusted." sign_out sleep User.otp_trust_persistence.to_i + 1 sign_user_in assert_equal user_otp_credential_path, current_path end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
devise-otp-0.8.0 | test/integration/persistence_test.rb |
devise-otp-0.7.1 | test/integration/persistence_test.rb |
devise-otp-0.7.0 | test/integration/persistence_test.rb |