test/dummy/log/test.log in devise-security-0.15.0 vs test/dummy/log/test.log in devise-security-0.16.0
- old
+ new
@@ -1795,5 +1795,19895 @@
-------------------------------------------------------------------------------
Processing by Devise::PasswordExpiredController#update as HTML
Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
Redirected to http://test.host/
Completed 302 Found in 814ms (ActiveRecord: 1.5ms)
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (2.7ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 267.2ms
+Sent mail to bob@microsoft.com (10.0ms)
+Date: Fri, 19 Mar 2021 04:59:53 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60546809793bc_53f83ffe2a036e301258c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=B4xFkAqsxHfvQGzt9gtV">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 05:00:00 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60546810ee4b2_53f83ffe2a036e301262e@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=SdixyazpjxNGfv-TWnPh">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 05:00:02 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60546812a62c2_53f83ffe2a036e30127bf@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=fvpvfmjr79Fd52fGxviQ">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.4ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 2.0ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 19 Mar 2021 05:00:03 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <6054681342193_53f83ffe2a036e30128dd@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Cyyymz7Y3Ki_5ucKszs2">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 05:00:04 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605468145a5e1_53f83ffe2a036e3012947@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Ve-szyXBLHbpoxdAFg7g">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 19 Mar 2021 05:00:05 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60546815cf53_53f83ffe2a036e30130c5@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=cbHjvoJpDyx2QzxRqn_y">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 19 Mar 2021 05:00:05 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60546815b4810_53f83ffe2a036e3013198@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=KGtynrULiyFyB2QXxuM1">Confirm my account</a></p>
+
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (2.7ms)
+Date: Fri, 19 Mar 2021 05:00:06 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <6054681668025_53f83ffe2a036e30132ee@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=9a26zYJdsL2Ru6aYaANB">Confirm my account</a></p>
+
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 05:00:07 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605468171e756_53f83ffe2a036e30133b9@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=czrWAtRmWhb1FZGWd59y">Confirm my account</a></p>
+
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 05:00:07 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60546817b15ec_53f83ffe2a036e30134e3@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=hn66NhJW5SxzE887DQwz">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 05:00:11 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <6054681b68cda_53f83ffe2a036e301356c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Lm2iXogVExH1NyfvSMRH">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 05:00:11 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <6054681bf293c_53f83ffe2a036e301368c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=sxXNkPqbSxavfjpokMGs">Confirm my account</a></p>
+
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.7ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (10.3ms)
+Completed 200 OK in 1270ms (Views: 28.9ms | ActiveRecord: 0.5ms)
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 3ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.2ms)
+Completed 200 OK in 3ms (Views: 1.7ms | ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as JSON
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1083ms (ActiveRecord: 0.7ms)
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as XML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1084ms (ActiveRecord: 0.7ms)
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://test.host/
+Completed 302 Found in 1169ms (ActiveRecord: 0.6ms)
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 3ms (ActiveRecord: 0.2ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (1.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (8.4ms)
+Completed 200 OK in 200ms (Views: 15.4ms | ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 05:00:48 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <6054684073a1_53f83ffe2a036e3013713@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=9jT-8KJn2Fs2bncb_2BA">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 19 Mar 2021 05:00:48 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60546840947bd_53f83ffe2a036e30138d2@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=DfR94WzLazwSitexhBJo">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 05:00:50 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605468428a776_53f83ffe2a036e301396a@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=dKsG9xXUJtopPodaVU-S">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 05:00:50 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 197ms (ActiveRecord: 0.3ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.3ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.4ms)
+Completed 200 OK in 181ms (Views: 1.8ms | ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.8ms)
+Date: Fri, 19 Mar 2021 05:00:51 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605468439a7ff_53f83ffe2a036e301402b@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=zqMJRJQQM3hSsxxFmdyQ">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 05:00:51 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=qdfByPt3WK9fYQwBtFMD
+Redirected to http://www.example.com/
+Completed 302 Found in 199ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 05:00:51 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 3ms (Views: 1.5ms | ActiveRecord: 0.2ms)
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 05:00:51 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=95WjKS_NBAzMAz4-zxxn
+Redirected to http://www.example.com/
+Completed 302 Found in 187ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 05:00:52 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 05:00:52 -0400
+Processing by WidgetsController#show as HTML
+[devise-security][session_limitable] session id mismatch: expected="95WjKS_NBAzMAz4-zxxn" actual="qdfByPt3WK9fYQwBtFMD"
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.1ms)
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 05:00:52 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60546844a4ceb_53f83ffe2a036e30141b2@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=8XaQJ3pFmm5QLS_QozyT">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 05:00:52 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=3KTDYBePsuterdmWA25H
+Redirected to http://www.example.com/
+Completed 302 Found in 177ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 05:00:52 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.4ms | ActiveRecord: 0.1ms)
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 05:00:53 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605468456bc7a_53f83ffe2a036e30142f@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=HKxwU7-eJzs6Zv_9J1LR">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 05:00:53 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=jB3pdfsZ-qSi3j_jG8KN
+Redirected to http://www.example.com/
+Completed 302 Found in 192ms (ActiveRecord: 0.4ms)
+Started GET "/" for 127.0.0.1 at 2021-03-19 05:00:53 -0400
+Processing by WidgetsController#show as HTML
+Redirected to http://www.example.com/users/password_expired
+Filter chain halted as :handle_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.1ms)
+Started PUT "/users/password_expired" for 127.0.0.1 at 2021-03-19 05:00:53 -0400
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://www.example.com/
+Completed 302 Found in 1140ms (ActiveRecord: 0.6ms)
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 05:00:55 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605468475bd75_53f83ffe2a036e3014348@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=76CM1CUz_xEsnGeR_QeT">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 05:00:55 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=eQzcYmatfov2vLVbvnL2
+Redirected to http://www.example.com/
+Completed 302 Found in 197ms (ActiveRecord: 0.4ms)
+Started GET "/" for 127.0.0.1 at 2021-03-19 05:00:55 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.2ms)
+Started GET "/" for 127.0.0.1 at 2021-03-19 05:00:55 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 5ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.1ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.2ms)
+Completed 200 OK in 214ms (Views: 6.9ms | ActiveRecord: 0.0ms)
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.6ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 54.5ms
+Sent mail to hello@microsoft.com (1.4ms)
+Date: Fri, 19 Mar 2021 05:00:56 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605468482d996_53f83ffe2a036e30144f5@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=-ULsue_EMJs-4B16d6co">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 8ms (ActiveRecord: 0.1ms)
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.0ms
+Sent mail to hello@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 05:00:56 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605468485ccc7_53f83ffe2a036e30145dd@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=tfnLN9p1YtaSWCYsH9-m">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.1ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.8ms
+Sent mail to hello@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 05:00:56 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605468485de8b_53f83ffe2a036e3014693@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=Q8n7LsPipWNBB28-C1rH">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 5ms (ActiveRecord: 0.2ms)
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to hello@path.travel (1.1ms)
+Date: Fri, 19 Mar 2021 05:00:57 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605468491379f_53f83ffe2a036e3014736@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=ZGNCy8tQdJxpnWUVoHzs">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.8ms
+Sent mail to hello@path.travel (1.2ms)
+Date: Fri, 19 Mar 2021 05:00:57 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <6054684913f78_53f83ffe2a036e3014869@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=6Ubhk5P9_zRq2F54s7LB">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.0ms
+Sent mail to hello@path.travel (1.2ms)
+Date: Fri, 19 Mar 2021 05:00:57 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <6054684915837_53f83ffe2a036e3014998@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=4ubqyGU8HmvybrRZfSVL">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 6ms (ActiveRecord: 0.3ms)
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (3.0ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 267.7ms
+Sent mail to bob@microsoft.com (8.9ms)
+Date: Fri, 19 Mar 2021 05:06:47 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469a7930a_54413fcf9a036e3062090@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=36ZATyG8zq6dEtgNvinB">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.7ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.7ms
+Sent mail to bob@microsoft.com (2.4ms)
+Date: Fri, 19 Mar 2021 05:06:54 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469ae7b86b_54413fcf9a036e30621dd@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=bbE5Ds34cZobMRDaVJxd">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.8ms)
+Date: Fri, 19 Mar 2021 05:06:55 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469afea4df_54413fcf9a036e30622b2@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=5Jum6RMxMxfgCjTGh2bU">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 05:06:56 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469b07c8c0_54413fcf9a036e3062337@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=k88rgGdgiuFRPCHB6fHy">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 05:06:57 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469b16cd7f_54413fcf9a036e306243c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=cgsqsVrsfs4c84SSNdii">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 19 Mar 2021 05:06:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469b216553_54413fcf9a036e3062574@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=bHDkKxMJUqZDKtmdcmsp">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 05:06:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469b2b62d5_54413fcf9a036e30626f7@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=312wjTCz-dzCyLkDNAdc">Confirm my account</a></p>
+
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.9ms)
+Date: Fri, 19 Mar 2021 05:06:59 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469b34b4e4_54413fcf9a036e3062794@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=sUHtcRzNMmHKWtBP5uhM">Confirm my account</a></p>
+
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 05:06:59 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469b3dcc93_54413fcf9a036e30628b6@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=vusqKZSqRvkRS7g7ZJix">Confirm my account</a></p>
+
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 05:07:00 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469b471f15_54413fcf9a036e306296b@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=sXSX1yeyJwxt5_E_yFcq">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 05:07:03 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469b7dadf2_54413fcf9a036e3063011@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=tLXm-fk_SzeJSnNmfAhj">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 05:07:04 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469b87469c_54413fcf9a036e30631e3@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=YMsftacvqctRHSsAMTMX">Confirm my account</a></p>
+
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 05:07:05 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469b9e8d83_54413fcf9a036e306327f@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=BAcMdUNtirXsm7fR3n3e">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 05:07:05 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 225ms (ActiveRecord: 0.6ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (2.4ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (21.5ms)
+Completed 200 OK in 279ms (Views: 44.4ms | ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 19 Mar 2021 05:07:07 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469bb399df_54413fcf9a036e306336b@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=4ccQ9CGJQzQYFUFzT27X">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 05:07:07 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=o1AjLYsr1ZmcUyCUUbj9
+Redirected to http://www.example.com/
+Completed 302 Found in 225ms (ActiveRecord: 0.5ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 05:07:07 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 4ms (Views: 1.5ms | ActiveRecord: 0.3ms)
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 05:07:07 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=xM-XxXtcTX6dA9c13V1p
+Redirected to http://www.example.com/
+Completed 302 Found in 206ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 05:07:07 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 05:07:07 -0400
+Processing by WidgetsController#show as HTML
+[devise-security][session_limitable] session id mismatch: expected="xM-XxXtcTX6dA9c13V1p" actual="o1AjLYsr1ZmcUyCUUbj9"
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.1ms)
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 05:07:08 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469bc3cf55_54413fcf9a036e3063449@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Sx4V2VuQ4zMtk9kbThWx">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 05:07:08 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=nHFnWxAEYsavtxJzvZnR
+Redirected to http://www.example.com/
+Completed 302 Found in 172ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 05:07:08 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 05:07:08 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469bcf1679_54413fcf9a036e30635ac@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=WMVAjWMzBvJnxFVCGPyf">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 05:07:09 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=AhouvNTDRoUG8_aGmtd3
+Redirected to http://www.example.com/
+Completed 302 Found in 188ms (ActiveRecord: 0.4ms)
+Started GET "/" for 127.0.0.1 at 2021-03-19 05:07:09 -0400
+Processing by WidgetsController#show as HTML
+Redirected to http://www.example.com/users/password_expired
+Filter chain halted as :handle_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.1ms)
+Started PUT "/users/password_expired" for 127.0.0.1 at 2021-03-19 05:07:09 -0400
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://www.example.com/
+Completed 302 Found in 1063ms (ActiveRecord: 0.6ms)
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 05:07:10 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469bec4e5c_54413fcf9a036e306369e@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=aJzwzM7LyX3xNJ2ECxVP">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 05:07:10 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=izU15sezqoGrSMkNyMd-
+Redirected to http://www.example.com/
+Completed 302 Found in 186ms (ActiveRecord: 0.4ms)
+Started GET "/" for 127.0.0.1 at 2021-03-19 05:07:11 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.2ms)
+Started GET "/" for 127.0.0.1 at 2021-03-19 05:07:11 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.2ms)
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 05:07:11 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469bf96d1f_54413fcf9a036e30637f5@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=FyFxLsqiSUbY3r-LMYrF">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 05:07:12 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605469c0334f7_54413fcf9a036e30638f0@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=FiFx5mebWsxKsSpmqu_f">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 1ms (ActiveRecord: 0.1ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.3ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.5ms)
+Completed 200 OK in 194ms (Views: 2.1ms | ActiveRecord: 0.0ms)
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to hello@path.travel (1.1ms)
+Date: Fri, 19 Mar 2021 05:07:14 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605469c2558d8_54413fcf9a036e306393d@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=1px77s1zUhL3Fz2EmDih">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.6ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 49.1ms
+Sent mail to hello@path.travel (1.3ms)
+Date: Fri, 19 Mar 2021 05:07:14 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605469c261e33_54413fcf9a036e30640f3@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=ddB_nzzmjz4yh5wpeghm">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.1ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.9ms
+Sent mail to hello@path.travel (1.1ms)
+Date: Fri, 19 Mar 2021 05:07:14 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605469c26344b_54413fcf9a036e3064155@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=hgfy1pYJAJxkfsGvHph-">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 9ms (ActiveRecord: 0.3ms)
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.3ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.1ms
+Sent mail to hello@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 05:07:14 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605469c29ac69_54413fcf9a036e306427f@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=LpAYhuagxarzWovCTRsD">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 4ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.3ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.5ms
+Sent mail to hello@microsoft.com (1.8ms)
+Date: Fri, 19 Mar 2021 05:07:14 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605469c2cd219_54413fcf9a036e3064399@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=EyrVMvt-8jBiHSy18N2e">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.4ms
+Sent mail to hello@microsoft.com (1.7ms)
+Date: Fri, 19 Mar 2021 05:07:14 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605469c2cf031_54413fcf9a036e30644c2@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=bXMSZXPyPsiCyc4yyf3v">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 8ms (ActiveRecord: 0.4ms)
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 5ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.1ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.1ms)
+Completed 200 OK in 231ms (Views: 6.7ms | ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (1.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (7.6ms)
+Completed 200 OK in 1259ms (Views: 15.1ms | ActiveRecord: 0.5ms)
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.2ms)
+Completed 200 OK in 4ms (Views: 1.8ms | ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as JSON
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1083ms (ActiveRecord: 0.7ms)
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as XML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1088ms (ActiveRecord: 0.6ms)
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://test.host/
+Completed 302 Found in 1184ms (ActiveRecord: 0.7ms)
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_either,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+--------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_neither,_@minimum_password_complexity_is_not_set
+-------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_neither,_@minimum_password_length_is_not_set
+---------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+--------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_complexity_is_not_set
+-----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 49ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 5ms (ActiveRecord: 0.6ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.8ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (22.9ms)
+Completed 200 OK in 278ms (Views: 43.2ms | ActiveRecord: 0.0ms)
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.7ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 236.3ms
+Sent mail to bob@microsoft.com (9.8ms)
+Date: Fri, 19 Mar 2021 16:54:29 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f85b768d_5cf13fcbcf436e00838d4@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=PHsfkyyz4ztXvGsGfjyw">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 16:54:29 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 237ms (ActiveRecord: 0.5ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.8ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (4.9ms)
+Completed 200 OK in 217ms (Views: 5.8ms | ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.5ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 19 Mar 2021 16:54:30 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f86e04b5_5cf13fcbcf436e00839a2@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=-MYNYwfSAd9YMEz_sUkV">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 16:54:30 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=5mJiDYxUNC-UpnHtSsgs
+Redirected to http://www.example.com/
+Completed 302 Found in 234ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 16:54:31 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 4ms (Views: 1.6ms | ActiveRecord: 0.2ms)
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 16:54:31 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=sNTay9arLTxfA5TwzVd_
+Redirected to http://www.example.com/
+Completed 302 Found in 207ms (ActiveRecord: 0.3ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 16:54:31 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 16:54:31 -0400
+Processing by WidgetsController#show as HTML
+[devise-security][session_limitable] session id mismatch: expected="sNTay9arLTxfA5TwzVd_" actual="5mJiDYxUNC-UpnHtSsgs"
+Completed 401 Unauthorized in 1ms (ActiveRecord: 0.1ms)
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 19 Mar 2021 16:54:32 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f881fef6_5cf13fcbcf436e0084091@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=NeuyqoDn2se6zYSCdmXJ">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 16:54:32 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=tSLwdiDoW1pVxvQhgA5-
+Redirected to http://www.example.com/
+Completed 302 Found in 228ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 16:54:32 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+-------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_neither,_@minimum_password_complexity_is_not_set
+-------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_neither,_@minimum_password_length_is_not_set
+---------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+--------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_complexity_is_not_set
+-----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 16:54:33 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f8957b6_5cf13fcbcf436e008414f@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=_jMfBg1uzsHBHT-hhq9_">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 16:54:41 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f9144fe8_5cf13fcbcf436e00842c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=5cz9YN4cWaAHpCizHGV8">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 19 Mar 2021 16:54:42 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f92c2a49_5cf13fcbcf436e008438e@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=iDZ4PNxAxMgAnG-rCprf">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 19 Mar 2021 16:54:43 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f936a96d_5cf13fcbcf436e00844ab@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=eY87quuysKiCTbtpLgPC">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.8ms)
+Date: Fri, 19 Mar 2021 16:54:44 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f9497124_5cf13fcbcf436e0084549@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=WEexhXKDoxrLdrQncUTZ">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 16:54:45 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f9543ac1_5cf13fcbcf436e00846fa@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=d9j2TBA9Fef8JHQsZ-vW">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 19 Mar 2021 16:54:45 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f95e7c6e_5cf13fcbcf436e0084799@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Gj-LZBCPUP3yg2o3PCEg">Confirm my account</a></p>
+
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 19 Mar 2021 16:54:46 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f968f346_5cf13fcbcf436e00848b5@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=9mZyvCTUj66LfkssXYe_">Confirm my account</a></p>
+
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 19 Mar 2021 16:54:47 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f974b2c9_5cf13fcbcf436e0084917@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=yES-w-wgGABo_3V9_mnS">Confirm my account</a></p>
+
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 16:54:47 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f97daf19_5cf13fcbcf436e008507b@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=UbqK2fxZuJ1e4Z-zeS71">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.7ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 19 Mar 2021 16:54:51 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f9bb5c49_5cf13fcbcf436e00851ee@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=yxRGcHpsc9pnvjhB3AxZ">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 16:54:52 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550f9c5ad20_5cf13fcbcf436e00852c8@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=jy72vuooKMSSgMfx2RzF">Confirm my account</a></p>
+
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (1.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (6.2ms)
+Completed 200 OK in 1307ms (Views: 12.5ms | ActiveRecord: 0.5ms)
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.3ms)
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.3ms)
+Completed 200 OK in 4ms (Views: 1.9ms | ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as JSON
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1160ms (ActiveRecord: 0.7ms)
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as XML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1241ms (ActiveRecord: 0.9ms)
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://test.host/
+Completed 302 Found in 1376ms (ActiveRecord: 0.7ms)
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.7ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 66.3ms
+Sent mail to hello@microsoft.com (1.4ms)
+Date: Fri, 19 Mar 2021 16:55:05 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <60550fa986ef4_5cf13fcbcf436e008536a@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=AoDst4y7TMHxn_et2FDE">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 10ms (ActiveRecord: 0.1ms)
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.0ms
+Sent mail to hello@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 16:55:05 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <60550fa9bb171_5cf13fcbcf436e00854d2@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=SrjfVETxDnzp7RB1ykX8">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.1ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.9ms
+Sent mail to hello@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 16:55:05 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <60550fa9bc692_5cf13fcbcf436e0085591@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=8J9g2hJapPrBQCJtrQJp">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 5ms (ActiveRecord: 0.4ms)
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 16:55:06 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550faa5d8a9_5cf13fcbcf436e0085637@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=mo_s-SnPamZ41hrBzHQt">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 16:55:06 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=B5GcaCQR5wrkr7v9o8sr
+Redirected to http://www.example.com/
+Completed 302 Found in 206ms (ActiveRecord: 0.5ms)
+Started GET "/" for 127.0.0.1 at 2021-03-19 16:55:06 -0400
+Processing by WidgetsController#show as HTML
+Redirected to http://www.example.com/users/password_expired
+Filter chain halted as :handle_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.1ms)
+Started PUT "/users/password_expired" for 127.0.0.1 at 2021-03-19 16:55:06 -0400
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://www.example.com/
+Completed 302 Found in 1208ms (ActiveRecord: 0.8ms)
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 16:55:08 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550fac6ec7c_5cf13fcbcf436e0085712@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=rLocUVgWzeYRrJCF-_wa">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 16:55:08 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=HwsxgptedzbZU_BiJzuT
+Redirected to http://www.example.com/
+Completed 302 Found in 218ms (ActiveRecord: 0.5ms)
+Started GET "/" for 127.0.0.1 at 2021-03-19 16:55:08 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.2ms)
+Started GET "/" for 127.0.0.1 at 2021-03-19 16:55:08 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.1ms)
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 1ms (ActiveRecord: 0.1ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.4ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.9ms)
+Completed 200 OK in 247ms (Views: 2.4ms | ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 19 Mar 2021 16:55:09 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550fada7626_5cf13fcbcf436e008581a@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=eJVV4CtcJ-y6cE5x7NKY">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.7ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 19 Mar 2021 16:55:10 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60550fae5b7c8_5cf13fcbcf436e00859c4@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Da7wz9uQ_k5qtueJn21i">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to hello@path.travel (1.2ms)
+Date: Fri, 19 Mar 2021 16:55:35 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <60550fc7e5e57_5cf13fcbcf436e00860c5@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=woDBNCaCknQyAKfuzo19">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.8ms
+Sent mail to hello@path.travel (1.0ms)
+Date: Fri, 19 Mar 2021 16:55:35 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <60550fc7e66d9_5cf13fcbcf436e00861a7@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=5yDzbfodeGu9cKRKB4jN">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.2ms
+Sent mail to hello@path.travel (1.5ms)
+Date: Fri, 19 Mar 2021 16:55:35 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <60550fc7e8072_5cf13fcbcf436e0086236@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=xSC8r9NgtzjXdV-w3ZKM">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 7ms (ActiveRecord: 0.3ms)
+-------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_neither,_@minimum_password_complexity_is_not_set
+-------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_neither,_@minimum_password_length_is_not_set
+---------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+--------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_complexity_is_not_set
+-----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_neither,_@minimum_password_complexity_is_not_set
+-------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_neither,_@minimum_password_length_is_not_set
+---------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+--------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_complexity_is_not_set
+-----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+----------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+--------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+----------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+--------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+----------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+--------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestWithSecureValidatable: test_When_using_secure_validatable,_@minimum_password_length_is_set
+----------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (3.5ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 273.5ms
+Sent mail to hello@microsoft.com (9.9ms)
+Date: Fri, 19 Mar 2021 17:12:45 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605513cdeba60_5ea73fc33a436e20927c@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=jCTVNqCG8bbsDA_L-die">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 21ms (ActiveRecord: 0.2ms)
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.0ms
+Sent mail to hello@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 17:12:46 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605513ce312a6_5ea73fc33a436e2092864@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=ii6VTR5GwKuoYx1nSh1G">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.1ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.7ms
+Sent mail to hello@microsoft.com (0.9ms)
+Date: Fri, 19 Mar 2021 17:12:46 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605513ce3232f_5ea73fc33a436e209299e@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=PJd7QR6sRSKorTvVe4Mb">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 4ms (ActiveRecord: 0.2ms)
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 4ms (ActiveRecord: 0.1ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (1.2ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (18.9ms)
+Completed 200 OK in 238ms (Views: 35.0ms | ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 8ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.1ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.5ms)
+Completed 200 OK in 206ms (Views: 7.4ms | ActiveRecord: 0.0ms)
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.6ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 59.0ms
+Sent mail to hello@path.travel (1.4ms)
+Date: Fri, 19 Mar 2021 17:12:47 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605513cf6acbc_5ea73fc33a436e209304c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=faK2tr5d1sP77EYhkNao">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.1ms
+Sent mail to hello@path.travel (1.1ms)
+Date: Fri, 19 Mar 2021 17:12:47 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605513cf6b67f_5ea73fc33a436e2093129@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=J5WzEATq7esbjVngBQ1z">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.1ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.0ms
+Sent mail to hello@path.travel (1.4ms)
+Date: Fri, 19 Mar 2021 17:12:47 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605513cf6ce6d_5ea73fc33a436e20932da@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=LtyA94reNzb14zRi6BwW">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 6ms (ActiveRecord: 0.3ms)
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 17:12:48 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513d0ccf0_5ea73fc33a436e209331@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=v6__yssaVxVUNLYkTTas">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.4ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 17:12:56 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513d87a7f5_5ea73fc33a436e20934db@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=btmpVtGLyZKSaT6h_qtw">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.8ms)
+Date: Fri, 19 Mar 2021 17:12:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513da360a9_5ea73fc33a436e20935c7@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=cGSyXEB_EussJ6jQw-qM">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (1.0ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 2.2ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 19 Mar 2021 17:12:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513dad53be_5ea73fc33a436e20936c2@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=rSxgx_Q7xMG6zhPwJR-r">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 17:13:00 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513dce015_5ea73fc33a436e2093791@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=wc4iwnoXgKQeDh2MCuJJ">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 19 Mar 2021 17:13:00 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513dc9aa9a_5ea73fc33a436e20938db@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=R6qbhFwomR3EsD8Qiryt">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 17:13:01 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513dd523fe_5ea73fc33a436e20939de@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=EBc8Dhc1TB1h8Kzyb1T2">Confirm my account</a></p>
+
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 17:13:01 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513ddecf23_5ea73fc33a436e20940f1@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=TDaShQmjuV1gfWZsh6u_">Confirm my account</a></p>
+
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 19 Mar 2021 17:13:02 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513de9bf4c_5ea73fc33a436e20941b4@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=t7U481tYrYwkFsGh18Fz">Confirm my account</a></p>
+
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 17:13:03 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513df410fc_5ea73fc33a436e2094285@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=QbNzs5ZJqdbEHU2Yp5se">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Fri, 19 Mar 2021 17:13:06 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513e2eee9b_5ea73fc33a436e2094399@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=5jM1pDdhe9VBKKrq8fyA">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 19 Mar 2021 17:13:07 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513e3afae0_5ea73fc33a436e20944a0@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=xsx-7rByYt-x9Bx3M2sX">Confirm my account</a></p>
+
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Fri, 19 Mar 2021 17:13:09 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513e550d1d_5ea73fc33a436e20945f6@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Md3xPe_kq-GUCzzEgLPw">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 17:13:09 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 212ms (ActiveRecord: 0.4ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.3ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.4ms)
+Completed 200 OK in 184ms (Views: 1.8ms | ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 19 Mar 2021 17:13:10 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513e653c35_5ea73fc33a436e20946d8@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=S9CkUKtfExVhSVp9LwsL">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 17:13:10 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=rsAWTjtnRjX7GvWtqbmy
+Redirected to http://www.example.com/
+Completed 302 Found in 233ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 17:13:10 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 4ms (Views: 1.5ms | ActiveRecord: 0.3ms)
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 17:13:10 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=KnqTDyb9QVcNFrRd3W-p
+Redirected to http://www.example.com/
+Completed 302 Found in 205ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 17:13:10 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 17:13:10 -0400
+Processing by WidgetsController#show as HTML
+[devise-security][session_limitable] session id mismatch: expected="KnqTDyb9QVcNFrRd3W-p" actual="rsAWTjtnRjX7GvWtqbmy"
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.1ms)
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Fri, 19 Mar 2021 17:13:11 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605513e75d7e2_5ea73fc33a436e20947cd@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=8M8Z55QmJs33b6nxsEzH">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 17:13:11 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=a5488chosx6mBLbeep-c
+Redirected to http://www.example.com/
+Completed 302 Found in 196ms (ActiveRecord: 0.5ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-19 17:13:11 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.7ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 19 Mar 2021 17:13:36 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60551400bd71b_5ea73fc33a436e20948ed@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=jGP1fj2afr2CxhvE_yD5">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 17:13:36 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=agiSytnMCqy5ADzfELC_
+Redirected to http://www.example.com/
+Completed 302 Found in 189ms (ActiveRecord: 0.4ms)
+Started GET "/" for 127.0.0.1 at 2021-03-19 17:13:36 -0400
+Processing by WidgetsController#show as HTML
+Redirected to http://www.example.com/users/password_expired
+Filter chain halted as :handle_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.1ms)
+Started PUT "/users/password_expired" for 127.0.0.1 at 2021-03-19 17:13:36 -0400
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://www.example.com/
+Completed 302 Found in 1099ms (ActiveRecord: 0.6ms)
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 19 Mar 2021 17:13:38 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <60551402a1779_5ea73fc33a436e2094938@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=gLHqjgR3FfsH_xQ3yt9i">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-19 17:13:38 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=wb6sSp14NmX7ecT7GTFd
+Redirected to http://www.example.com/
+Completed 302 Found in 191ms (ActiveRecord: 0.5ms)
+Started GET "/" for 127.0.0.1 at 2021-03-19 17:13:38 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.2ms)
+Started GET "/" for 127.0.0.1 at 2021-03-19 17:13:38 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.9ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (6.1ms)
+Completed 200 OK in 1129ms (Views: 12.8ms | ActiveRecord: 0.5ms)
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.2ms)
+Completed 200 OK in 4ms (Views: 1.7ms | ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as JSON
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1110ms (ActiveRecord: 0.7ms)
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as XML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1125ms (ActiveRecord: 0.8ms)
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://test.host/
+Completed 302 Found in 1082ms (ActiveRecord: 0.7ms)
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 19 Mar 2021 17:13:50 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <6055140e13c5d_5ea73fc33a436e20950bd@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=p8XMcxmz4hvb22KQvQTb">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.0ms)
+Date: Fri, 19 Mar 2021 17:13:50 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <6055140e9b299_5ea73fc33a436e20951cf@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=7n8TxbREoGQPn_oexTXn">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 406 Not Acceptable in 302ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 406 Not Acceptable in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 406 Not Acceptable in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 406 Not Acceptable in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_length_is_set
+--------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_complexity_is_not_set
+---------------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_not_using_secure_validatable,_@minimum_password_length_is_not_set
+-----------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_complexity_is_not_set
+----------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_length_is_set
+--------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_neither,_@minimum_password_complexity_is_not_set
+------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_neither,_@minimum_password_length_is_not_set
+--------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_complexity_is_not_set
+----------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_length_is_set
+--------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_neither,_@minimum_password_complexity_is_not_set
+------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_neither,_@minimum_password_length_is_not_set
+--------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_complexity_is_not_set
+----------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_length_is_set
+--------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_neither,_@minimum_password_complexity_is_not_set
+------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_neither,_@minimum_password_length_is_not_set
+--------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_complexity_is_not_set
+----------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_length_is_set
+--------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_neither,_@minimum_password_complexity_is_not_set
+------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_neither,_@minimum_password_length_is_not_set
+--------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_complexity_is_not_set
+----------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_length_is_set
+--------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 52ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 5ms (ActiveRecord: 0.7ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.7ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (19.2ms)
+Completed 200 OK in 281ms (Views: 39.4ms | ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.6ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 209.8ms
+Sent mail to bob@microsoft.com (7.8ms)
+Date: Thu, 25 Mar 2021 23:19:39 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52cbc2dae_bfe73fe9bec36e18659b@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=TH9tPGnEuhiDiZq574pA">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:19:40 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52cc64a05_bfe73fe9bec36e18660c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=-ja1KQbKWKtfz15f7JiK">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.8ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 58.0ms
+Sent mail to hello@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:19:42 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d52ce43e41_bfe73fe9bec36e186619b@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=uuVVuX4knrRzhUPMSZMW">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 7ms (ActiveRecord: 0.1ms)
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.2ms
+Sent mail to hello@microsoft.com (1.0ms)
+Date: Thu, 25 Mar 2021 23:19:42 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d52ce7492a_bfe73fe9bec36e1866282@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=JuicdriYJXHdqgruz3sM">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.1ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.8ms
+Sent mail to hello@microsoft.com (0.9ms)
+Date: Thu, 25 Mar 2021 23:19:42 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d52ce75a7a_bfe73fe9bec36e1866354@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=ZGMX3CyLmoesdRZS5Qdw">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 5ms (ActiveRecord: 0.3ms)
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Thu, 25 Mar 2021 23:19:43 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52cf17609_bfe73fe9bec36e1866427@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=-E4ybnA3zPtWCizC8tp8">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:19:50 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52d6bb226_bfe73fe9bec36e18665c8@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=D3pwzP-LDCkfzRy-y1FR">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:19:52 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52d842272_bfe73fe9bec36e1866637@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=1LwjSWg_1NdRw5XjSKB5">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:19:52 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52d8cb28f_bfe73fe9bec36e186676b@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=w7VCjoEaxutwbA8v-c51">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Thu, 25 Mar 2021 23:19:53 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52d9c98c4_bfe73fe9bec36e1866865@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=ibDJJAsEdmdEz9_TZxut">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:19:54 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52da61612_bfe73fe9bec36e186697@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=-xfArWwAyFTWXjVTE6yg">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Thu, 25 Mar 2021 23:19:54 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52daeeb34_bfe73fe9bec36e186702@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=kvTF__WwXKAYPSs-YcjH">Confirm my account</a></p>
+
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:19:55 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52db85bbf_bfe73fe9bec36e1867143@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=naJSXqrmx22gBcJvpwau">Confirm my account</a></p>
+
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:19:56 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52dc296ab_bfe73fe9bec36e18672da@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=914vdu9HSPPBKsLMTsNZ">Confirm my account</a></p>
+
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Thu, 25 Mar 2021 23:19:56 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52dcb535f_bfe73fe9bec36e186731f@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=sWpLHhUZcwvw47PdKQzH">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.5ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Thu, 25 Mar 2021 23:20:00 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52e05270f_bfe73fe9bec36e1867458@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=2KWFz2eThdkWzBnFVq2u">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Thu, 25 Mar 2021 23:20:00 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52e0e2b0d_bfe73fe9bec36e186753b@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=31KHycmTkR9C2iTTQziF">Confirm my account</a></p>
+
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.8ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (5.8ms)
+Completed 200 OK in 1241ms (Views: 12.1ms | ActiveRecord: 0.6ms)
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 3ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.0ms)
+Completed 200 OK in 3ms (Views: 1.5ms | ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as JSON
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1263ms (ActiveRecord: 0.9ms)
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as XML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1183ms (ActiveRecord: 0.9ms)
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://test.host/
+Completed 302 Found in 1239ms (ActiveRecord: 0.7ms)
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_neither,_@minimum_password_complexity_is_not_set
+------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_neither,_@minimum_password_length_is_not_set
+--------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+-------------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_complexity_is_set
+-------------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_secure_validatable,_@minimum_password_length_is_set
+---------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_complexity_is_not_set
+----------------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------------------------------
+TestSecureValidatableInformationController: test_When_using_validatable,_@minimum_password_length_is_set
+--------------------------------------------------------------------------------------------------------
+Processing by SecureValidatableInformationController#index as HTML
+Completed 200 OK in 0ms (ActiveRecord: 0.0ms)
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.6ms
+Sent mail to bob@microsoft.com (2.3ms)
+Date: Thu, 25 Mar 2021 23:20:13 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52eded7c9_bfe73fe9bec36e1867612@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=1KvhTjEwFjF6aRJ8s2Z8">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:20:13 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=QKuaoQPvjyKEkYdb-MkM
+Redirected to http://www.example.com/
+Completed 302 Found in 220ms (ActiveRecord: 0.5ms)
+Started GET "/" for 127.0.0.1 at 2021-03-25 23:20:14 -0400
+Processing by WidgetsController#show as HTML
+Redirected to http://www.example.com/users/password_expired
+Filter chain halted as :handle_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+Started PUT "/users/password_expired" for 127.0.0.1 at 2021-03-25 23:20:14 -0400
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://www.example.com/
+Completed 302 Found in 1254ms (ActiveRecord: 0.6ms)
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.9ms)
+Date: Thu, 25 Mar 2021 23:20:16 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d52f01db69_bfe73fe9bec36e1867746@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=np2R26-pisHwPDkWBsTK">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:20:16 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=j83z8Y9RxWk5Ak48ahZ-
+Redirected to http://www.example.com/
+Completed 302 Found in 206ms (ActiveRecord: 0.4ms)
+Started GET "/" for 127.0.0.1 at 2021-03-25 23:20:16 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 7ms (Views: 5.0ms | ActiveRecord: 0.2ms)
+Started GET "/" for 127.0.0.1 at 2021-03-25 23:20:16 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.2ms)
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 1ms (ActiveRecord: 0.1ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.6ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (3.8ms)
+Completed 200 OK in 192ms (Views: 4.3ms | ActiveRecord: 0.0ms)
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Thu, 25 Mar 2021 23:20:41 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5309cc3f5_bfe73fe9bec36e18678cd@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=ErfmXkgR5mRiuA2GRF_b">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:20:41 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 183ms (ActiveRecord: 0.3ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.3ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.8ms)
+Completed 200 OK in 184ms (Views: 2.3ms | ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:20:42 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d530ac4827_bfe73fe9bec36e1867917@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=z4WkUQm1K7GgCWd_arNv">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:20:42 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=13t-zrpQdhgGfWrerKvX
+Redirected to http://www.example.com/
+Completed 302 Found in 182ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:20:42 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:20:42 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=SazM_sMEQukE3gqMRa_8
+Redirected to http://www.example.com/
+Completed 302 Found in 186ms (ActiveRecord: 0.5ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:20:43 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:20:43 -0400
+Processing by WidgetsController#show as HTML
+[devise-security][session_limitable] session id mismatch: expected="SazM_sMEQukE3gqMRa_8" actual="13t-zrpQdhgGfWrerKvX"
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.2ms)
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Thu, 25 Mar 2021 23:20:43 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d530bba366_bfe73fe9bec36e1868057@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=1P2bqC9fKLBBJTuEwmb-">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:20:43 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=fGpz5tgEEgbyXhSRhRyj
+Redirected to http://www.example.com/
+Completed 302 Found in 185ms (ActiveRecord: 0.3ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:20:43 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to hello@path.travel (1.4ms)
+Date: Thu, 25 Mar 2021 23:20:44 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d530c818b6_bfe73fe9bec36e18681f0@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=QxmqarE5qm4F18fqA8C_">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.0ms
+Sent mail to hello@path.travel (1.1ms)
+Date: Thu, 25 Mar 2021 23:20:44 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d530c822cd_bfe73fe9bec36e18682db@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=2-GPyrCci7Jrp1m8kcBd">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.9ms
+Sent mail to hello@path.travel (1.2ms)
+Date: Thu, 25 Mar 2021 23:20:44 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d530c83885_bfe73fe9bec36e18683f6@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=owYDaEUsfX-XGc3G41Cg">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 5ms (ActiveRecord: 0.3ms)
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (4.5ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 295.4ms
+Sent mail to hello@microsoft.com (8.7ms)
+Date: Thu, 25 Mar 2021 23:46:18 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d590a463c2_c0f63fd02c836e188489@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=RP6SqtotPyvDPh2crbm4">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 22ms (ActiveRecord: 0.2ms)
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.3ms
+Sent mail to hello@microsoft.com (1.3ms)
+Date: Thu, 25 Mar 2021 23:46:18 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d590a86396_c0f63fd02c836e188492@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=apJouzUpSuLuyjGPdP8f">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.9ms
+Sent mail to hello@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:46:18 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d590a87957_c0f63fd02c836e18850e0@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=TD5Hjm5A7vSSRxoaZvbq">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 6ms (ActiveRecord: 0.3ms)
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.7ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (13.6ms)
+Completed 200 OK in 1247ms (Views: 27.4ms | ActiveRecord: 0.7ms)
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.1ms)
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.1ms)
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 0ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.1ms)
+Completed 200 OK in 3ms (Views: 1.6ms | ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as JSON
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1346ms (ActiveRecord: 0.8ms)
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as XML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1383ms (ActiveRecord: 0.9ms)
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://test.host/
+Completed 302 Found in 1240ms (ActiveRecord: 0.7ms)
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 1ms (ActiveRecord: 0.0ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (1.3ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (10.9ms)
+Completed 200 OK in 226ms (Views: 18.4ms | ActiveRecord: 0.0ms)
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.6ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 66.7ms
+Sent mail to hello@path.travel (1.4ms)
+Date: Thu, 25 Mar 2021 23:46:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d593214c2c_c0f63fd02c836e1885175@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=aVVxibTBWjxfyDfoBzE5">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.0ms
+Sent mail to hello@path.travel (1.6ms)
+Date: Thu, 25 Mar 2021 23:46:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d59321576a_c0f63fd02c836e188521e@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=gwo3PLsLk7JAitAUuahA">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.2ms
+Sent mail to hello@path.travel (1.7ms)
+Date: Thu, 25 Mar 2021 23:46:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d593217500_c0f63fd02c836e188535c@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=U6U9gPNQ8VzVbpzyJ5qQ">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 8ms (ActiveRecord: 0.4ms)
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.8ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Thu, 25 Mar 2021 23:46:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5932c21b6_c0f63fd02c836e188546e@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=62RyR-P2zY7cYNzyHPKB">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Thu, 25 Mar 2021 23:47:07 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d593b2c81a_c0f63fd02c836e1885587@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=U8DhUX5LewQAxV76Nbv_">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.5ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 7.2ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Thu, 25 Mar 2021 23:47:08 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d593cba63e_c0f63fd02c836e188563f@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=xazBfdBccsWc-coY7CRw">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Thu, 25 Mar 2021 23:47:09 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d593d66efb_c0f63fd02c836e188573c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=xuZGzzdWWxKKfs7TarL-">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Thu, 25 Mar 2021 23:47:10 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d593e8bed7_c0f63fd02c836e1885894@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=axMAzU_gKizAm5t-axDZ">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Thu, 25 Mar 2021 23:47:11 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d593f32f0e_c0f63fd02c836e188590@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=cngFU1rBfXJpuF76xDyk">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:47:11 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d593fc6ca1_c0f63fd02c836e18860f6@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=EdcpjtSwXM-Psz85sJFa">Confirm my account</a></p>
+
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (2.5ms)
+Date: Thu, 25 Mar 2021 23:47:12 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59407e7b6_c0f63fd02c836e1886177@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=JBaU_qKV85SzKuBWn3HD">Confirm my account</a></p>
+
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 2.7ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Thu, 25 Mar 2021 23:47:13 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d594131d68_c0f63fd02c836e188621f@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=TXUSfra7kwJ_3nuHnCGU">Confirm my account</a></p>
+
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.8ms)
+Date: Thu, 25 Mar 2021 23:47:13 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5941cffb4_c0f63fd02c836e18863cb@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=xSkxHkWszBXdwE8ERLCv">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:47:17 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5945bc674_c0f63fd02c836e1886446@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=DnUgntX3irGeiuziGvGq">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.5ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Thu, 25 Mar 2021 23:47:18 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5946616f6_c0f63fd02c836e1886527@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=zs85RyuMs_DRZwvT-bny">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.8ms)
+Date: Thu, 25 Mar 2021 23:47:20 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5948610d_c0f63fd02c836e18866c8@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=xmwSF5bz2KB2cxq6bazQ">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Thu, 25 Mar 2021 23:47:20 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5948ae247_c0f63fd02c836e1886784@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=_e1xY6LhLjYyXbrza1JR">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 8ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.1ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.2ms)
+Completed 200 OK in 233ms (Views: 7.6ms | ActiveRecord: 0.0ms)
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:47:22 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d594ada713_c0f63fd02c836e1886862@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=3L1hN4ewBTwRn27rXzUH">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:47:22 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=v9pNJKvS6K4TuxBrdz8N
+Redirected to http://www.example.com/
+Completed 302 Found in 193ms (ActiveRecord: 0.4ms)
+Started GET "/" for 127.0.0.1 at 2021-03-25 23:47:23 -0400
+Processing by WidgetsController#show as HTML
+Redirected to http://www.example.com/users/password_expired
+Filter chain halted as :handle_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.3ms)
+Started PUT "/users/password_expired" for 127.0.0.1 at 2021-03-25 23:47:23 -0400
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://www.example.com/
+Completed 302 Found in 1277ms (ActiveRecord: 0.6ms)
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Thu, 25 Mar 2021 23:47:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d594dd659_c0f63fd02c836e18869d7@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=2cH3vReJ6LzzhRMdi77x">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:47:25 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=aP2RSphVgnu6B-boDPo1
+Redirected to http://www.example.com/
+Completed 302 Found in 200ms (ActiveRecord: 0.6ms)
+Started GET "/" for 127.0.0.1 at 2021-03-25 23:47:25 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 5ms (Views: 2.6ms | ActiveRecord: 0.2ms)
+Started GET "/" for 127.0.0.1 at 2021-03-25 23:47:25 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.2ms)
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.4ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 44.2ms
+Sent mail to bob@microsoft.com (2.3ms)
+Date: Thu, 25 Mar 2021 23:47:26 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d594e41c2_c0f63fd02c836e18870a@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=4jL2zyX3SRX76YJLi9ZB">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:47:26 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 206ms (ActiveRecord: 0.4ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.3ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.6ms)
+Completed 200 OK in 190ms (Views: 2.0ms | ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Thu, 25 Mar 2021 23:47:26 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d594ef3d06_c0f63fd02c836e18871f0@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=XxiPheYnzLTP_LzbRG8j">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:47:27 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=JSz7qPsyH28RyPhHyqjh
+Redirected to http://www.example.com/
+Completed 302 Found in 229ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:47:27 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:47:27 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=-eSWdsxsj9gT2FsaKKPn
+Redirected to http://www.example.com/
+Completed 302 Found in 184ms (ActiveRecord: 0.3ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:47:27 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:47:27 -0400
+Processing by WidgetsController#show as HTML
+[devise-security][session_limitable] session id mismatch: expected="-eSWdsxsj9gT2FsaKKPn" actual="JSz7qPsyH28RyPhHyqjh"
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.2ms)
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.5ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Thu, 25 Mar 2021 23:47:28 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5950190a6_c0f63fd02c836e18872d@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=AFPjHKBTQGsv9wvmrieV">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:47:28 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=NbnB3KULkx1_y66sAsHD
+Redirected to http://www.example.com/
+Completed 302 Found in 228ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:47:28 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.2ms)
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (2.6ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 318.4ms
+Sent mail to hello@microsoft.com (7.9ms)
+Date: Thu, 25 Mar 2021 23:48:31 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d598f1b7d7_c12f3ff123036e3017578@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=dLRyyaZTsrwZ343Jnrmj">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 20ms (ActiveRecord: 0.2ms)
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.3ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 10.4ms
+Sent mail to hello@microsoft.com (1.8ms)
+Date: Thu, 25 Mar 2021 23:48:31 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d598f58a34_c12f3ff123036e30176f3@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=vr1c4fCaY8_QuPL2ETSX">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.2ms
+Sent mail to hello@microsoft.com (1.5ms)
+Date: Thu, 25 Mar 2021 23:48:31 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d598f5a5ed_c12f3ff123036e30177af@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=ye4WPyyYyM4rT4QTcN8-">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 7ms (ActiveRecord: 0.4ms)
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 9ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.1ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.5ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (9.3ms)
+Completed 200 OK in 259ms (Views: 29.1ms | ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.7ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (6.0ms)
+Completed 200 OK in 1224ms (Views: 11.9ms | ActiveRecord: 0.6ms)
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 4ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.1ms)
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.0ms)
+Completed 200 OK in 3ms (Views: 1.5ms | ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as JSON
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1435ms (ActiveRecord: 0.9ms)
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as XML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1503ms (ActiveRecord: 0.8ms)
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://test.host/
+Completed 302 Found in 1416ms (ActiveRecord: 0.7ms)
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.5ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 57.2ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Thu, 25 Mar 2021 23:48:44 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d599c59140_c12f3ff123036e301781e@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=g-ueH-3qhuSDJZQLPkyE">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.8ms
+Sent mail to bob@microsoft.com (1.9ms)
+Date: Thu, 25 Mar 2021 23:48:44 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d599cf3804_c12f3ff123036e3017923@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=FRxCy-mQsRY26xjhaczV">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Thu, 25 Mar 2021 23:48:46 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d599eea89d_c12f3ff123036e301805a@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=4oCq5xuQx29iWJHGxQKg">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.9ms)
+Date: Thu, 25 Mar 2021 23:48:56 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59a85d518_c12f3ff123036e30181c3@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=q-1VwgZjqpuUUup68QMT">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Thu, 25 Mar 2021 23:48:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59aa1d334_c12f3ff123036e30182fd@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=4RB1bbF4qXz6SmUyqJbM">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Thu, 25 Mar 2021 23:48:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59aac7a88_c12f3ff123036e30183c2@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=hZ32Sk2eiUbzToUtPrf6">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Thu, 25 Mar 2021 23:48:59 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59abd9f80_c12f3ff123036e3018495@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=6GDqgxAobzznBW4yroGs">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Thu, 25 Mar 2021 23:49:00 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59ac7bd30_c12f3ff123036e3018562@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=-bVc4hs35miZKE6r1B_P">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Thu, 25 Mar 2021 23:49:01 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59ad38ca8_c12f3ff123036e3018631@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=2RYQvAndhS99zs-pTQmW">Confirm my account</a></p>
+
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Thu, 25 Mar 2021 23:49:01 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59ade6949_c12f3ff123036e30187d4@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Pz9nHcHRvZg5oxy7PgUx">Confirm my account</a></p>
+
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Thu, 25 Mar 2021 23:49:02 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59aea7e53_c12f3ff123036e301886@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=GbcUfxpfueThcezNNwiD">Confirm my account</a></p>
+
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Thu, 25 Mar 2021 23:49:03 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59af63888_c12f3ff123036e30189d2@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=htnNDVVr121zhhvR7TQj">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Thu, 25 Mar 2021 23:49:07 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59b3d0b59_c12f3ff123036e3019072@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=zahMzqjwRkR2RcyZjhZf">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Thu, 25 Mar 2021 23:49:08 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59b48bf52_c12f3ff123036e301910@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=e_y6mysE8jbgJSyLkw9o">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to hello@path.travel (1.2ms)
+Date: Thu, 25 Mar 2021 23:49:36 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d59d0cac61_c12f3ff123036e3019245@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=d8UxiX1HFZpxHuxEZN2x">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.8ms
+Sent mail to hello@path.travel (1.2ms)
+Date: Thu, 25 Mar 2021 23:49:36 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d59d0cb548_c12f3ff123036e3019348@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=ZiYvCkiezPUfhpKv9cDP">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.1ms
+Sent mail to hello@path.travel (1.4ms)
+Date: Thu, 25 Mar 2021 23:49:36 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d59d0ccdc6_c12f3ff123036e301947a@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=Qypx_KzsDkkxBB72869V">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 6ms (ActiveRecord: 0.3ms)
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 1ms (ActiveRecord: 0.1ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.7ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (3.5ms)
+Completed 200 OK in 226ms (Views: 4.2ms | ActiveRecord: 0.0ms)
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.6ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Thu, 25 Mar 2021 23:49:37 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59d1bf8ef_c12f3ff123036e30195f6@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=kxTLywRvRxkEksvZzTas">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:49:37 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 245ms (ActiveRecord: 0.5ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.4ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.9ms)
+Completed 200 OK in 231ms (Views: 2.5ms | ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.6ms
+Sent mail to bob@microsoft.com (1.9ms)
+Date: Thu, 25 Mar 2021 23:49:39 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59d312131_c12f3ff123036e3019679@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=_hfmsz1shbVqUzcgeyNv">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:49:39 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=WoukEfMP8s8j8iHSSJYr
+Redirected to http://www.example.com/
+Completed 302 Found in 254ms (ActiveRecord: 0.5ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:49:39 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 4ms (Views: 1.0ms | ActiveRecord: 0.2ms)
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:49:39 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=mziA-HeUWauDFcqF-x1s
+Redirected to http://www.example.com/
+Completed 302 Found in 262ms (ActiveRecord: 0.5ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:49:39 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.2ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:49:39 -0400
+Processing by WidgetsController#show as HTML
+[devise-security][session_limitable] session id mismatch: expected="mziA-HeUWauDFcqF-x1s" actual="WoukEfMP8s8j8iHSSJYr"
+Completed 401 Unauthorized in 3ms (ActiveRecord: 0.2ms)
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 5.1ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Thu, 25 Mar 2021 23:49:40 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59d4612d5_c12f3ff123036e3019710@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=m-RsBE5MJkbE5ZqcaVzL">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:49:40 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=pvxC5zMw-_77ptVfH4sG
+Redirected to http://www.example.com/
+Completed 302 Found in 254ms (ActiveRecord: 0.7ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:49:40 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.2ms)
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Thu, 25 Mar 2021 23:49:41 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59d57e732_c12f3ff123036e30198f2@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Zw4CNXfg5jkzuSRFeZvw">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:49:41 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=xPKNSZy71nonKsTodPn4
+Redirected to http://www.example.com/
+Completed 302 Found in 257ms (ActiveRecord: 0.7ms)
+Started GET "/" for 127.0.0.1 at 2021-03-25 23:49:41 -0400
+Processing by WidgetsController#show as HTML
+Redirected to http://www.example.com/users/password_expired
+Filter chain halted as :handle_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+Started PUT "/users/password_expired" for 127.0.0.1 at 2021-03-25 23:49:41 -0400
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://www.example.com/
+Completed 302 Found in 1487ms (ActiveRecord: 0.9ms)
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.5ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Thu, 25 Mar 2021 23:49:44 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d59d89f55_c12f3ff123036e301993@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=ZAbctN3_ankJ3SPAHpe4">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:49:44 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=QVt5zmNw4Tna3z-uFmpZ
+Redirected to http://www.example.com/
+Completed 302 Found in 250ms (ActiveRecord: 0.5ms)
+Started GET "/" for 127.0.0.1 at 2021-03-25 23:49:44 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.1ms)
+Started GET "/" for 127.0.0.1 at 2021-03-25 23:49:44 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.1ms)
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (3.1ms)
+
+Devise::Mailer#unlock_instructions: processed outbound mail in 236.4ms
+
+Sent mail to hello@microsoft.com (10.0ms)
+Date: Thu, 25 Mar 2021 23:58:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d5be16a244_13e7b3ffe2e836e1038da@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=uiNSFdQrCRQ9jtozfAfp">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_user"=>{"email"=>"hello@microsoft.com"}, "security_question_answer"=>"wrong answer"}
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 23ms (ActiveRecord: 0.2ms)
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.4ms)
+
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.1ms
+
+Sent mail to hello@microsoft.com (1.8ms)
+Date: Thu, 25 Mar 2021 23:58:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d5be1a3c9c_13e7b3ffe2e836e1039c3@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=Mcid9SDUQy95ieVeUU5S">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_user"=>{"email"=>"hello@microsoft.com"}, "security_question_answer"=>"Right Answer"}
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.1ms)
+
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.0ms
+
+Sent mail to hello@microsoft.com (2.0ms)
+Date: Thu, 25 Mar 2021 23:58:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d5be1a570d_13e7b3ffe2e836e104085@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=yBCm6gKeGQ2no2m5ERNP">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 7ms (ActiveRecord: 0.4ms)
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+[devise-security][session_limitable] unique_session_id=unique_value
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+[devise-security][session_limitable] unique_session_id=unique_value
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"params"=>{"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 10ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"params"=>{"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}}
+Completed 401 Unauthorized in 0ms (ActiveRecord: 0.0ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"params"=>{"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}}
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.7ms)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (20.4ms)
+Completed 200 OK in 56ms (Views: 43.6ms | ActiveRecord: 0.0ms)
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"params"=>{"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}}
+Completed 401 Unauthorized in 5ms (ActiveRecord: 0.0ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"params"=>{"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}}
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.6ms)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (4.7ms)
+Completed 200 OK in 7ms (Views: 6.8ms | ActiveRecord: 0.0ms)
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.3ms)
+
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.5ms
+
+Sent mail to hello@path.travel (1.6ms)
+Date: Thu, 25 Mar 2021 23:58:52 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d5bfc35d92_13e7b3ffe2e836e104186@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=N7sHXErEzmnbyyb8aLPA">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.2ms
+
+Sent mail to hello@path.travel (1.6ms)
+Date: Thu, 25 Mar 2021 23:58:52 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d5bfc37a12_13e7b3ffe2e836e1042b1@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=LxCT1p7spF-3c5Q_JFap">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 9ms (ActiveRecord: 0.2ms)
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (1.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (7.8ms)
+Completed 200 OK in 1318ms (Views: 14.5ms | ActiveRecord: 0.5ms)
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.1ms)
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.1ms)
+Completed 200 OK in 3ms (Views: 1.4ms | ActiveRecord: 0.1ms)
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://test.host/
+Completed 302 Found in 1215ms (ActiveRecord: 0.5ms)
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://test.host/
+Completed 302 Found in 1312ms (ActiveRecord: 0.6ms)
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://test.host/
+Completed 302 Found in 1274ms (ActiveRecord: 0.5ms)
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:59:30 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 192ms (ActiveRecord: 0.2ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.3ms)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.4ms)
+Completed 200 OK in 187ms (Views: 1.7ms | ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:59:31 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=dyzc_RTEMEx6s_UAtoSS
+Redirected to http://www.example.com/
+Completed 302 Found in 185ms (ActiveRecord: 0.3ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:59:31 -0400
+Processing by WidgetsController#show as HTML
+ Rendered text template (0.0ms)
+Completed 200 OK in 4ms (Views: 2.6ms | ActiveRecord: 0.1ms)
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:59:31 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=yMmBiQY6vsE1ku1JQxyb
+Redirected to http://www.example.com/
+Completed 302 Found in 187ms (ActiveRecord: 0.3ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:59:31 -0400
+Processing by WidgetsController#show as HTML
+ Rendered text template (0.0ms)
+Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.1ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:59:31 -0400
+Processing by WidgetsController#show as HTML
+[devise-security][session_limitable] session id mismatch: expected="yMmBiQY6vsE1ku1JQxyb" actual="dyzc_RTEMEx6s_UAtoSS"
+Completed 401 Unauthorized in 4ms (ActiveRecord: 0.1ms)
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-25 23:59:32 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=gLnbcbX8fXigxN7vf5mi
+Redirected to http://www.example.com/
+Completed 302 Found in 184ms (ActiveRecord: 0.3ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-25 23:59:32 -0400
+Processing by WidgetsController#show as HTML
+ Rendered text template (0.0ms)
+Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.1ms)
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (7.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 238.5ms
+Sent mail to hello@path.travel (11.5ms)
+Date: Fri, 26 Mar 2021 00:00:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d5c59b86ff_140423ff10d436e1059564@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Y4BxFpE-tXzkx4GFD91t">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (1.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 54.4ms
+Sent mail to hello@path.travel (2.9ms)
+Date: Fri, 26 Mar 2021 00:00:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d5c59c72e9_140423ff10d436e10596d7@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=sC7Hv7NsLJLX-LzX6YJQ">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.9ms
+Sent mail to hello@path.travel (9.2ms)
+Date: Fri, 26 Mar 2021 00:00:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d5c59cf0c3_140423ff10d436e10597fd@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=xBxWoiNbPg_LgWA49pMU">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 45ms (ActiveRecord: 0.4ms)
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 26 Mar 2021 00:00:26 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c5a79c76_140423ff10d436e1059812@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=s1VEwhdk-uBa7PPtcvzU">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:00:26 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=Dus8jKpwU9zZhhxkVz-w
+Redirected to http://www.example.com/
+Completed 302 Found in 229ms (ActiveRecord: 0.4ms)
+Started GET "/" for 127.0.0.1 at 2021-03-26 00:00:26 -0400
+Processing by WidgetsController#show as HTML
+Redirected to http://www.example.com/users/password_expired
+Filter chain halted as :handle_password_change rendered or redirected
+Completed 302 Found in 3ms (ActiveRecord: 0.2ms)
+Started PUT "/users/password_expired" for 127.0.0.1 at 2021-03-26 00:00:26 -0400
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://www.example.com/
+Completed 302 Found in 1451ms (ActiveRecord: 1.0ms)
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.5ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 58.1ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Fri, 26 Mar 2021 00:00:28 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c5cf2cb2_140423ff10d436e1059996@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=p6q6gPNhN9DDs7WUHxLm">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:00:29 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=arCSiwfLf2rfxmKXnAuc
+Redirected to http://www.example.com/
+Completed 302 Found in 249ms (ActiveRecord: 0.5ms)
+Started GET "/" for 127.0.0.1 at 2021-03-26 00:00:29 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 4ms (Views: 1.9ms | ActiveRecord: 0.2ms)
+Started GET "/" for 127.0.0.1 at 2021-03-26 00:00:29 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.3ms)
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.6ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 59.3ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 00:00:30 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c5e13777_140423ff10d436e10600e2@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=u233UKbJSSt8xDWb_-UZ">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:00:30 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c5ec2d43_140423ff10d436e106016a@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=eKXss1M6MxTgsRmqzxjg">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (1.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (17.1ms)
+Completed 200 OK in 1464ms (Views: 34.9ms | ActiveRecord: 0.5ms)
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.1ms)
+Completed 200 OK in 3ms (Views: 1.6ms | ActiveRecord: 0.1ms)
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as JSON
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1292ms (ActiveRecord: 0.5ms)
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as XML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1287ms (ActiveRecord: 0.5ms)
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://test.host/
+Completed 302 Found in 1303ms (ActiveRecord: 0.5ms)
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 16ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.1ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.8ms)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (12.1ms)
+Completed 200 OK in 280ms (Views: 26.9ms | ActiveRecord: 0.0ms)
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 1ms (ActiveRecord: 0.0ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.7ms)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (4.9ms)
+Completed 200 OK in 222ms (Views: 5.6ms | ActiveRecord: 0.0ms)
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 00:00:45 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c6d5897a_140423ff10d436e10602d8@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=PU6SdsE_ocPcpXzzefkM">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:00:45 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 227ms (ActiveRecord: 0.4ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (1.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (7.5ms)
+Completed 200 OK in 248ms (Views: 28.2ms | ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.4ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 48.6ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 00:00:46 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c6e8c1aa_140423ff10d436e10603f5@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=XpptgmoxxTnJ8qtzz9dr">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:00:46 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=joyRSBQUn6NXFfZsHzQk
+Redirected to http://www.example.com/
+Completed 302 Found in 248ms (ActiveRecord: 0.5ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:00:46 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.3ms)
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:00:46 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=gcuxWfr8pfZqxXwUj9NU
+Redirected to http://www.example.com/
+Completed 302 Found in 230ms (ActiveRecord: 0.6ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:00:47 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.3ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:00:47 -0400
+Processing by WidgetsController#show as HTML
+[devise-security][session_limitable] session id mismatch: expected="gcuxWfr8pfZqxXwUj9NU" actual="joyRSBQUn6NXFfZsHzQk"
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.2ms)
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.6ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 62.7ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:00:47 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c6fca1a0_140423ff10d436e1060475@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=AytQfW3yxtnsmFfNGmDd">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:00:47 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=XeXwFZxGtKsLedpeHSbp
+Redirected to http://www.example.com/
+Completed 302 Found in 225ms (ActiveRecord: 0.4ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:00:48 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.2ms)
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.7ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 61.7ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 00:01:16 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c8cdf818_140423ff10d436e1060546@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=g7WVsRnyz_zcC78RBATh">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:01:26 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c9665e88_140423ff10d436e1060621@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=d2sry3vmNzdQze3Cv-vz">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Fri, 26 Mar 2021 00:01:28 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c98504fe_140423ff10d436e1060752@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=mRwwKx4TE3sYRjCWraDW">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 00:01:29 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c99106b1_140423ff10d436e1060868@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=BH1zmCnSRn_xBT-vQDmU">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 26 Mar 2021 00:01:30 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c9a24d19_140423ff10d436e10609bd@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Jcpu6Xxu2ZGmwj2J58UF">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 00:01:30 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c9ac291f_140423ff10d436e10610f5@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=VvMpBS87je7H7TVGxnjt">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 00:01:31 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c9b7ec32_140423ff10d436e1061198@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=udPz59ctwPxtzNKYDV5D">Confirm my account</a></p>
+
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Fri, 26 Mar 2021 00:01:32 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c9c3b581_140423ff10d436e10612dd@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=TZ7VRMCcGw5fLxyvymz9">Confirm my account</a></p>
+
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 26 Mar 2021 00:01:32 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c9ced3e7_140423ff10d436e1061395@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=nM_xPEz3xqd1NxhU-yxU">Confirm my account</a></p>
+
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (2.0ms)
+Date: Fri, 26 Mar 2021 00:01:33 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5c9db1e50_140423ff10d436e1061445@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=7ztsbfkFimqzxxQdzYRZ">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.5ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:01:38 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5ca26c0e1_140423ff10d436e10615ba@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=wqhMToQyzyUDDws_qmS6">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:01:39 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5ca32d5b1_140423ff10d436e106164e@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=XGyX3Why1j1sYKoHJZS9">Confirm my account</a></p>
+
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.6ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 41.7ms
+Sent mail to hello@microsoft.com (1.3ms)
+Date: Fri, 26 Mar 2021 00:01:40 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d5ca4a4026_140423ff10d436e1061779@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=ede2ckmAdpBz6FDzkVxJ">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 16ms (ActiveRecord: 0.1ms)
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.3ms
+Sent mail to hello@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 00:01:40 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d5ca4dd9a0_140423ff10d436e10618f9@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=AN7Qa9zhQ8YraPcx-srK">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.1ms
+Sent mail to hello@microsoft.com (1.3ms)
+Date: Fri, 26 Mar 2021 00:01:40 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d5ca4df1b8_140423ff10d436e1061950@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=x5N1BwzkhdtyxCejGxBZ">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 6ms (ActiveRecord: 0.2ms)
+Overwriting existing field password_archivable_type in class OldPassword.
+Overwriting existing field username in class User.
+Overwriting existing field email in class User.
+Overwriting existing field encrypted_password in class User.
+Overwriting existing field password_changed_at in class User.
+Overwriting existing field expired_at in class User.
+Overwriting existing field last_activity_at in class User.
+Overwriting existing field locked_at in class User.
+Overwriting existing field unlock_token in class User.
+Overwriting existing field locked_at in class SecurityQuestionUser.
+Overwriting existing field unlock_token in class SecurityQuestionUser.
+Overwriting existing field security_question_answer in class SecurityQuestionUser.
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (4.6ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 202.4ms
+Sent mail to hello@microsoft.com (9.1ms)
+Date: Fri, 26 Mar 2021 00:04:45 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d5d5d855be_143803fbfb9c36e1077ae@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=i6gRMPLcFwc3sSegvZ9-">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 21ms (ActiveRecord: 0.2ms)
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.0ms
+Sent mail to hello@microsoft.com (1.1ms)
+Date: Fri, 26 Mar 2021 00:04:45 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d5d5dbdb98_143803fbfb9c36e107884@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=xt4mVXqu-NrDozUxHc2i">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.9ms
+Sent mail to hello@microsoft.com (1.0ms)
+Date: Fri, 26 Mar 2021 00:04:45 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d5d5dbee13_143803fbfb9c36e10793@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=hRDy8qBmyce42kmSKimY">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 5ms (ActiveRecord: 0.2ms)
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.4ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 39.0ms
+Sent mail to bob@microsoft.com (1.0ms)
+Date: Fri, 26 Mar 2021 00:04:46 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5d5e6cb6b_143803fbfb9c36e1080e4@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=fMdtZZsG7XMvAPzef5py">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.7ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Fri, 26 Mar 2021 00:04:47 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5d5faebe_143803fbfb9c36e108174@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=EHkTcFYo_XnZs7ZjyTc5">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+Overwriting existing field password_archivable_type in class OldPassword.
+Overwriting existing field username in class User.
+Overwriting existing field email in class User.
+Overwriting existing field encrypted_password in class User.
+Overwriting existing field password_changed_at in class User.
+Overwriting existing field expired_at in class User.
+Overwriting existing field last_activity_at in class User.
+Overwriting existing field locked_at in class User.
+Overwriting existing field unlock_token in class User.
+Overwriting existing field locked_at in class SecurityQuestionUser.
+Overwriting existing field unlock_token in class SecurityQuestionUser.
+Overwriting existing field security_question_answer in class SecurityQuestionUser.
+Overwriting existing field password_archivable_type in class OldPassword.
+Overwriting existing field username in class User.
+Overwriting existing field email in class User.
+Overwriting existing field encrypted_password in class User.
+Overwriting existing field password_changed_at in class User.
+Overwriting existing field expired_at in class User.
+Overwriting existing field last_activity_at in class User.
+Overwriting existing field locked_at in class User.
+Overwriting existing field unlock_token in class User.
+Overwriting existing field locked_at in class SecurityQuestionUser.
+Overwriting existing field unlock_token in class SecurityQuestionUser.
+Overwriting existing field security_question_answer in class SecurityQuestionUser.
+MONGODB | Topology type 'unknown' initializing.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Server localhost:27017 initializing.
+MONGODB | Waiting for up to 30.00 seconds for servers to be scanned: #<Cluster topology=Unknown[localhost:27017] servers=[#<Server address=localhost:27017 UNKNOWN>]>
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Error running ismaster on localhost:27017: Mongo::Error::SocketError: Errno::ECONNREFUSED: Connection refused - connect(2) for 127.0.0.1:27017 (for 127.0.0.1:27017 (no TLS)) (on localhost:27017)
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'unknown'.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+Overwriting existing field password_archivable_type in class OldPassword.
+Overwriting existing field username in class User.
+Overwriting existing field email in class User.
+Overwriting existing field encrypted_password in class User.
+Overwriting existing field password_changed_at in class User.
+Overwriting existing field expired_at in class User.
+Overwriting existing field last_activity_at in class User.
+Overwriting existing field locked_at in class User.
+Overwriting existing field unlock_token in class User.
+Overwriting existing field locked_at in class SecurityQuestionUser.
+Overwriting existing field unlock_token in class SecurityQuestionUser.
+Overwriting existing field security_question_answer in class SecurityQuestionUser.
+MONGODB | Topology type 'unknown' initializing.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Server localhost:27017 initializing.
+MONGODB | Waiting for up to 30.00 seconds for servers to be scanned: #<Cluster topology=Unknown[localhost:27017] servers=[#<Server address=localhost:27017 UNKNOWN>]>
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'standalone'.
+MONGODB | Topology type 'Unknown' changed to type 'Single'.
+MONGODB | localhost:27017 req:8 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:8 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:9 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:9 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:10 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5fe7f3a8d0555f849fcf'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:10 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:11 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5fe7f3a8d0555f849fcf'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$U6N0wWyPCZ9JsT.D5oaK9eKLUv6Z.7HVnnTpUBgOol85BIof8CoEa", "...
+MONGODB | localhost:27017 req:11 | devise-test-suite.insert | SUCCEEDED | 0.126s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (7.8ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 304.8ms
+Sent mail to bob@microsoft.com (8.7ms)
+Date: Fri, 26 Mar 2021 00:15:35 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5fe7eff55_1555f3fc611436e0073829@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=1Bp1i2tzyof_cbe1BRnM">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:12 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fe7f3a8d0555f849fcf')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 04:15:35 UTC, "updated_at"=>2021-03-26 04:15:35 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:12 | devise-test-suite.update | SUCCEEDED | 0.001s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:15:35 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:13 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:13 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:14 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fe7f3a8d0555f849fcf'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "u"=>{"$inc"=>{"f...
+MONGODB | localhost:27017 req:14 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:15 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5fe7f3a8d0555f849fcf')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:15 | devise-test-suite.find | SUCCEEDED | 0.000s
+Completed 401 Unauthorized in 250ms (ActiveRecord: 0.0ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (2.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (27.9ms)
+Completed 200 OK in 281ms (Views: 47.4ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:16 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5fe7f3a8d0555f849fcf')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:16 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:17 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:17 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:18 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:18 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:19 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:19 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:20 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:20 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:21 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$m65vKt3nnP8iCzslY3UNs.fNGiVGpaRBBGXkemW6kVGV572Ze9hv.", "...
+MONGODB | localhost:27017 req:21 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.9ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 63.3ms
+Sent mail to bob@microsoft.com (2.5ms)
+Date: Fri, 26 Mar 2021 00:15:37 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5fe9559c0_1555f3fc611436e00739b7@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Sazjj3FyZzVxNitmW3HB">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:22 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 04:15:37 UTC, "updated_at"=>2021-03-26 04:15:37 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:22 | devise-test-suite.update | SUCCEEDED | 0.000s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:15:37 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:23 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:23 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:24 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0')}, "u"=>{"$set"=>{"last_sign_in_at"=>2021-03-26 04:15:37 UTC, "current_sign_in_at"=>2021-03-26 04:15:37 UTC, "last_sign_in_ip"=>"127...
+MONGODB | localhost:27017 req:24 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:25 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0')}, "u"=>{"$set"=>{"unique_session_id"=>"zyYyzFiHeEvW64CS2wu3"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200...
+MONGODB | localhost:27017 req:25 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=zyYyzFiHeEvW64CS2wu3
+MONGODB | localhost:27017 req:26 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:37 UTC, "updated_at"=>2021-03-26 04:15:37 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:26 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 268ms (ActiveRecord: 0.0ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:15:37 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:27 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:27 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:28 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:37 UTC, "updated_at"=>2021-03-26 04:15:37 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:28 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 9ms (Views: 1.9ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:29 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:29 | devise-test-suite.find | SUCCEEDED | 0.000s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:15:37 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:30 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:30 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:31 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0')}, "u"=>{"$set"=>{"current_sign_in_at"=>2021-03-26 04:15:37 UTC, "sign_in_count"=>2, "updated_at"=>2021-03-26 04:15:37 UTC}}}], "$db...
+MONGODB | localhost:27017 req:31 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:32 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0')}, "u"=>{"$set"=>{"unique_session_id"=>"-jMA1YPHnZRwr799WQfe"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200...
+MONGODB | localhost:27017 req:32 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=-jMA1YPHnZRwr799WQfe
+MONGODB | localhost:27017 req:33 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:37 UTC, "updated_at"=>2021-03-26 04:15:37 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:33 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 272ms (ActiveRecord: 0.0ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:15:37 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:34 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:34 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:35 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:37 UTC, "updated_at"=>2021-03-26 04:15:37 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:35 | devise-test-suite.update | SUCCEEDED | 0.001s
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 7ms (Views: 0.3ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:36 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:36 | devise-test-suite.find | SUCCEEDED | 0.000s
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:15:37 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:37 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5fe9f3a8d0555f849fd0'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:37 | devise-test-suite.find | SUCCEEDED | 0.000s
+[devise-security][session_limitable] session id mismatch: expected="-jMA1YPHnZRwr799WQfe" actual="zyYyzFiHeEvW64CS2wu3"
+Completed 401 Unauthorized in 3ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:38 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:38 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:39 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:39 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.3ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:40 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:40 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:41 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5feaf3a8d0555f849fd1'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:41 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:42 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5feaf3a8d0555f849fd1'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$Y.NBD7W8A6ukN64MnoTrr.82hOTLqKMUs0QPSy8iTkS8LwMW5qfVO", "...
+MONGODB | localhost:27017 req:42 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.6ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 62.2ms
+Sent mail to bob@microsoft.com (2.3ms)
+Date: Fri, 26 Mar 2021 00:15:38 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5feab297d_1555f3fc611436e00740d1@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=omuzrF6Zz6H7S8chaFFx">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:43 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5feaf3a8d0555f849fd1')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 04:15:38 UTC, "updated_at"=>2021-03-26 04:15:38 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:43 | devise-test-suite.update | SUCCEEDED | 0.001s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:15:38 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:44 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:44 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:45 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5feaf3a8d0555f849fd1')}, "u"=>{"$set"=>{"last_sign_in_at"=>2021-03-26 04:15:38 UTC, "current_sign_in_at"=>2021-03-26 04:15:38 UTC, "last_sign_in_ip"=>"127...
+MONGODB | localhost:27017 req:45 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:46 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5feaf3a8d0555f849fd1')}, "u"=>{"$set"=>{"unique_session_id"=>"CJghdqaz9_6Ht6DdHMdP"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200...
+MONGODB | localhost:27017 req:46 | devise-test-suite.update | SUCCEEDED | 0.001s
+[devise-security][session_limitable] unique_session_id=CJghdqaz9_6Ht6DdHMdP
+MONGODB | localhost:27017 req:47 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5feaf3a8d0555f849fd1')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:38 UTC, "updated_at"=>2021-03-26 04:15:38 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:47 | devise-test-suite.update | SUCCEEDED | 0.001s
+Redirected to http://www.example.com/
+Completed 302 Found in 264ms (ActiveRecord: 0.0ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:15:39 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:48 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5feaf3a8d0555f849fd1'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:48 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:49 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5feaf3a8d0555f849fd1')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:39 UTC, "updated_at"=>2021-03-26 04:15:39 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:49 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 18ms (Views: 0.3ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:50 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5feaf3a8d0555f849fd1')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:50 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:51 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:51 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:52 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:52 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:53 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:53 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:54 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:54 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:55 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:55 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:56 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:56 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:57 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:57 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:58 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:58 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:59 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:59 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:60 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:60 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:61 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:61 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:62 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:62 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:63 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:63 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:64 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:64 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:65 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:65 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:66 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:66 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.1ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:67 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:67 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:68 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:68 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:69 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:69 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:70 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:70 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:71 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:71 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:72 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:72 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:73 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:73 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:74 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:74 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:75 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:75 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:76 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:76 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:77 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:77 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:78 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:78 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:79 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:79 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:80 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:80 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:81 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"wrong@email.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise...
+MONGODB | localhost:27017 req:81 | devise-test-suite.find | SUCCEEDED | 0.001s
+Completed 401 Unauthorized in 3ms (ActiveRecord: 0.0ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (1.3ms)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (8.4ms)
+Completed 200 OK in 268ms (Views: 28.2ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:82 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:82 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:83 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:83 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:84 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:84 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:85 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:85 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:86 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:86 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:87 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5fecf3a8d0555f849fd2'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:87 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:88 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5fecf3a8d0555f849fd2'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$TDLtWh8D0xbLnAtVtQ86b.CXfMQ2OEMliHqiitTrpeKQ3UrhL2EvO", "...
+MONGODB | localhost:27017 req:88 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.5ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 62.8ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 00:15:40 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5fec4a466_1555f3fc611436e007419c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=CxzQNVyy3cQVjmbkgriW">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:89 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fecf3a8d0555f849fd2')}, "u"=>{"$set"=>{"unique_session_id"=>"unique_value"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140...
+MONGODB | localhost:27017 req:89 | devise-test-suite.update | SUCCEEDED | 0.001s
+[devise-security][session_limitable] unique_session_id=unique_value
+MONGODB | localhost:27017 req:90 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5fecf3a8d0555f849fd2')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:90 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:91 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:91 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:92 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:92 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:93 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:93 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:94 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5fedf3a8d0555f849fd3'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:94 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:95 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5fedf3a8d0555f849fd3'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$al87c6PehdfnM57xFydcWOYPBl2odhWAQO0LE5oyL.foxt6ELfu7a", "...
+MONGODB | localhost:27017 req:95 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:15:41 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5fed9731_1555f3fc611436e00742a8@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=bCcLJGfkZ3o-sZEY4dez">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:96 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5fedf3a8d0555f849fd3')}, "u"=>{"$set"=>{"unique_session_id"=>"unique_value"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140...
+MONGODB | localhost:27017 req:96 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=unique_value
+MONGODB | localhost:27017 req:97 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5fedf3a8d0555f849fd3')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:97 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:98 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:98 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:99 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:99 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+ [1m[35m (0.1ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:100 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:100 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:101 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5fedf3a8d0555f849fd4'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:101 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:102 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:102 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:103 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:103 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.1ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:104 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob2@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:104 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:105 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5feef3a8d0555f849fd5'), "password_archivable_type"=>"TestSessionLimitable::ModifiedUser"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>...
+MONGODB | localhost:27017 req:105 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:106 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:106 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:107 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:107 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:108 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:108 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:109 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:109 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.1ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:110 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:110 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:111 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:111 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:112 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$rhPYCuUhuMwOC5J.Oz91ZeXqyn/QSMRR5Hwj2LP7X9Z8xVjG9XMQC", "...
+MONGODB | localhost:27017 req:112 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:15:43 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5fef39904_1555f3fc611436e0074334@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=JsTqRQK8dLy7744MvfQz">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:113 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 04:15:43 UTC, "updated_at"=>2021-03-26 04:15:43 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:113 | devise-test-suite.update | SUCCEEDED | 0.000s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:15:43 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:114 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:114 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:115 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6')}, "u"=>{"$set"=>{"last_sign_in_at"=>2021-03-26 04:15:43 UTC, "current_sign_in_at"=>2021-03-26 04:15:43 UTC, "last_sign_in_ip"=>"127...
+MONGODB | localhost:27017 req:115 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:116 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6')}, "u"=>{"$set"=>{"unique_session_id"=>"XJHAHTszXtDpmtiVVswS"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200...
+MONGODB | localhost:27017 req:116 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=XJHAHTszXtDpmtiVVswS
+MONGODB | localhost:27017 req:117 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:43 UTC, "updated_at"=>2021-03-26 04:15:43 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:117 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 261ms (ActiveRecord: 0.0ms)
+Started GET "/" for 127.0.0.1 at 2021-03-26 00:15:43 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:118 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:118 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:119 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:43 UTC, "updated_at"=>2021-03-26 04:15:43 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:119 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/users/password_expired
+Filter chain halted as :handle_password_change rendered or redirected
+Completed 302 Found in 6ms (ActiveRecord: 0.0ms)
+Started PUT "/users/password_expired" for 127.0.0.1 at 2021-03-26 00:15:43 -0400
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:120 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:120 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:121 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:43 UTC, "updated_at"=>2021-03-26 04:15:43 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:121 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:122 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:122 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:123 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$rhPYCuUhuMwOC5J.Oz91ZeXqyn/QSMRR5Hwj2LP7X9Z8xVjG9XMQC"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:123 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:124 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5ff0f3a8d0555f849fd7'), "encrypted_password"=>"$2a$12$rhPYCuUhuMwOC5J.Oz91ZeXqyn/QSMRR5Hwj2LP7X9Z8xVjG9XMQC", "password_archivable_id"=>BSON::ObjectId('605d5feff3a8...
+MONGODB | localhost:27017 req:124 | devise-test-suite.insert | SUCCEEDED | 0.178s
+MONGODB | localhost:27017 req:125 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:125 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:126 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$rhPYCuUhuMwOC5J.Oz91ZeXqyn/QSMRR5Hwj2LP7X9Z8xVjG9XMQC"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:126 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:127 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$QSXm0uhxSDnYlD9/PedGRuVEvCmLKsk1VPA7WYwRGp4knau/06P36", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:127 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:128 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6'), "password_archivable_type"=>"User"}, "skip"=>5, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200010...
+MONGODB | localhost:27017 req:128 | devise-test-suite.find | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 2833ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:129 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5feff3a8d0555f849fd6')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:129 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:130 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:130 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:131 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:131 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:132 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:132 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:133 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:133 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:134 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ff3f3a8d0555f849fd8'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:134 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:135 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5ff3f3a8d0555f849fd8'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$J3S0MiAvohUqvUiiqry2D.lt2EbySsnaBUvrAd1p808go3yXnpfGC", "...
+MONGODB | localhost:27017 req:135 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.6ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 59.3ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:15:47 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d5ff3276e9_1555f3fc611436e00744e6@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=stXkbbHWoxazVc2soxMv">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:136 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff3f3a8d0555f849fd8')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 04:15:47 UTC, "updated_at"=>2021-03-26 04:15:47 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:136 | devise-test-suite.update | SUCCEEDED | 0.001s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:15:47 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:137 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:137 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:138 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff3f3a8d0555f849fd8')}, "u"=>{"$set"=>{"last_sign_in_at"=>2021-03-26 04:15:47 UTC, "current_sign_in_at"=>2021-03-26 04:15:47 UTC, "last_sign_in_ip"=>"127...
+MONGODB | localhost:27017 req:138 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:139 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff3f3a8d0555f849fd8')}, "u"=>{"$set"=>{"unique_session_id"=>"YRCaEmaFcqh-JBB2BWt7"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200...
+MONGODB | localhost:27017 req:139 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=YRCaEmaFcqh-JBB2BWt7
+MONGODB | localhost:27017 req:140 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff3f3a8d0555f849fd8')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:47 UTC, "updated_at"=>2021-03-26 04:15:47 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:140 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 258ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:141 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff3f3a8d0555f849fd8')}, "u"=>{"$set"=>{"password_changed_at"=>2021-03-26 04:15:47 UTC, "updated_at"=>2021-03-26 04:15:47 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:141 | devise-test-suite.update | SUCCEEDED | 0.001s
+Started GET "/" for 127.0.0.1 at 2021-03-26 00:15:47 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:142 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5ff3f3a8d0555f849fd8'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:142 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:143 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff3f3a8d0555f849fd8')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:47 UTC, "updated_at"=>2021-03-26 04:15:47 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:143 | devise-test-suite.update | SUCCEEDED | 0.001s
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 9ms (Views: 0.3ms | ActiveRecord: 0.0ms)
+Started GET "/" for 127.0.0.1 at 2021-03-26 00:15:47 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:144 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5ff3f3a8d0555f849fd8'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:144 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:145 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff3f3a8d0555f849fd8')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:47 UTC, "updated_at"=>2021-03-26 04:15:47 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:145 | devise-test-suite.update | SUCCEEDED | 0.001s
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 6ms (Views: 0.3ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:146 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:146 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:147 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:147 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:148 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:148 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:149 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:149 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:150 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:150 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:151 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:151 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:152 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:152 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:153 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:153 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:154 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:154 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:155 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:155 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:156 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:156 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:157 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:157 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:158 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:158 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:159 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ff4f3a8d0555f849fd9'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:159 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:160 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5ff4f3a8d0555f849fd9'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$YiCROmD.cbRHbPe/Pm49A.ZAN75tja6f1H7Dtud9tVEkdHAh/9Llm", "...
+MONGODB | localhost:27017 req:160 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:161 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5ff4f3a8d0555f849fd9'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:161 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:162 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff4f3a8d0555f849fd9')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:48 UTC, "updated_at"=>2021-03-26 04:15:48 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:162 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:163 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ff4f3a8d0555f849fd9'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:163 | devise-test-suite.find | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (1.2ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (9.1ms)
+Completed 200 OK in 1532ms (Views: 35.6ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:164 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:164 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:165 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:165 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:166 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:166 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:167 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:167 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:168 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ff6f3a8d0555f849fda'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:168 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:169 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5ff6f3a8d0555f849fda'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$zfea5DtKz3n1d3U30.NkquB8Nbm/5EVB4pLVbI/z1V0G4.PJ9ITQ6", "...
+MONGODB | localhost:27017 req:169 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:170 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff6f3a8d0555f849fda')}, "u"=>{"$set"=>{"password_changed_at"=>2021-03-26 04:15:50 UTC, "updated_at"=>2021-03-26 04:15:50 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:170 | devise-test-suite.update | SUCCEEDED | 0.001s
+Processing by Devise::PasswordExpiredController#show as HTML
+MONGODB | localhost:27017 req:171 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5ff6f3a8d0555f849fda'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:171 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:172 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff6f3a8d0555f849fda')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:50 UTC, "updated_at"=>2021-03-26 04:15:50 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:172 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 6ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:173 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:173 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:174 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:174 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:175 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:175 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:176 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:176 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:177 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ff7f3a8d0555f849fdb'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:177 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:178 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5ff7f3a8d0555f849fdb'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$ASSC5WzQrf8KtKu5qE3Eo.9bDEmf49TEFtlQTKmKV3JyKlvsE806C", "...
+MONGODB | localhost:27017 req:178 | devise-test-suite.insert | SUCCEEDED | 0.001s
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:179 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:179 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:180 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:180 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:181 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:181 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:182 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:182 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:183 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ff8f3a8d0555f849fdc'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:183 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:184 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5ff8f3a8d0555f849fdc'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$hkLCbfbfnarI2R3/oQviVO.Yxvv1lFhOd44ZomT7xsHtO3rTRIZ/2", "...
+MONGODB | localhost:27017 req:184 | devise-test-suite.insert | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:185 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff8f3a8d0555f849fdc')}, "u"=>{"$set"=>{"password_changed_at"=>2021-03-26 04:15:52 UTC, "updated_at"=>2021-03-26 04:15:52 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:185 | devise-test-suite.update | SUCCEEDED | 0.001s
+Processing by Devise::PasswordExpiredController#update as HTML
+MONGODB | localhost:27017 req:186 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5ff8f3a8d0555f849fdc'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:186 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:187 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff8f3a8d0555f849fdc')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:52 UTC, "updated_at"=>2021-03-26 04:15:52 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:187 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 5ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:188 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:188 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:189 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:189 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:190 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:190 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:191 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:191 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:192 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ff9f3a8d0555f849fdd'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:192 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:193 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5ff9f3a8d0555f849fdd'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$es4925hOZpEa07pV2QCECOBYSSDUnP80vc7IsPNpl3UzMxHaQuVeC", "...
+MONGODB | localhost:27017 req:193 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:194 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:194 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:195 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:195 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:196 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:196 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:197 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:197 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:198 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ff9f3a8d0555f849fde'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:198 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:199 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5ff9f3a8d0555f849fde'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$2.9GIqfNZt1zNLMlKXdDVu6DCf5Qn7NkvEBAFyFllNGJT424s7rG6", "...
+MONGODB | localhost:27017 req:199 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#show as HTML
+MONGODB | localhost:27017 req:200 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5ff9f3a8d0555f849fde'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:200 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:201 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ff9f3a8d0555f849fde')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:53 UTC, "updated_at"=>2021-03-26 04:15:53 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:201 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.2ms)
+Completed 200 OK in 6ms (Views: 1.7ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:202 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:202 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:203 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:203 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:204 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:204 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:205 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:205 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:206 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ffaf3a8d0555f849fdf'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:206 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:207 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5ffaf3a8d0555f849fdf'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$mereyEF/taq37NbMRmmeRuwC2tQH3zzFaRBiJZS3zsssZ4dyxJ2pi", "...
+MONGODB | localhost:27017 req:207 | devise-test-suite.insert | SUCCEEDED | 0.001s
+Processing by Devise::PasswordExpiredController#update as JSON
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:208 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5ffaf3a8d0555f849fdf'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:208 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:209 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ffaf3a8d0555f849fdf')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:54 UTC, "updated_at"=>2021-03-26 04:15:54 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:209 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:210 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ffaf3a8d0555f849fdf'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:210 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:211 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ffaf3a8d0555f849fdf'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$mereyEF/taq37NbMRmmeRuwC2tQH3zzFaRBiJZS3zsssZ4dyxJ2pi"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:211 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:212 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5ffcf3a8d0555f849fe0'), "encrypted_password"=>"$2a$12$mereyEF/taq37NbMRmmeRuwC2tQH3zzFaRBiJZS3zsssZ4dyxJ2pi", "password_archivable_id"=>BSON::ObjectId('605d5ffaf3a8...
+MONGODB | localhost:27017 req:212 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:213 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ffaf3a8d0555f849fdf'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:213 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:214 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ffaf3a8d0555f849fdf'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$mereyEF/taq37NbMRmmeRuwC2tQH3zzFaRBiJZS3zsssZ4dyxJ2pi"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:214 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:215 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ffaf3a8d0555f849fdf')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$SrvzFjR3b1dBHR2wnA9jle6rUsUUlBsCm6mlijkkFLNq38HGMKXVi", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:215 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:216 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ffaf3a8d0555f849fdf'), "password_archivable_type"=>"User"}, "skip"=>5, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200010...
+MONGODB | localhost:27017 req:216 | devise-test-suite.find | SUCCEEDED | 0.000s
+Completed 204 No Content in 2639ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:217 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:217 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:218 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:218 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:219 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:219 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:220 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:220 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:221 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ffef3a8d0555f849fe1'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:221 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:222 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5ffef3a8d0555f849fe1'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$.F0hlg1tHlLv.7fIhtvhAeC5HP2tzc3jj.X61bST8AO0QvjILdjZC", "...
+MONGODB | localhost:27017 req:222 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#update as XML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:223 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d5ffef3a8d0555f849fe1'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:223 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:224 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ffef3a8d0555f849fe1')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:15:58 UTC, "updated_at"=>2021-03-26 04:15:58 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:224 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:225 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ffef3a8d0555f849fe1'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:225 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:226 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ffef3a8d0555f849fe1'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$.F0hlg1tHlLv.7fIhtvhAeC5HP2tzc3jj.X61bST8AO0QvjILdjZC"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:226 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:227 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d5ffff3a8d0555f849fe2'), "encrypted_password"=>"$2a$12$.F0hlg1tHlLv.7fIhtvhAeC5HP2tzc3jj.X61bST8AO0QvjILdjZC", "password_archivable_id"=>BSON::ObjectId('605d5ffef3a8...
+MONGODB | localhost:27017 req:227 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:228 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ffef3a8d0555f849fe1'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:228 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:229 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ffef3a8d0555f849fe1'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$.F0hlg1tHlLv.7fIhtvhAeC5HP2tzc3jj.X61bST8AO0QvjILdjZC"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:229 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:230 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d5ffef3a8d0555f849fe1')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$GTICh4bqfWsrKg65nlsc3e3HiO7bKDv2qiVz.p1E8b0kWGP7nDOkO", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:230 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:231 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d5ffef3a8d0555f849fe1'), "password_archivable_type"=>"User"}, "skip"=>5, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200010...
+MONGODB | localhost:27017 req:231 | devise-test-suite.find | SUCCEEDED | 0.001s
+Completed 204 No Content in 2712ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:232 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:232 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:233 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:233 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:234 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:234 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:235 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:235 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:236 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6001f3a8d0555f849fe3'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:236 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:237 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6001f3a8d0555f849fe3'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$ZXKGrVmFSnSyJjt2g18X7ul1qIto9OeBJygGkI7UVTU/FcQ/eyvri", "...
+MONGODB | localhost:27017 req:237 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:238 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d6001f3a8d0555f849fe3'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:238 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:239 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6001f3a8d0555f849fe3')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:16:01 UTC, "updated_at"=>2021-03-26 04:16:01 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:239 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:240 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6001f3a8d0555f849fe3'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:240 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:241 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6001f3a8d0555f849fe3'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$ZXKGrVmFSnSyJjt2g18X7ul1qIto9OeBJygGkI7UVTU/FcQ/eyvri"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:241 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:242 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6003f3a8d0555f849fe4'), "encrypted_password"=>"$2a$12$ZXKGrVmFSnSyJjt2g18X7ul1qIto9OeBJygGkI7UVTU/FcQ/eyvri", "password_archivable_id"=>BSON::ObjectId('605d6001f3a8...
+MONGODB | localhost:27017 req:242 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:243 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6001f3a8d0555f849fe3'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:243 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:244 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6001f3a8d0555f849fe3'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$ZXKGrVmFSnSyJjt2g18X7ul1qIto9OeBJygGkI7UVTU/FcQ/eyvri"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:244 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:245 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6001f3a8d0555f849fe3')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$/bvLZYiRvZMcgClPPK7rFu2jDExOkq7Hw7sRYmSf/W8k5PB0sZVKu", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:245 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:246 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6001f3a8d0555f849fe3'), "password_archivable_type"=>"User"}, "skip"=>5, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200010...
+MONGODB | localhost:27017 req:246 | devise-test-suite.find | SUCCEEDED | 0.000s
+Redirected to http://test.host/
+Completed 302 Found in 2617ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:247 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:247 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:248 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:248 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:249 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:249 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ [1m[35m (0.1ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:250 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"users", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6004f3a8d0555f849fe5'), "_type"=>"SecurityQuestionUser", "email"=>"hello@microsoft.com", "encrypted_password"=>"$2a$12$F4MU83yMTsTombFmiMhpF.U9QvKCf4n2emfTMR78OY3nMTl1T/Ic....
+MONGODB | localhost:27017 req:250 | devise-test-suite.insert | SUCCEEDED | 0.144s
+MONGODB | localhost:27017 req:251 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"unlock_token"=>"a14b71dd7d7a862942a0703d5a2855cc1d7c88b5a3cc8c33ea4304da9b2dd098", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::B...
+MONGODB | localhost:27017 req:251 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:252 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"users", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6004f3a8d0555f849fe5')}, "u"=>{"$set"=>{"locked_at"=>2021-03-26 04:16:04 UTC, "unlock_token"=>"a14b71dd7d7a862942a0703d5a2855cc1d7c88b5a3cc8c33ea4304da9b2dd098", "updat...
+MONGODB | localhost:27017 req:252 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.7ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 64.8ms
+Sent mail to hello@microsoft.com (1.7ms)
+Date: Fri, 26 Mar 2021 00:16:04 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6004c3808_1555f3fc611436e00745e5@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=u8UYmt5tS4Vek7zdfzxb">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+MONGODB | localhost:27017 req:253 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"hello@microsoft.com", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e...
+MONGODB | localhost:27017 req:253 | devise-test-suite.find | SUCCEEDED | 0.001s
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 21ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:254 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:254 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:255 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:255 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:256 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:256 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:257 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:257 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:258 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"users", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6005f3a8d0555f849fe6'), "_type"=>"SecurityQuestionUser", "email"=>"hello@microsoft.com", "encrypted_password"=>"$2a$12$cuQOwxMC3tkhs0Z0029PoOfwOlmKLDsjVJpgtkbm10e6ZehYraK3q...
+MONGODB | localhost:27017 req:258 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:259 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"unlock_token"=>"cd7210544f3d2e71423cee426244dbd4fdaea1a81dfcf0a8d5751e923430ca12", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::B...
+MONGODB | localhost:27017 req:259 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:260 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"users", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6005f3a8d0555f849fe6')}, "u"=>{"$set"=>{"locked_at"=>2021-03-26 04:16:05 UTC, "unlock_token"=>"cd7210544f3d2e71423cee426244dbd4fdaea1a81dfcf0a8d5751e923430ca12", "updat...
+MONGODB | localhost:27017 req:260 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.3ms
+Sent mail to hello@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:16:05 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d600513b54_1555f3fc611436e0074619@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=Q6u_1MDvxW1qMBemYSot">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+MONGODB | localhost:27017 req:261 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"hello@microsoft.com", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e...
+MONGODB | localhost:27017 req:261 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:262 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"hello@microsoft.com", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e...
+MONGODB | localhost:27017 req:262 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:263 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"unlock_token"=>"8d737eba8a313dbe96c7c6e6dac428c390115832874e8a6363b74d156ee90772", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::B...
+MONGODB | localhost:27017 req:263 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:264 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"users", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6005f3a8d0555f849fe6')}, "u"=>{"$set"=>{"unlock_token"=>"8d737eba8a313dbe96c7c6e6dac428c390115832874e8a6363b74d156ee90772", "updated_at"=>2021-03-26 04:16:05 UTC}}}], "...
+MONGODB | localhost:27017 req:264 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.4ms
+Sent mail to hello@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:16:05 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d600516b1d_1555f3fc611436e007476a@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=dMkL5ZQQxW6HtVpBBsya">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 12ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:265 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:265 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:266 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:266 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:267 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:267 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:268 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:268 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.1ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:269 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"test@example.org", "_type"=>"SecureUser"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:269 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:270 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"users", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6005f3a8d0555f849fe7'), "_type"=>"SecureUser", "email"=>"test@example.org", "encrypted_password"=>"$2a$12$.OV8KoDVbeaBByYyQ1nkS.seqfdd/rb/GZkSQ1aEv3BdljM.iFMpq", "updated_a...
+MONGODB | localhost:27017 req:270 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:271 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"test@example.org", "_type"=>"SecureUser"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:271 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:272 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:272 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:273 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:273 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:274 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:274 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:275 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:275 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:276 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:276 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:277 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6006f3a8d0555f849fe8'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:277 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:278 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:278 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:279 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6006f3a8d0555f849fe8'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:279 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:280 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:280 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:281 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6006f3a8d0555f849fe8'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:281 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:282 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:282 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:283 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:283 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:284 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:284 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:285 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:285 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:286 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}...
+MONGODB | localhost:27017 req:286 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:287 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6007f3a8d0555f849fe9'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:287 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:288 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}...
+MONGODB | localhost:27017 req:288 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:289 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6007f3a8d0555f849fe9'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:289 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:290 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}...
+MONGODB | localhost:27017 req:290 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:291 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6007f3a8d0555f849fe9'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:291 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:292 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:292 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:293 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:293 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:294 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:294 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:295 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:295 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:296 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:296 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:297 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6008f3a8d0555f849fea'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:297 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:298 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6008f3a8d0555f849fea'), "_type"=>"TestSecureValidatable::User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$CM.P0MkgGOZT14HR40CoXOKdRPNWvK8CB5...
+MONGODB | localhost:27017 req:298 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:299 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6008f3a8d0555f849fea'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:299 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:300 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6008f3a8d0555f849fea'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:300 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:301 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:301 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:302 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:302 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:303 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:303 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:304 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:304 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:305 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:305 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:306 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d600bf3a8d0555f849feb'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:306 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:307 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:307 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:308 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d600bf3a8d0555f849feb'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:308 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:309 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:309 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:310 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d600bf3a8d0555f849feb'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:310 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:311 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:311 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:312 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:312 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:313 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:313 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:314 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:314 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:315 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:315 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:316 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d600df3a8d0555f849fec'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:316 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:317 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d600df3a8d0555f849fec'), "_type"=>"TestSecureValidatable::User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$JgzcEa6wq8q5NjuO8hXcPOgtZv8IKBSxkh...
+MONGODB | localhost:27017 req:317 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:318 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d600df3a8d0555f849fec'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:318 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:319 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d600df3a8d0555f849fec'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:319 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:320 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:320 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:321 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:321 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:322 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:322 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:323 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:323 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:324 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:324 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:325 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6010f3a8d0555f849fed'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:325 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:326 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:326 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:327 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6010f3a8d0555f849fed'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:327 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:328 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:328 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:329 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6010f3a8d0555f849fed'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:329 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:330 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:330 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:331 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:331 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:332 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:332 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:333 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:333 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:334 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:334 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:335 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6011f3a8d0555f849fee'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:335 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:336 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6011f3a8d0555f849fee'), "_type"=>"TestSecureValidatable::User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$B6zMQ5C8v7UOOSM2f5Q7Cu8ztt9Kq8SkCY...
+MONGODB | localhost:27017 req:336 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:337 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6011f3a8d0555f849fee'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:337 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:338 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6011f3a8d0555f849fee'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:338 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:339 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:339 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:340 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:340 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:341 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:341 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:342 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:342 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:343 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:343 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:344 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6014f3a8d0555f849fef'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:344 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:345 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:345 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:346 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6014f3a8d0555f849fef'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:346 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:347 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:347 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:348 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6014f3a8d0555f849fef'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:348 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:349 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:349 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:350 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:350 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:351 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:351 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:352 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:352 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:353 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:353 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:354 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6016f3a8d0555f849ff0'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:354 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:355 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6016f3a8d0555f849ff0'), "_type"=>"TestSecureValidatable::User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$NfmdqOPw122JihUbuY6A0.zjTC2Eg0TVct...
+MONGODB | localhost:27017 req:355 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:356 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6016f3a8d0555f849ff0'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:356 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:357 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6016f3a8d0555f849ff0'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:357 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:358 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:358 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:359 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:359 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:360 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:360 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:361 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:361 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:362 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:362 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:363 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6019f3a8d0555f849ff1'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:363 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:364 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:364 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:365 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6019f3a8d0555f849ff1'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:365 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:366 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:366 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:367 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6019f3a8d0555f849ff1'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:367 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:368 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:368 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:369 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:369 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:370 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:370 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:371 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:371 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:372 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:372 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:373 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d601bf3a8d0555f849ff2'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:373 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:374 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:374 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:375 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d601bf3a8d0555f849ff2'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:375 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:376 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:376 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:377 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d601bf3a8d0555f849ff2'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:377 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:378 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:378 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:379 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:379 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:380 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:380 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:381 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:381 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:382 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:382 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:383 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d601cf3a8d0555f849ff3'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:383 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:384 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:384 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:385 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d601cf3a8d0555f849ff3'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:385 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:386 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:386 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:387 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d601cf3a8d0555f849ff3'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:387 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:388 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:388 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:389 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:389 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:390 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:390 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:391 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:391 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:392 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:392 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:393 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d601ef3a8d0555f849ff4'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:393 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:394 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:394 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:395 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d601ef3a8d0555f849ff4'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:395 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:396 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:396 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:397 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d601ef3a8d0555f849ff4'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:397 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:398 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:398 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:399 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:399 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:400 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:400 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:401 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:401 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:402 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:402 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:403 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6020f3a8d0555f849ff5'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:403 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:404 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:404 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:405 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6020f3a8d0555f849ff5'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:405 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:406 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c...
+MONGODB | localhost:27017 req:406 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:407 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6020f3a8d0555f849ff5'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:407 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:408 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:408 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:409 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:409 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:410 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:410 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:411 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:411 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:412 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@@foo.tv", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42...
+MONGODB | localhost:27017 req:412 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:413 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6021f3a8d0555f849ff6'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:413 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:414 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@@foo.tv", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42...
+MONGODB | localhost:27017 req:414 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:415 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6021f3a8d0555f849ff6'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:415 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:416 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@@foo.tv", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42...
+MONGODB | localhost:27017 req:416 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:417 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6021f3a8d0555f849ff6'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:417 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:418 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:418 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:419 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:419 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:420 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:420 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:421 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:421 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 10ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:422 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:422 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:423 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:423 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:424 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:424 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:425 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:425 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:426 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"wrong@email.com", "_type"=>"CaptchaUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:426 | devise-test-suite.find | SUCCEEDED | 0.000s
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.0ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.8ms)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (7.3ms)
+Completed 200 OK in 263ms (Views: 23.2ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:427 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:427 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:428 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:428 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:429 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:429 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:430 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:430 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mcommit transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+MONGODB | localhost:27017 req:431 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:431 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:432 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:432 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:433 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:433 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:434 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:434 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mcommit transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+MONGODB | localhost:27017 req:435 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:435 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:436 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:436 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:437 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:437 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:438 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:438 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mcommit transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+MONGODB | localhost:27017 req:439 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:439 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:440 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:440 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:441 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:441 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:442 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:442 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mcommit transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+MONGODB | localhost:27017 req:443 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:443 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:444 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:444 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:445 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:445 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:446 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:446 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mcommit transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+MONGODB | localhost:27017 req:447 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:447 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:448 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:448 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:449 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:449 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:450 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:450 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mcommit transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+MONGODB | localhost:27017 req:451 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:451 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:452 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:452 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:453 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:453 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:454 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:454 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mcommit transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+MONGODB | localhost:27017 req:455 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:455 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:456 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:456 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:457 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:457 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:458 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:458 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mcommit transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+MONGODB | localhost:27017 req:459 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:459 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:460 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:460 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:461 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:461 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:462 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:462 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mcommit transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+MONGODB | localhost:27017 req:463 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:463 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:464 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:464 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:465 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:465 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:466 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:466 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:467 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:467 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:468 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff7'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:468 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:469 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"unlock_token"=>"26865e1c667a65fcc890205a283b8b69d8ca84f4d07d1e90c2b00e50c9d4d31d", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1,...
+MONGODB | localhost:27017 req:469 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:470 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff7'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$bv1WOClww1EaiitYOLP1buFmapwpLkoCm8p0GTquOYk4ENkzM/BMK", "...
+MONGODB | localhost:27017 req:470 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.6ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 55.6ms
+Sent mail to hello@path.travel (1.6ms)
+Date: Fri, 26 Mar 2021 00:16:36 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d60241863f_1555f3fc611436e007487f@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=bUfj3tZMZzEjgV5pfhRB">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.3ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.2ms
+Sent mail to hello@path.travel (1.5ms)
+Date: Fri, 26 Mar 2021 00:16:36 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d602419242_1555f3fc611436e00749aa@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=ksyXBvCk2Bzf1x_jtJ8d">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+MONGODB | localhost:27017 req:471 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:471 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:472 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"unlock_token"=>"3e48c334aac9e009a514c6f98ace0a92f3e76bd680ec0c7945ae8a2e4a13453a", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1,...
+MONGODB | localhost:27017 req:472 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:473 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff7')}, "u"=>{"$set"=>{"unlock_token"=>"3e48c334aac9e009a514c6f98ace0a92f3e76bd680ec0c7945ae8a2e4a13453a", "updated_at"=>2021-03-26 04:16...
+MONGODB | localhost:27017 req:473 | devise-test-suite.update | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.3ms
+Sent mail to hello@path.travel (1.6ms)
+Date: Fri, 26 Mar 2021 00:16:36 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d60241bf20_1555f3fc611436e0075025@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=ex9PDKNmt7tXVYZbTdG2">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 11ms (ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:474 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:474 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:475 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:475 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:476 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:476 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:477 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:477 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:478 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:478 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:479 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:479 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:480 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$Gpvqmh5qUDwqBFXGXnI83./CCbNF/PLKusvyS.QwWowo8pU.5N6aW", "...
+MONGODB | localhost:27017 req:480 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 00:16:36 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d6024d2ea4_1555f3fc611436e0075130@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=F6L8xCZHqfVQyrbmphXv">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:481 conn:1:1 sconn:3 | devise-test-suite.count | STARTED | {"count"=>"old_passwords", "query"=>{}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:481 | devise-test-suite.count | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:482 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:482 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:483 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$Gpvqmh5qUDwqBFXGXnI83./CCbNF/PLKusvyS.QwWowo8pU.5N6aW"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:483 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:484 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6026f3a8d0555f849ff9'), "encrypted_password"=>"$2a$12$Gpvqmh5qUDwqBFXGXnI83./CCbNF/PLKusvyS.QwWowo8pU.5N6aW", "password_archivable_id"=>BSON::ObjectId('605d6024f3a8...
+MONGODB | localhost:27017 req:484 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:485 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:485 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:486 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$Gpvqmh5qUDwqBFXGXnI83./CCbNF/PLKusvyS.QwWowo8pU.5N6aW"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:486 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:487 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$FOnPzB3SU9nUo/uktIUjMeyIp2vpCxxXEDKL7eOhCW1HStK8TDx06", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:487 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:488 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200010...
+MONGODB | localhost:27017 req:488 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:489 conn:1:1 sconn:3 | devise-test-suite.count | STARTED | {"count"=>"old_passwords", "query"=>{}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:489 | devise-test-suite.count | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:490 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:490 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:491 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:491 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:492 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$FOnPzB3SU9nUo/uktIUjMeyIp2vpCxxXEDKL7eOhCW1HStK8TDx06"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:492 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:493 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6029f3a8d0555f849ffa'), "encrypted_password"=>"$2a$12$FOnPzB3SU9nUo/uktIUjMeyIp2vpCxxXEDKL7eOhCW1HStK8TDx06", "password_archivable_id"=>BSON::ObjectId('605d6024f3a8...
+MONGODB | localhost:27017 req:493 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:494 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:494 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:495 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$FOnPzB3SU9nUo/uktIUjMeyIp2vpCxxXEDKL7eOhCW1HStK8TDx06"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:495 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:496 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$rfKTv4M4k31sp1mnARBgeeB6Y3jo7X5J2qcBN6xbpe0w.nI88en0.", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:496 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:497 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200010...
+MONGODB | localhost:27017 req:497 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:498 conn:1:1 sconn:3 | devise-test-suite.count | STARTED | {"count"=>"old_passwords", "query"=>{}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:498 | devise-test-suite.count | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:499 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:499 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:500 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$rfKTv4M4k31sp1mnARBgeeB6Y3jo7X5J2qcBN6xbpe0w.nI88en0."}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:500 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:501 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d602cf3a8d0555f849ffb'), "encrypted_password"=>"$2a$12$rfKTv4M4k31sp1mnARBgeeB6Y3jo7X5J2qcBN6xbpe0w.nI88en0.", "password_archivable_id"=>BSON::ObjectId('605d6024f3a8...
+MONGODB | localhost:27017 req:501 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:502 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:502 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:503 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$rfKTv4M4k31sp1mnARBgeeB6Y3jo7X5J2qcBN6xbpe0w.nI88en0."}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:503 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:504 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$5t/bGOazMYHCWtuomBI3SOBPKl5XhVxTtV3XDA2BVWfzdl8qaN5d2", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:504 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:505 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200010...
+MONGODB | localhost:27017 req:505 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:506 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6026f3a8d0555f849ff9')}, "limit"=>1}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:506 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:507 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:507 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:508 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$5t/bGOazMYHCWtuomBI3SOBPKl5XhVxTtV3XDA2BVWfzdl8qaN5d2"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:508 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:509 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6030f3a8d0555f849ffc'), "encrypted_password"=>"$2a$12$5t/bGOazMYHCWtuomBI3SOBPKl5XhVxTtV3XDA2BVWfzdl8qaN5d2", "password_archivable_id"=>BSON::ObjectId('605d6024f3a8...
+MONGODB | localhost:27017 req:509 | devise-test-suite.insert | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:510 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:510 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:511 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$5t/bGOazMYHCWtuomBI3SOBPKl5XhVxTtV3XDA2BVWfzdl8qaN5d2"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:511 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:512 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$XlE4R.TVCmRYYfFq9wLmP.bf/NTVFMpURNA7IUan93wvQ5Nxr7Nwe", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:512 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:513 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200010...
+MONGODB | localhost:27017 req:513 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:514 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6029f3a8d0555f849ffa')}, "limit"=>1}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:514 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:515 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:515 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:516 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$XlE4R.TVCmRYYfFq9wLmP.bf/NTVFMpURNA7IUan93wvQ5Nxr7Nwe"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:516 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:517 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6033f3a8d0555f849ffd'), "encrypted_password"=>"$2a$12$XlE4R.TVCmRYYfFq9wLmP.bf/NTVFMpURNA7IUan93wvQ5Nxr7Nwe", "password_archivable_id"=>BSON::ObjectId('605d6024f3a8...
+MONGODB | localhost:27017 req:517 | devise-test-suite.insert | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:518 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:518 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:519 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$XlE4R.TVCmRYYfFq9wLmP.bf/NTVFMpURNA7IUan93wvQ5Nxr7Nwe"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:519 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:520 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$iZPhqixeE8Ld0K.nwguk5O2QuPh1FwFH0NJnOUIBnGvz9KYotcnzW", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:520 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:521 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6024f3a8d0555f849ff8'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200010...
+MONGODB | localhost:27017 req:521 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:522 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{"_id"=>BSON::ObjectId('605d602cf3a8d0555f849ffb')}, "limit"=>1}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:522 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:523 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:523 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:524 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:524 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:525 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:525 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:526 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:526 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:527 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:527 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:528 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6035f3a8d0555f849ffe'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:528 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:529 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6035f3a8d0555f849ffe'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$2n/9An0wzYJP.HK4cTkTCewgsHFufULngA8ol1WGRkAaszFWeHdUe", "...
+MONGODB | localhost:27017 req:529 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.5ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 00:16:53 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d6035c7456_1555f3fc611436e0075211@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=iFrUmxnp2b77xdWQKeUp">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:530 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6035f3a8d0555f849ffe'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:530 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:531 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:531 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:532 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:532 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:533 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:533 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:534 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:534 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:535 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:535 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:536 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6037f3a8d0555f849fff'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:536 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:537 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6037f3a8d0555f849fff'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$FQ.w/UXr79HVsGNcIMLMxOy2k8poXryj9WccgRpEkZfGp0BV33svC", "...
+MONGODB | localhost:27017 req:537 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 26 Mar 2021 00:16:55 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d603790f51_1555f3fc611436e0075384@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=qCixCMXtpHA2NELxeyYH">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:538 conn:1:1 sconn:3 | devise-test-suite.count | STARTED | {"count"=>"old_passwords", "query"=>{}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:538 | devise-test-suite.count | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:539 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:539 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:540 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:540 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:541 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:541 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:542 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:542 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:543 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:543 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:544 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6038f3a8d0555f84a000'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:544 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:545 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6038f3a8d0555f84a000'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$Mdop9hYYsp.2fW2upcINduioIY6frIOvFzqfdq7DkJAISd/icY0g2", "...
+MONGODB | localhost:27017 req:545 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 00:16:56 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d60383a65e_1555f3fc611436e0075499@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=4HdXzytZe9UycQ6HorGM">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:546 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:546 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:547 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:547 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:548 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:548 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:549 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:549 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:550 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:550 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:551 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6038f3a8d0555f84a002'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:551 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:552 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6038f3a8d0555f84a001'), "_type"=>"Widget", "user_id"=>BSON::ObjectId('605d6038f3a8d0555f84a002')}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0...
+MONGODB | localhost:27017 req:552 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:553 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:553 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:554 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6038f3a8d0555f84a002'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:554 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:555 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6038f3a8d0555f84a002'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$bZEzMh62CyTrG./IDjRGYOQxzvYEFWp8P0ZEvhnFSrJs/WxUKaGN2", "...
+MONGODB | localhost:27017 req:555 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 00:16:57 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d60394de14_1555f3fc611436e0075540@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=VSdaddZQxzitTUpyDc-z">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:556 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:556 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:557 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:557 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:558 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:558 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:559 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:559 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:560 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:560 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:561 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d603af3a8d0555f84a003'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:561 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:562 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d603af3a8d0555f84a003'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$V8yDarXrrxX/SgpOSXduzO1OmOX9V5uirfxcbzrGa4TpahOH7NWnC", "...
+MONGODB | localhost:27017 req:562 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 26 Mar 2021 00:16:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d603a34a68_1555f3fc611436e007563e@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=yjeag5XeNuAAeBc6_xYg">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:563 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:563 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:564 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:564 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:565 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:565 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:566 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:566 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:567 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:567 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:568 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d603af3a8d0555f84a004'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:568 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:569 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d603af3a8d0555f84a004'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$PPdCQvI2TXZ08Lk5rGt9m.x61oy.8s2fvAEAKMHaPfa78.ZUus.wy", "...
+MONGODB | localhost:27017 req:569 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 26 Mar 2021 00:16:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d603ad4534_1555f3fc611436e0075765@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=D4Fd6VzYiqMhKRZYQ9Fu">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:570 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d603af3a8d0555f84a004')}, "u"=>{"$set"=>{"password_changed_at"=>nil, "updated_at"=>2021-03-26 04:16:58 UTC}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=>...
+MONGODB | localhost:27017 req:570 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:571 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:571 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:572 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:572 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:573 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:573 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:574 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:574 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:575 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:575 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:576 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d603bf3a8d0555f84a005'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:576 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:577 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d603bf3a8d0555f84a005'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$dxuZ5PSPVTjVegwdohw8VeGNSwTFZAxKkrxvpNf4ZxCpKtlfDBGL2", "...
+MONGODB | localhost:27017 req:577 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 26 Mar 2021 00:16:59 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d603b79f02_1555f3fc611436e0075840@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=wyHWsTDGdJBPMxfMRDEg">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:578 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d603bf3a8d0555f84a005')}, "u"=>{"$set"=>{"password_changed_at"=>2020-12-26 05:16:59 UTC, "updated_at"=>2021-03-26 04:16:59 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:578 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:579 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:579 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:580 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:580 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:581 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:581 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:582 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:582 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:583 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:583 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:584 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d603cf3a8d0555f84a006'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:584 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:585 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d603cf3a8d0555f84a006'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$loh.QAVKtCE1D1RtLgVjHe9uv1zbDO7CLZ1/7dQgeA.Cxc0CD/PTm", "...
+MONGODB | localhost:27017 req:585 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 00:17:00 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d603c26316_1555f3fc611436e0075981@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Fq4y_36huX7JXPv6EZZw">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:586 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:586 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:587 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:587 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:588 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:588 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:589 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:589 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:590 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:590 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:591 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d603cf3a8d0555f84a007'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:591 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:592 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d603cf3a8d0555f84a007'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$NBvoA/4.5RyQQbDOK8YT1.vfxt876G.2.8uDb/YaJIgUSsyGsC2q6", "...
+MONGODB | localhost:27017 req:592 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 26 Mar 2021 00:17:00 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d603cbdf2d_1555f3fc611436e0076011@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=WLDnGw5Tu8b5EZpJCRvq">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:593 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d603cf3a8d0555f84a007'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:593 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:594 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d603cf3a8d0555f84a007'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$NBvoA/4.5RyQQbDOK8YT1.vfxt876G.2.8uDb/YaJIgUSsyGsC2q6"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:594 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:595 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d603df3a8d0555f84a008'), "encrypted_password"=>"$2a$12$NBvoA/4.5RyQQbDOK8YT1.vfxt876G.2.8uDb/YaJIgUSsyGsC2q6", "password_archivable_id"=>BSON::ObjectId('605d603cf3a8...
+MONGODB | localhost:27017 req:595 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:596 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d603cf3a8d0555f84a007'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:596 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:597 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d603cf3a8d0555f84a007'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$NBvoA/4.5RyQQbDOK8YT1.vfxt876G.2.8uDb/YaJIgUSsyGsC2q6"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:597 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:598 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d603cf3a8d0555f84a007')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$TlkEhIz.RHVCbRMLoId47.0TOeFY/pv48eJagvk4A8T9r2nhRCLUW", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:598 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:599 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d603cf3a8d0555f84a007'), "password_archivable_type"=>"User"}, "skip"=>1, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200010...
+MONGODB | localhost:27017 req:599 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:600 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d603cf3a8d0555f84a007'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:600 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:601 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d603cf3a8d0555f84a007'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:601 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:602 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:602 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:603 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:603 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:604 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:604 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:605 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:605 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+ [1m[35m (0.1ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:606 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:606 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:607 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6041f3a8d0555f84a009'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:607 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:608 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6041f3a8d0555f84a009'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$glEsckvYmG9VQRgYkU0qkeL5ue7BT1c5Cl0XfuxQLP2AzXqSf7W8G", "...
+MONGODB | localhost:27017 req:608 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 26 Mar 2021 00:17:05 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d60419ba34_1555f3fc611436e00761e3@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=XN9S4-STasgRbryys7v6">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:609 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6041f3a8d0555f84a009')}, "u"=>{"$set"=>{"password_changed_at"=>nil, "updated_at"=>2021-03-26 04:17:05 UTC}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=>...
+MONGODB | localhost:27017 req:609 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:610 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:610 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:611 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:611 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:612 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:612 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:613 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:613 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+MONGODB | localhost:27017 req:614 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:614 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:615 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6042f3a8d0555f84a00a'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:615 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:616 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6042f3a8d0555f84a00a'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$FFalRB1JbPo9eZwqZli11e89tH0Sfgx1lC1MK2/jgFuTGt6w8hkee", "...
+MONGODB | localhost:27017 req:616 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.1ms)
+Date: Fri, 26 Mar 2021 00:17:06 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d60424d154_1555f3fc611436e0076292@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=dwhX_4xfqasBhyfGhiFE">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:617 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6042f3a8d0555f84a00a')}, "u"=>{"$set"=>{"password_changed_at"=>2020-12-26 05:17:06 UTC, "updated_at"=>2021-03-26 04:17:06 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:617 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:618 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6042f3a8d0555f84a00a')}, "u"=>{"$set"=>{"password_changed_at"=>nil, "updated_at"=>2021-03-26 04:17:06 UTC}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=>...
+MONGODB | localhost:27017 req:618 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:619 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6042f3a8d0555f84a00a'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:619 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:620 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6042f3a8d0555f84a00a'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$FFalRB1JbPo9eZwqZli11e89tH0Sfgx1lC1MK2/jgFuTGt6w8hkee"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:620 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:621 conn:1:1 sconn:3 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6043f3a8d0555f84a00b'), "encrypted_password"=>"$2a$12$FFalRB1JbPo9eZwqZli11e89tH0Sfgx1lC1MK2/jgFuTGt6w8hkee", "password_archivable_id"=>BSON::ObjectId('605d6042f3a8...
+MONGODB | localhost:27017 req:621 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:622 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6042f3a8d0555f84a00a'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:622 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:623 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6042f3a8d0555f84a00a'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$FFalRB1JbPo9eZwqZli11e89tH0Sfgx1lC1MK2/jgFuTGt6w8hkee"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:623 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:624 conn:1:1 sconn:3 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6042f3a8d0555f84a00a')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$DrNAHr1y6G4XyMkotXOyWuV7PDyIbX9qK1g.J3zQoN2eqenXsuquy", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:624 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:625 conn:1:1 sconn:3 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6042f3a8d0555f84a00a'), "password_archivable_type"=>"User"}, "skip"=>1, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701200010...
+MONGODB | localhost:27017 req:625 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:626 conn:1:1 sconn:3 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:626 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:627 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:627 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:628 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:628 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:629 conn:1:1 sconn:3 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}}
+MONGODB | localhost:27017 req:629 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+MONGODB | localhost:27017 req:631 conn:1:2 sconn:4 | admin.endSessions | STARTED | {"endSessions"=>[{"id"=><BSON::Binary:0x70120001065140 type=uuid data=0x88dc018c5a9e42e5...>}], "$db"=>"admin"}
+MONGODB | localhost:27017 req:631 | admin.endSessions | SUCCEEDED | 0.000s
+Overwriting existing field password_archivable_type in class OldPassword.
+Overwriting existing field username in class User.
+Overwriting existing field email in class User.
+Overwriting existing field encrypted_password in class User.
+Overwriting existing field password_changed_at in class User.
+Overwriting existing field expired_at in class User.
+Overwriting existing field last_activity_at in class User.
+Overwriting existing field locked_at in class User.
+Overwriting existing field unlock_token in class User.
+Overwriting existing field locked_at in class SecurityQuestionUser.
+Overwriting existing field unlock_token in class SecurityQuestionUser.
+Overwriting existing field security_question_answer in class SecurityQuestionUser.
+Overwriting existing field password_archivable_type in class OldPassword.
+Overwriting existing field username in class User.
+Overwriting existing field email in class User.
+Overwriting existing field encrypted_password in class User.
+Overwriting existing field password_changed_at in class User.
+Overwriting existing field expired_at in class User.
+Overwriting existing field last_activity_at in class User.
+Overwriting existing field locked_at in class User.
+Overwriting existing field unlock_token in class User.
+Overwriting existing field locked_at in class SecurityQuestionUser.
+Overwriting existing field unlock_token in class SecurityQuestionUser.
+Overwriting existing field security_question_answer in class SecurityQuestionUser.
+ MOPED: 127.0.0.1:27017 COMMAND database=admin command={:ismaster=>1} runtime: 4.2150ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={"buildinfo"=>1} runtime: 0.4920ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.8340ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5890ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5730ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4700ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2720ms
+ [1m[36m (0.1ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6420ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4490ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3530ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3760ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2970ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.4520ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3760ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3760ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3280ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2320ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4230ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61e7f3a8d055e2000000'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5160ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61e7f3a8d055e2000000'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$XydgtPp4y6gMhv0EK2qrnOWbdMq9yzvBJwnjhVFPcJ/mmSx9i3FcO", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "username"=>"hello", "password_changed_at"=>2020-11-26 04:24:06 UTC, "confirmed_at"=>2020-10-26 04:24:06 UTC, "updated_at"=>2021-03-26 04:24:07 UTC, "created_at"=>2021-03-26 04:24:07 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5460ms
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"_id"=>BSON::ObjectId('605d61e7f3a8d055e2000000'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.7700ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61e7f3a8d055e2000000')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:07 UTC, "updated_at"=>2021-03-26 04:24:07 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6170ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61e7f3a8d055e2000000'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5420ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (1.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (20.8ms)
+Completed 200 OK in 1326ms (Views: 32.1ms | ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6020ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3820ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3550ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3940ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2560ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5690ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61e9f3a8d055e2000001'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5160ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61e9f3a8d055e2000001'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$BbCXjJA0co/xbCjqazDzM.1jULowHLS16HRxe.YfrF7VYAne/leC.", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "username"=>"hello", "password_changed_at"=>2020-11-26 04:24:08 UTC, "confirmed_at"=>2020-10-26 04:24:08 UTC, "updated_at"=>2021-03-26 04:24:09 UTC, "created_at"=>2021-03-26 04:24:09 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5580ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61e9f3a8d055e2000001')} update={"$set"=>{"password_changed_at"=>2021-03-26 04:24:09 UTC, "updated_at"=>2021-03-26 04:24:09 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.7540ms
+Processing by Devise::PasswordExpiredController#show as HTML
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"_id"=>BSON::ObjectId('605d61e9f3a8d055e2000001'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.6250ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61e9f3a8d055e2000001')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:09 UTC, "updated_at"=>2021-03-26 04:24:09 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6200ms
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 3ms (ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5640ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4020ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3680ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4210ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3190ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4270ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61e9f3a8d055e2000002'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.4810ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61e9f3a8d055e2000002'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$SIfqwqyzTJ9kOmQGi9BB0.oXRg/bLQ.t8IpYYnfufD3Fod7AXlUbm", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "username"=>"hello", "password_changed_at"=>2020-11-26 04:24:09 UTC, "confirmed_at"=>2020-10-26 04:24:09 UTC, "updated_at"=>2021-03-26 04:24:09 UTC, "created_at"=>2021-03-26 04:24:09 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3680ms
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 5ms (ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6800ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3920ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3520ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3820ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3130ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.3910ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61eaf3a8d055e2000003'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5110ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61eaf3a8d055e2000003'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$9yPezq/ihXvxD1MJUxDN3ux.lnNR3Pm/ipVjf8zibJh5AcCmuQSAa", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "username"=>"hello", "password_changed_at"=>2020-11-26 04:24:09 UTC, "confirmed_at"=>2020-10-26 04:24:09 UTC, "updated_at"=>2021-03-26 04:24:10 UTC, "created_at"=>2021-03-26 04:24:10 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4400ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61eaf3a8d055e2000003')} update={"$set"=>{"password_changed_at"=>2021-03-26 04:24:10 UTC, "updated_at"=>2021-03-26 04:24:10 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.8940ms
+Processing by Devise::PasswordExpiredController#update as HTML
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"_id"=>BSON::ObjectId('605d61eaf3a8d055e2000003'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.8770ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61eaf3a8d055e2000003')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:10 UTC, "updated_at"=>2021-03-26 04:24:10 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6720ms
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 3ms (ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5580ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3990ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4480ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4420ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2720ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.1ms)[0m [1mbegin transaction[0m
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4920ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61ebf3a8d055e2000004'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5250ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61ebf3a8d055e2000004'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$fTEI0tBmQ/IH7kG.qnoDVO0SJJO0srrJeVIpCS.iID1kQJToHtTLy", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "username"=>"hello", "password_changed_at"=>2020-11-26 04:24:10 UTC, "confirmed_at"=>2020-10-26 04:24:10 UTC, "updated_at"=>2021-03-26 04:24:11 UTC, "created_at"=>2021-03-26 04:24:11 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4240ms
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6760ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4700ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3480ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5660ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3240ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4220ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61ecf3a8d055e2000005'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.4870ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61ecf3a8d055e2000005'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$b7SWf/XysEXQoMzKMEXQJOAkWQ4uxyYWV3GadVh/2YDYoBh3otdY.", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "username"=>"hello", "password_changed_at"=>2020-11-26 04:24:11 UTC, "confirmed_at"=>2020-10-26 04:24:11 UTC, "updated_at"=>2021-03-26 04:24:12 UTC, "created_at"=>2021-03-26 04:24:12 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4220ms
+Processing by Devise::PasswordExpiredController#show as HTML
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"_id"=>BSON::ObjectId('605d61ecf3a8d055e2000005'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.7940ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61ecf3a8d055e2000005')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:12 UTC, "updated_at"=>2021-03-26 04:24:12 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4860ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.1ms)
+Completed 200 OK in 4ms (Views: 1.4ms | ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.4730ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3930ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4000ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4420ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2630ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4670ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61ecf3a8d055e2000006'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.7800ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61ecf3a8d055e2000006'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$VcZrtF5S47IDLZmaXntPeuTNc1AzRGAhwDZq7y1srZs/3OuCUyVyG", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "username"=>"hello", "password_changed_at"=>2020-11-26 04:24:12 UTC, "confirmed_at"=>2020-10-26 04:24:12 UTC, "updated_at"=>2021-03-26 04:24:12 UTC, "created_at"=>2021-03-26 04:24:12 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5610ms
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"_id"=>BSON::ObjectId('605d61ecf3a8d055e2000006'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.5890ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61ecf3a8d055e2000006')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:12 UTC, "updated_at"=>2021-03-26 04:24:12 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5110ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61ecf3a8d055e2000006'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5200ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"password_archivable_id"=>BSON::ObjectId('605d61ecf3a8d055e2000006'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$VcZrtF5S47IDLZmaXntPeuTNc1AzRGAhwDZq7y1srZs/3OuCUyVyG"} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4420ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=old_passwords documents=[{"_id"=>BSON::ObjectId('605d61eef3a8d055e2000007'), "encrypted_password"=>"$2a$12$VcZrtF5S47IDLZmaXntPeuTNc1AzRGAhwDZq7y1srZs/3OuCUyVyG", "password_archivable_id"=>BSON::ObjectId('605d61ecf3a8d055e2000006'), "password_archivable_type"=>"User", "updated_at"=>2021-03-26 04:24:14 UTC, "created_at"=>2021-03-26 04:24:14 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3850ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{"password_archivable_id"=>BSON::ObjectId('605d61ecf3a8d055e2000006'), "password_archivable_type"=>"User"}} runtime: 0.3030ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61ecf3a8d055e2000006'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=0 skip=5 batch_size=nil fields=nil runtime: 0.3150ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61ecf3a8d055e2000006')} update={"$set"=>{"encrypted_password"=>"$2a$12$0clX3ipQxZulrIoPY.5etOdrPlg34pF0JDlKqeMhzgdm1T9lkq2N2", "password_changed_at"=>2021-03-26 04:24:14 UTC, "updated_at"=>2021-03-26 04:24:14 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4030ms
+Redirected to http://test.host/
+Completed 302 Found in 1273ms (ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.4270ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3350ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3580ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3830ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2350ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4680ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61eef3a8d055e2000008'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6250ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61eef3a8d055e2000008'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$vET1rYVG4qceUQgodoMG1.6gsaNkWkC0Y6sfYnLT/jwZTscwqzuq2", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "username"=>"hello", "password_changed_at"=>2020-11-26 04:24:14 UTC, "confirmed_at"=>2020-10-26 04:24:14 UTC, "updated_at"=>2021-03-26 04:24:14 UTC, "created_at"=>2021-03-26 04:24:14 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4270ms
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"_id"=>BSON::ObjectId('605d61eef3a8d055e2000008'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.7110ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61eef3a8d055e2000008')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:14 UTC, "updated_at"=>2021-03-26 04:24:14 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4960ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61eef3a8d055e2000008'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5940ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"password_archivable_id"=>BSON::ObjectId('605d61eef3a8d055e2000008'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$vET1rYVG4qceUQgodoMG1.6gsaNkWkC0Y6sfYnLT/jwZTscwqzuq2"} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4770ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=old_passwords documents=[{"_id"=>BSON::ObjectId('605d61eff3a8d055e2000009'), "encrypted_password"=>"$2a$12$vET1rYVG4qceUQgodoMG1.6gsaNkWkC0Y6sfYnLT/jwZTscwqzuq2", "password_archivable_id"=>BSON::ObjectId('605d61eef3a8d055e2000008'), "password_archivable_type"=>"User", "updated_at"=>2021-03-26 04:24:15 UTC, "created_at"=>2021-03-26 04:24:15 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3850ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{"password_archivable_id"=>BSON::ObjectId('605d61eef3a8d055e2000008'), "password_archivable_type"=>"User"}} runtime: 0.3170ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61eef3a8d055e2000008'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=0 skip=5 batch_size=nil fields=nil runtime: 0.3210ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61eef3a8d055e2000008')} update={"$set"=>{"encrypted_password"=>"$2a$12$ALrkW7euYKYKsxPjhIF.zes5fpYF.xFVLDXGYYtWCUmb.JHbk85zi", "password_changed_at"=>2021-03-26 04:24:15 UTC, "updated_at"=>2021-03-26 04:24:15 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5370ms
+Redirected to http://test.host/
+Completed 302 Found in 1274ms (ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5420ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4020ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3950ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3690ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2420ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4750ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f0f3a8d055e200000a'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5000ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61f0f3a8d055e200000a'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$55qNBwbcu.1HUl5rca5rpO5NbixNfsIa5pKsu5gxdRnDyMFGf1E2u", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "username"=>"hello", "password_changed_at"=>2020-11-26 04:24:15 UTC, "confirmed_at"=>2020-10-26 04:24:15 UTC, "updated_at"=>2021-03-26 04:24:16 UTC, "created_at"=>2021-03-26 04:24:16 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5720ms
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"_id"=>BSON::ObjectId('605d61f0f3a8d055e200000a'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.5700ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61f0f3a8d055e200000a')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:16 UTC, "updated_at"=>2021-03-26 04:24:16 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4870ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f0f3a8d055e200000a'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.4790ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"password_archivable_id"=>BSON::ObjectId('605d61f0f3a8d055e200000a'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$55qNBwbcu.1HUl5rca5rpO5NbixNfsIa5pKsu5gxdRnDyMFGf1E2u"} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5290ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=old_passwords documents=[{"_id"=>BSON::ObjectId('605d61f2f3a8d055e200000b'), "encrypted_password"=>"$2a$12$55qNBwbcu.1HUl5rca5rpO5NbixNfsIa5pKsu5gxdRnDyMFGf1E2u", "password_archivable_id"=>BSON::ObjectId('605d61f0f3a8d055e200000a'), "password_archivable_type"=>"User", "updated_at"=>2021-03-26 04:24:18 UTC, "created_at"=>2021-03-26 04:24:18 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5410ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{"password_archivable_id"=>BSON::ObjectId('605d61f0f3a8d055e200000a'), "password_archivable_type"=>"User"}} runtime: 0.3980ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f0f3a8d055e200000a'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=0 skip=5 batch_size=nil fields=nil runtime: 0.3330ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61f0f3a8d055e200000a')} update={"$set"=>{"encrypted_password"=>"$2a$12$opq1lU8n3bTxzU.wxRWVLub5nwzjFuzzevZTkybf4eTsbzIcJkin2", "password_changed_at"=>2021-03-26 04:24:18 UTC, "updated_at"=>2021-03-26 04:24:18 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5230ms
+Redirected to http://test.host/
+Completed 302 Found in 1458ms (ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5460ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3760ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4000ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4570ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2740ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"params"=>{"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}}
+Completed 401 Unauthorized in 0ms (ActiveRecord: 0.0ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"params"=>{"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}}
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (1.4ms)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (12.8ms)
+Completed 200 OK in 25ms (Views: 23.1ms | ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7490ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4830ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4880ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4050ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3380ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6560ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4490ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3960ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3740ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2720ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5360ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4110ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3780ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3590ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3760ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5590ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4650ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4320ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4190ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3670ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7680ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5530ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4770ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4110ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3050ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5880ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3690ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 1.1410ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6880ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.4670ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6870ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4220ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3950ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4300ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3070ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5040ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3910ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3880ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4750ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3010ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5820ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4210ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3780ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4320ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2770ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.4850ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3640ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4080ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3900ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3770ms
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6730ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4650ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4440ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3830ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2910ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7020ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4550ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3980ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4720ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2650ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.1ms)[0m [1mbegin transaction[0m
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4200ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f2f3a8d055e200000c'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5760ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61f2f3a8d055e200000c'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$5FKQlRrWMT8Bnb.u/nEPsuh357oTomsP5478v6KE7D5cfxdFePzfe", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:24:18 UTC, "confirmation_token"=>"7U5nFWaW6X9fFYKspzSz", "confirmation_sent_at"=>2021-03-26 04:24:18 UTC, "updated_at"=>2021-03-26 04:24:18 UTC, "created_at"=>2021-03-26 04:24:18 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4530ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.7ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 239.6ms
+
+Sent mail to bob@microsoft.com (10.0ms)
+Date: Fri, 26 Mar 2021 00:24:19 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d61f32e3c4_155e23fd222c36e30587a@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=7U5nFWaW6X9fFYKspzSz">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61f2f3a8d055e200000c')} update={"$set"=>{"unique_session_id"=>"unique_value"}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.7300ms
+[devise-security][session_limitable] unique_session_id=unique_value
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={:_id=>BSON::ObjectId('605d61f2f3a8d055e200000c')} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.3960ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5780ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4360ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4050ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4220ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3420ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.6510ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f3f3a8d055e200000d'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.7970ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61f3f3a8d055e200000d'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$8YdnDcqhXkoFHrE6Mq1mJe8yedRw7PxYXMax2Erd0ajvRfrONXmMm", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:24:19 UTC, "confirmation_token"=>"zA6Vj6R8M3nNUNg1hC-H", "confirmation_sent_at"=>2021-03-26 04:24:19 UTC, "updated_at"=>2021-03-26 04:24:19 UTC, "created_at"=>2021-03-26 04:24:19 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.8530ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 00:24:19 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d61f3d8cd7_155e23fd222c36e305884a@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=zA6Vj6R8M3nNUNg1hC-H">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61f3f3a8d055e200000d')} update={"$set"=>{"unique_session_id"=>"unique_value"}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6590ms
+[devise-security][session_limitable] unique_session_id=unique_value
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={:_id=>BSON::ObjectId('605d61f3f3a8d055e200000d')} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.4320ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5410ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4820ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4980ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.9680ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.8570ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.1ms)[0m [1mbegin transaction[0m
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5890ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f4f3a8d055e200000e'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5320ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.4840ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4720ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3350ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3380ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2370ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob2@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4190ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f5f3a8d055e200000f'), "password_archivable_type"=>"TestSessionLimitable::ModifiedUser"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5480ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.4080ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.2920ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3360ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3890ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2060ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.4320ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4480ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.2780ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6110ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3850ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4260ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f5f3a8d055e2000010'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5380ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61f5f3a8d055e2000010'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$BOc2V9O2S02sEt2JyKjkwOqqWAUfUPQyIDHrhCqeavo8Eao67aFuq", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2020-11-26 04:24:21 UTC, "confirmation_token"=>"-PJmsQ2ysMETy2Z4gL6Q", "confirmation_sent_at"=>2021-03-26 04:24:21 UTC, "updated_at"=>2021-03-26 04:24:21 UTC, "created_at"=>2021-03-26 04:24:21 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4480ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 26 Mar 2021 00:24:21 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d61f5c661a_155e23fd222c36e3058980@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=-PJmsQ2ysMETy2Z4gL6Q">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61f5f3a8d055e2000010')} update={"$set"=>{"confirmed_at"=>2021-03-26 04:24:21 UTC, "updated_at"=>2021-03-26 04:24:21 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4250ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6280ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6650ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4140ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4660ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3040ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4980ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f6f3a8d055e2000011'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5540ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61f6f3a8d055e2000011'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$G4dTx/3IetN7uy4M.QyEJOH2jFGn8T.u7VVn79ATiMW0nsA3UwrMi", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2020-11-26 04:24:21 UTC, "confirmation_token"=>"zc1qy57Ycn7XQ1z5npf7", "confirmation_sent_at"=>2021-03-26 04:24:22 UTC, "updated_at"=>2021-03-26 04:24:22 UTC, "created_at"=>2021-03-26 04:24:22 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.9530ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 2.2ms
+
+Sent mail to bob@microsoft.com (1.9ms)
+Date: Fri, 26 Mar 2021 00:24:22 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d61f6822f0_155e23fd222c36e30590a@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=zc1qy57Ycn7XQ1z5npf7">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d61f6f3a8d055e2000011')} update={"$set"=>{"confirmed_at"=>2021-03-26 04:24:22 UTC, "updated_at"=>2021-03-26 04:24:22 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6780ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.8690ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4710ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5790ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5020ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.4980ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=users selector={"email"=>"test@example.org", "_type"=>{"$in"=>["SecureUser"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.6600ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=users documents=[{"_id"=>BSON::ObjectId('605d61f7f3a8d055e2000012'), "_type"=>"SecureUser", "email"=>"test@example.org", "encrypted_password"=>"$2a$12$04El5A6o3y/KZzF1sLz8JeN6N7CBQj9oEAreQCJfMlQkHoALbeg8K", "updated_at"=>2021-03-26 04:24:23 UTC, "created_at"=>2021-03-26 04:24:23 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.9960ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=users selector={"email"=>"test@example.org", "_type"=>{"$in"=>["SecureUser"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.6270ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 1.2830ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.9900ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 1.0740ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5200ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.5980ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5770ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f8f3a8d055e2000013'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.4680ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5800ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f8f3a8d055e2000013'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5350ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5420ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f8f3a8d055e2000013'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5420ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5620ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6060ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3670ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4510ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.5760ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4720ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f9f3a8d055e2000014'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5960ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.3510ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f9f3a8d055e2000014'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5510ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4870ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61f9f3a8d055e2000014'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6200ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 1.0150ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.7230ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6220ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3720ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3540ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5430ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61faf3a8d055e2000015'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5870ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61faf3a8d055e2000015'), "_type"=>"TestSecureValidatable::User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$IBrvzEceqiDjF8bKTFFR..MTQD7LB2p5f/uzwj6vnr/nCAtd.q6yK", "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:24:26 UTC, "updated_at"=>2021-03-26 04:24:26 UTC, "created_at"=>2021-03-26 04:24:26 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6830ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61faf3a8d055e2000015'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5450ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61faf3a8d055e2000015'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5010ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6640ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4890ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3770ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4100ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.4630ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4890ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61fdf3a8d055e2000016'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5340ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.2620ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61fdf3a8d055e2000016'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.8090ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 3.8190ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61fdf3a8d055e2000016'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5830ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.8590ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.7100ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4210ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4370ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2750ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4810ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61fff3a8d055e2000017'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5350ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d61fff3a8d055e2000017'), "_type"=>"TestSecureValidatable::User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$P2oweg/sZoH3mid6HOlrMeJUypr4aHQ7vBfdDF/aandRJ1fWYoLrS", "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:24:31 UTC, "updated_at"=>2021-03-26 04:24:31 UTC, "created_at"=>2021-03-26 04:24:31 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4490ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61fff3a8d055e2000017'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.4880ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d61fff3a8d055e2000017'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5610ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.9650ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4290ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4050ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4900ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2840ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5090ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6202f3a8d055e2000018'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.4720ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.3050ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6202f3a8d055e2000018'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5600ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.3800ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6202f3a8d055e2000018'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5820ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7680ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4340ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3820ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5800ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2840ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4230ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6204f3a8d055e2000019'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5520ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6204f3a8d055e2000019'), "_type"=>"TestSecureValidatable::User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$2Vr5riZjQbGVvvAFJxPR3.NUJisMZfxW/QUYOy3KK71LjOr7q5Pn2", "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:24:36 UTC, "updated_at"=>2021-03-26 04:24:36 UTC, "created_at"=>2021-03-26 04:24:36 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4720ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6204f3a8d055e2000019'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5810ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6204f3a8d055e2000019'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.4980ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5840ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3750ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6010ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5180ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2630ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.6480ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6207f3a8d055e200001a'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5180ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.3310ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6207f3a8d055e200001a'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.8530ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5050ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6207f3a8d055e200001a'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.7090ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6130ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5140ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3880ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3940ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.4050ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4820ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6208f3a8d055e200001b'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.7250ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6208f3a8d055e200001b'), "_type"=>"TestSecureValidatable::User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$fcY/x0jWWLorSobndZBs/uTyWxK.x/mzQtNKi0HOswnpblJjOrFRW", "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:24:40 UTC, "updated_at"=>2021-03-26 04:24:40 UTC, "created_at"=>2021-03-26 04:24:40 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.9050ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6208f3a8d055e200001b'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6310ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6208f3a8d055e200001b'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5560ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6950ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3970ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3710ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5410ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2930ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4990ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d620bf3a8d055e200001c'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5890ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.6740ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d620bf3a8d055e200001c'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5350ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.3860ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d620bf3a8d055e200001c'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5620ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5640ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3570ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3600ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3790ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2560ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5670ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d620df3a8d055e200001d'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6060ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.7450ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d620df3a8d055e200001d'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6400ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5280ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d620df3a8d055e200001d'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5670ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.8180ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6480ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4280ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3730ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3020ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5610ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d620ff3a8d055e200001e'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.4980ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.3670ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d620ff3a8d055e200001e'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5680ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.3160ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d620ff3a8d055e200001e'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5460ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.4880ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3240ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3760ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3250ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2500ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4750ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6211f3a8d055e200001f'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6870ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.3470ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6211f3a8d055e200001f'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5970ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.3810ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6211f3a8d055e200001f'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5020ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5210ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3950ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3500ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4420ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2660ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4860ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6212f3a8d055e2000020'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5280ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.2920ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6212f3a8d055e2000020'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.8060ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.9820ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6212f3a8d055e2000020'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5910ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5220ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4060ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3280ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3070ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3000ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@@foo.tv", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 1.1450ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6214f3a8d055e2000021'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5320ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@@foo.tv", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.3430ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6214f3a8d055e2000021'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5190ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@@foo.tv", "_type"=>{"$in"=>["TestSecureValidatable::User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4320ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6214f3a8d055e2000021'), "password_archivable_type"=>"TestSecureValidatable::User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.4840ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5950ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4240ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4610ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4450ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2760ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=users documents=[{"_id"=>BSON::ObjectId('605d6215f3a8d055e2000022'), "_type"=>"SecurityQuestionUser", "email"=>"hello@microsoft.com", "encrypted_password"=>"$2a$12$husYlX0xVerihv4w2Dsn8e2.2ivJA4bQ5/.uuGdWTzOrfDzqZc8dO", "failed_attempts"=>0, "username"=>"hello", "security_question_answer"=>"Right Answer", "updated_at"=>2021-03-26 04:24:53 UTC, "created_at"=>2021-03-26 04:24:53 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.7600ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=users selector={"$query"=>{"unlock_token"=>"f9fd768d1f2cdf4b025428ba689913c1dfe29b46860dc2f726d05fef7f726ffd", "_type"=>{"$in"=>["SecurityQuestionUser"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.4920ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=users selector={"_id"=>BSON::ObjectId('605d6215f3a8d055e2000022')} update={"$set"=>{"locked_at"=>2021-03-26 04:24:53 UTC, "unlock_token"=>"f9fd768d1f2cdf4b025428ba689913c1dfe29b46860dc2f726d05fef7f726ffd", "updated_at"=>2021-03-26 04:24:53 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5110ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.7ms)
+
+Devise::Mailer#unlock_instructions: processed outbound mail in 41.7ms
+
+Sent mail to hello@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 00:24:53 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6215a7c3d_155e23fd222c36e3059171@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=LRwxs_qwLsD47oXsRs3C">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_user"=>{"email"=>"hello@microsoft.com"}, "security_question_answer"=>"wrong answer"}
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=users selector={"$query"=>{"email"=>"hello@microsoft.com", "_type"=>{"$in"=>["SecurityQuestionUser"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.8130ms
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 43ms (ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7210ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4900ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4420ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3890ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3020ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=users documents=[{"_id"=>BSON::ObjectId('605d6215f3a8d055e2000023'), "_type"=>"SecurityQuestionUser", "email"=>"hello@microsoft.com", "encrypted_password"=>"$2a$12$Ex8qR07TvRGUfIoriLMmsuAe6C19z2KZLinGw4FEs9X0cTSwkKTIe", "failed_attempts"=>0, "username"=>"hello", "security_question_answer"=>"Right Answer", "updated_at"=>2021-03-26 04:24:53 UTC, "created_at"=>2021-03-26 04:24:53 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5660ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=users selector={"$query"=>{"unlock_token"=>"7d7a70c5d59dfcb72f5e4c52834f0b0f91e3ef33a5943ef669a34b22f4b3477f", "_type"=>{"$in"=>["SecurityQuestionUser"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.3470ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=users selector={"_id"=>BSON::ObjectId('605d6215f3a8d055e2000023')} update={"$set"=>{"locked_at"=>2021-03-26 04:24:53 UTC, "unlock_token"=>"7d7a70c5d59dfcb72f5e4c52834f0b0f91e3ef33a5943ef669a34b22f4b3477f", "updated_at"=>2021-03-26 04:24:53 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4450ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.3ms)
+
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.2ms
+
+Sent mail to hello@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:24:53 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6215ee868_155e23fd222c36e30592c0@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=T7E9zgEdiQ4A6G_BwwS3">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_user"=>{"email"=>"hello@microsoft.com"}, "security_question_answer"=>"Right Answer"}
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=users selector={"$query"=>{"email"=>"hello@microsoft.com", "_type"=>{"$in"=>["SecurityQuestionUser"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.5580ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=users selector={"$query"=>{"email"=>"hello@microsoft.com", "_type"=>{"$in"=>["SecurityQuestionUser"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.4720ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=users selector={"$query"=>{"unlock_token"=>"fe3957ba52e989d22bbfd1f9ad4756b08d3dea516dac9c4c7c1ffed396684961", "_type"=>{"$in"=>["SecurityQuestionUser"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.3790ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=users selector={"_id"=>BSON::ObjectId('605d6215f3a8d055e2000023')} update={"$set"=>{"unlock_token"=>"fe3957ba52e989d22bbfd1f9ad4756b08d3dea516dac9c4c7c1ffed396684961", "updated_at"=>2021-03-26 04:24:53 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5050ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.2ms
+
+Sent mail to hello@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:24:53 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6215f0772_155e23fd222c36e3059345@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=Xz3oTrpoXWryPvQzx86V">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 8ms (ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5390ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4390ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4040ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3660ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2790ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.1ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"params"=>{"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 11ms (ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7140ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5050ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4340ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4050ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2950ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"params"=>{"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}}
+Completed 401 Unauthorized in 0ms (ActiveRecord: 0.0ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"params"=>{"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}}
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.6ms)
+Completed 200 OK in 9ms (Views: 8.8ms | ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6800ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4430ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3140ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3360ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2360ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.6460ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6216f3a8d055e2000024'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6330ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6216f3a8d055e2000024'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$M1bAQm1f3F3RAlrEAM76TeGqhu3JmpOR3nRUqx2ul/BD097850DIC", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:24:54 UTC, "confirmation_token"=>"uQP8MKxs4Mk9aByx4cBs", "confirmation_sent_at"=>2021-03-26 04:24:54 UTC, "updated_at"=>2021-03-26 04:24:54 UTC, "created_at"=>2021-03-26 04:24:54 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.7250ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:24:54 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d6216b2135_155e23fd222c36e305948@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=uQP8MKxs4Mk9aByx4cBs">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6216f3a8d055e2000024')} update={"$set"=>{"confirmed_at"=>2021-03-26 04:24:54 UTC, "updated_at"=>2021-03-26 04:24:54 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.7500ms
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:24:54 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.6460ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6216f3a8d055e2000024'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} update={"$inc"=>{"failed_attempts"=>1}} flags=[:multi]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.7290ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={:_id=>BSON::ObjectId('605d6216f3a8d055e2000024')} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.2720ms
+Completed 401 Unauthorized in 238ms (ActiveRecord: 0.0ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.3ms)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.8ms)
+Completed 200 OK in 231ms (Views: 2.2ms | ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={:_id=>BSON::ObjectId('605d6216f3a8d055e2000024')} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.4950ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5320ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3900ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3710ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6070ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3110ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.1ms)[0m [1mbegin transaction[0m
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4640ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6217f3a8d055e2000025'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5100ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$8wnScU7Qp2mRJA663vIYTenP2ABYAek4E8flO5LWHRZ0GUbHorijC", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:24:55 UTC, "confirmation_token"=>"z-6y_PWTxqgeyCUreDQx", "confirmation_sent_at"=>2021-03-26 04:24:55 UTC, "updated_at"=>2021-03-26 04:24:55 UTC, "created_at"=>2021-03-26 04:24:55 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4840ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:24:55 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d6217e4ef0_155e23fd222c36e30595ee@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=z-6y_PWTxqgeyCUreDQx">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025')} update={"$set"=>{"confirmed_at"=>2021-03-26 04:24:55 UTC, "updated_at"=>2021-03-26 04:24:55 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4920ms
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:24:55 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.6350ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025')} update={"$set"=>{"last_sign_in_at"=>2021-03-26 04:24:56 UTC, "current_sign_in_at"=>2021-03-26 04:24:56 UTC, "last_sign_in_ip"=>"127.0.0.1", "current_sign_in_ip"=>"127.0.0.1", "sign_in_count"=>1, "updated_at"=>2021-03-26 04:24:56 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.7060ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025')} update={"$set"=>{"unique_session_id"=>"q7M9HBQNyJxxaSv6Xusa"}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4760ms
+[devise-security][session_limitable] unique_session_id=q7M9HBQNyJxxaSv6Xusa
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:56 UTC, "updated_at"=>2021-03-26 04:24:56 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4690ms
+Redirected to http://www.example.com/
+Completed 302 Found in 241ms (ActiveRecord: 0.0ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:24:56 -0400
+Processing by WidgetsController#show as HTML
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.7170ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:56 UTC, "updated_at"=>2021-03-26 04:24:56 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6050ms
+ Rendered text template (0.0ms)
+Completed 200 OK in 8ms (Views: 4.4ms | ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={:_id=>BSON::ObjectId('605d6217f3a8d055e2000025')} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.6440ms
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:24:56 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.7490ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025')} update={"$set"=>{"current_sign_in_at"=>2021-03-26 04:24:56 UTC, "sign_in_count"=>2, "updated_at"=>2021-03-26 04:24:56 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6440ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025')} update={"$set"=>{"unique_session_id"=>"GUxvyco1_n_QiLPQpdoz"}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4080ms
+[devise-security][session_limitable] unique_session_id=GUxvyco1_n_QiLPQpdoz
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:56 UTC, "updated_at"=>2021-03-26 04:24:56 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4280ms
+Redirected to http://www.example.com/
+Completed 302 Found in 244ms (ActiveRecord: 0.0ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:24:56 -0400
+Processing by WidgetsController#show as HTML
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.7210ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:56 UTC, "updated_at"=>2021-03-26 04:24:56 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 1.0250ms
+ Rendered text template (0.0ms)
+Completed 200 OK in 5ms (Views: 0.4ms | ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={:_id=>BSON::ObjectId('605d6217f3a8d055e2000025')} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.7390ms
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:24:56 -0400
+Processing by WidgetsController#show as HTML
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"_id"=>BSON::ObjectId('605d6217f3a8d055e2000025'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.6640ms
+[devise-security][session_limitable] session id mismatch: expected="GUxvyco1_n_QiLPQpdoz" actual="q7M9HBQNyJxxaSv6Xusa"
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6800ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4450ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5060ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5470ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3100ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.7010ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6219f3a8d055e2000026'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=5 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5410ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6219f3a8d055e2000026'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$2EFQr8POUw6mQ4f8zgG/bOJ7URDORIuIJb1.YX.uxwI7PL13E3NqO", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:24:57 UTC, "confirmation_token"=>"Z_tnVw-R_1p_WZiVSKyz", "confirmation_sent_at"=>2021-03-26 04:24:57 UTC, "updated_at"=>2021-03-26 04:24:57 UTC, "created_at"=>2021-03-26 04:24:57 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4780ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:24:57 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d62192d66f_155e23fd222c36e305965d@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Z_tnVw-R_1p_WZiVSKyz">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6219f3a8d055e2000026')} update={"$set"=>{"confirmed_at"=>2021-03-26 04:24:57 UTC, "updated_at"=>2021-03-26 04:24:57 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6090ms
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:24:57 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 1.1210ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6219f3a8d055e2000026')} update={"$set"=>{"last_sign_in_at"=>2021-03-26 04:24:57 UTC, "current_sign_in_at"=>2021-03-26 04:24:57 UTC, "last_sign_in_ip"=>"127.0.0.1", "current_sign_in_ip"=>"127.0.0.1", "sign_in_count"=>1, "updated_at"=>2021-03-26 04:24:57 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.8080ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6219f3a8d055e2000026')} update={"$set"=>{"unique_session_id"=>"uKTL8Yzq2rnLzYS7SNd5"}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4470ms
+[devise-security][session_limitable] unique_session_id=uKTL8Yzq2rnLzYS7SNd5
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6219f3a8d055e2000026')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:57 UTC, "updated_at"=>2021-03-26 04:24:57 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4390ms
+Redirected to http://www.example.com/
+Completed 302 Found in 240ms (ActiveRecord: 0.0ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:24:57 -0400
+Processing by WidgetsController#show as HTML
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"_id"=>BSON::ObjectId('605d6219f3a8d055e2000026'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.4710ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6219f3a8d055e2000026')} update={"$set"=>{"last_activity_at"=>2021-03-26 04:24:57 UTC, "updated_at"=>2021-03-26 04:24:57 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4090ms
+ Rendered text template (0.0ms)
+Completed 200 OK in 3ms (Views: 0.2ms | ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={:_id=>BSON::ObjectId('605d6219f3a8d055e2000026')} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.3580ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.4830ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4040ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3600ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3810ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2650ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4620ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6480ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$q9GOW2uTGjCCC80AsQy3y.n3DB8ty..dHpiCBof9Fk86KLaX8U.uO", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:24:58 UTC, "confirmation_token"=>"giKoVz8os8uLvNxuosqr", "confirmation_sent_at"=>2021-03-26 04:24:58 UTC, "updated_at"=>2021-03-26 04:24:58 UTC, "created_at"=>2021-03-26 04:24:58 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6010ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:24:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d621a1be70_155e23fd222c36e30597b1@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=giKoVz8os8uLvNxuosqr">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{}} runtime: 0.4670ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5570ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$q9GOW2uTGjCCC80AsQy3y.n3DB8ty..dHpiCBof9Fk86KLaX8U.uO"} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5080ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=old_passwords documents=[{"_id"=>BSON::ObjectId('605d621bf3a8d055e2000028'), "encrypted_password"=>"$2a$12$q9GOW2uTGjCCC80AsQy3y.n3DB8ty..dHpiCBof9Fk86KLaX8U.uO", "password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User", "updated_at"=>2021-03-26 04:24:59 UTC, "created_at"=>2021-03-26 04:24:59 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5100ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}} runtime: 0.3470ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=0 skip=2 batch_size=nil fields=nil runtime: 0.2820ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d621af3a8d055e2000027')} update={"$set"=>{"encrypted_password"=>"$2a$12$eH3CWTbue.pmcObFcbqmhON0wgdKAqilVn2pr6yGW9Z85BMFCNjp2", "password_changed_at"=>2021-03-26 04:24:59 UTC, "updated_at"=>2021-03-26 04:24:59 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4490ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{}} runtime: 0.3090ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6290ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5820ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$eH3CWTbue.pmcObFcbqmhON0wgdKAqilVn2pr6yGW9Z85BMFCNjp2"} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5720ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=old_passwords documents=[{"_id"=>BSON::ObjectId('605d621df3a8d055e2000029'), "encrypted_password"=>"$2a$12$eH3CWTbue.pmcObFcbqmhON0wgdKAqilVn2pr6yGW9Z85BMFCNjp2", "password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User", "updated_at"=>2021-03-26 04:25:01 UTC, "created_at"=>2021-03-26 04:25:01 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4770ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}} runtime: 0.3700ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=0 skip=2 batch_size=nil fields=nil runtime: 0.3480ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d621af3a8d055e2000027')} update={"$set"=>{"encrypted_password"=>"$2a$12$VPH9hNI83nKGUdfNfAIYtOAab8yX2Ub18BShkpZsxxEAa2FGEBp3q", "password_changed_at"=>2021-03-26 04:25:01 UTC, "updated_at"=>2021-03-26 04:25:01 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4910ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{}} runtime: 0.2930ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5840ms
+ MOPED: 127.0.0.1:27017 KILL_CURSORS cursor_ids=[6972874807951424463] runtime: 0.1070ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$VPH9hNI83nKGUdfNfAIYtOAab8yX2Ub18BShkpZsxxEAa2FGEBp3q"} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.7160ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=old_passwords documents=[{"_id"=>BSON::ObjectId('605d621ff3a8d055e200002a'), "encrypted_password"=>"$2a$12$VPH9hNI83nKGUdfNfAIYtOAab8yX2Ub18BShkpZsxxEAa2FGEBp3q", "password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User", "updated_at"=>2021-03-26 04:25:03 UTC, "created_at"=>2021-03-26 04:25:03 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.8350ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}} runtime: 0.4340ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=0 skip=2 batch_size=nil fields=nil runtime: 0.4100ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={"_id"=>BSON::ObjectId('605d621bf3a8d055e2000028')} flags=[:remove_first]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4430ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d621af3a8d055e2000027')} update={"$set"=>{"encrypted_password"=>"$2a$12$MQ1eLFs4EHJxlTFmxj6un.U.PIgOGDE9.iTy/jcMOCnNPpns1BmDq", "password_changed_at"=>2021-03-26 04:25:03 UTC, "updated_at"=>2021-03-26 04:25:03 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5340ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.7910ms
+ MOPED: 127.0.0.1:27017 KILL_CURSORS cursor_ids=[2988047030563827097] runtime: 0.1150ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$MQ1eLFs4EHJxlTFmxj6un.U.PIgOGDE9.iTy/jcMOCnNPpns1BmDq"} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4780ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=old_passwords documents=[{"_id"=>BSON::ObjectId('605d6221f3a8d055e200002b'), "encrypted_password"=>"$2a$12$MQ1eLFs4EHJxlTFmxj6un.U.PIgOGDE9.iTy/jcMOCnNPpns1BmDq", "password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User", "updated_at"=>2021-03-26 04:25:05 UTC, "created_at"=>2021-03-26 04:25:05 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5690ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}} runtime: 0.3680ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=0 skip=2 batch_size=nil fields=nil runtime: 0.3870ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={"_id"=>BSON::ObjectId('605d621df3a8d055e2000029')} flags=[:remove_first]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4120ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d621af3a8d055e2000027')} update={"$set"=>{"encrypted_password"=>"$2a$12$dtcQPcJUH/Tp3acQvm1hoetFTfjZYLyxaIIViOzYgrOxumgMdyywG", "password_changed_at"=>2021-03-26 04:25:05 UTC, "updated_at"=>2021-03-26 04:25:05 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5010ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5250ms
+ MOPED: 127.0.0.1:27017 KILL_CURSORS cursor_ids=[2408881109427711989] runtime: 0.0620ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$dtcQPcJUH/Tp3acQvm1hoetFTfjZYLyxaIIViOzYgrOxumgMdyywG"} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4200ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=old_passwords documents=[{"_id"=>BSON::ObjectId('605d6222f3a8d055e200002c'), "encrypted_password"=>"$2a$12$dtcQPcJUH/Tp3acQvm1hoetFTfjZYLyxaIIViOzYgrOxumgMdyywG", "password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User", "updated_at"=>2021-03-26 04:25:06 UTC, "created_at"=>2021-03-26 04:25:06 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5470ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}} runtime: 0.4880ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d621af3a8d055e2000027'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=0 skip=2 batch_size=nil fields=nil runtime: 0.3920ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={"_id"=>BSON::ObjectId('605d621ff3a8d055e200002a')} flags=[:remove_first]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4470ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d621af3a8d055e2000027')} update={"$set"=>{"encrypted_password"=>"$2a$12$AHliXfQVMREtFiH8BIA3C.nR2H5dySj/TH9ZLJrmnFWJl7GzKfPhu", "password_changed_at"=>2021-03-26 04:25:06 UTC, "updated_at"=>2021-03-26 04:25:06 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5420ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5910ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4470ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4170ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4140ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2570ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.7310ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6223f3a8d055e200002d'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.8440ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6223f3a8d055e200002d'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$NMCjiuEBlq3F8qxKvTjO4u0AxqFhA5rAmscLlrj0T8aZJiz/tLJVq", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:25:07 UTC, "confirmation_token"=>"1wv-_wzfjpDhixUbBp4S", "confirmation_sent_at"=>2021-03-26 04:25:07 UTC, "updated_at"=>2021-03-26 04:25:07 UTC, "created_at"=>2021-03-26 04:25:07 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.8880ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 00:25:07 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d6223699e3_155e23fd222c36e30598cc@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=1wv-_wzfjpDhixUbBp4S">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6223f3a8d055e200002d'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5130ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6670ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6190ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3440ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3750ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2280ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5150ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6225f3a8d055e200002e'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6450ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6225f3a8d055e200002e'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$7knV4FcbyhtSXiqzWCFxPOeJYc1Pu4vB6PBIp9KN.V/FE4tKucDOm", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:25:09 UTC, "confirmation_token"=>"2P6z2JvojhFWPJmx9Tt-", "confirmation_sent_at"=>2021-03-26 04:25:09 UTC, "updated_at"=>2021-03-26 04:25:09 UTC, "created_at"=>2021-03-26 04:25:09 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5700ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 00:25:09 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d6225363dc_155e23fd222c36e305998f@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=2P6z2JvojhFWPJmx9Tt-">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{}} runtime: 0.3580ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5020ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4810ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5330ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4840ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3510ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.1ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5280ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6225f3a8d055e200002f'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.7890ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6225f3a8d055e200002f'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$E32zGKNsKweOcp4.VpSI/uNlX338/Tega2CTX/R61vnthbYmMuyxG", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:25:09 UTC, "confirmation_token"=>"DjMYq3pYvPg8Axnczy2W", "confirmation_sent_at"=>2021-03-26 04:25:09 UTC, "updated_at"=>2021-03-26 04:25:09 UTC, "created_at"=>2021-03-26 04:25:09 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 1.7560ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.4ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 2.2ms
+
+Sent mail to bob@microsoft.com (2.5ms)
+Date: Fri, 26 Mar 2021 00:25:09 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d6225f3f95_155e23fd222c36e30600c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=DjMYq3pYvPg8Axnczy2W">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.9520ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4880ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4440ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4700ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3300ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.7380ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6226f3a8d055e2000031'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5310ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6226f3a8d055e2000030'), "_type"=>"Widget", "user_id"=>BSON::ObjectId('605d6226f3a8d055e2000031')}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4370ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.4680ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3660ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3870ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3930ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2540ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4390ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6227f3a8d055e2000032'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5760ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6227f3a8d055e2000032'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$VCK2zVkNvB3Oz7rOCTSE4uv4L.dFcGxZSw.QsonKMEBixcVDWJvoO", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:25:11 UTC, "confirmation_token"=>"NRhSTMkxuL3sxuy96oyK", "confirmation_sent_at"=>2021-03-26 04:25:11 UTC, "updated_at"=>2021-03-26 04:25:11 UTC, "created_at"=>2021-03-26 04:25:11 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5000ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+
+Sent mail to bob@microsoft.com (2.3ms)
+Date: Fri, 26 Mar 2021 00:25:11 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d62276ae92_155e23fd222c36e30601cd@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=NRhSTMkxuL3sxuy96oyK">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 1.3410ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.8500ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5160ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5020ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3120ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5340ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6228f3a8d055e2000033'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6790ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6228f3a8d055e2000033'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$uIqzGSVzuNML0/p4hBhyk.0NDPJZ/KntPHCJj4AHJsdxm8ajICW1S", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:25:12 UTC, "confirmation_token"=>"rKk-teQLae5thcPVpFXS", "confirmation_sent_at"=>2021-03-26 04:25:12 UTC, "updated_at"=>2021-03-26 04:25:12 UTC, "created_at"=>2021-03-26 04:25:12 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6900ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:25:12 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d6228314df_155e23fd222c36e3060236@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=rKk-teQLae5thcPVpFXS">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6228f3a8d055e2000033')} update={"$set"=>{"password_changed_at"=>nil, "updated_at"=>2021-03-26 04:25:12 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5530ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5340ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4010ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3510ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4500ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3260ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4520ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6228f3a8d055e2000034'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5200ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6228f3a8d055e2000034'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$.o59eVr2XecAs4bMg6u5Z.EBJsnPX6vLjVX3fBCLWGXvyiD6twig6", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:25:12 UTC, "confirmation_token"=>"kbQkC2zBux_gFq162jPz", "confirmation_sent_at"=>2021-03-26 04:25:12 UTC, "updated_at"=>2021-03-26 04:25:12 UTC, "created_at"=>2021-03-26 04:25:12 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5410ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 00:25:12 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d6228df9af_155e23fd222c36e3060338@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=kbQkC2zBux_gFq162jPz">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6228f3a8d055e2000034')} update={"$set"=>{"password_changed_at"=>2020-12-26 05:25:12 UTC, "updated_at"=>2021-03-26 04:25:12 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6710ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5700ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4330ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3650ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4330ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2920ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4860ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6229f3a8d055e2000035'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=2 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5430ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6229f3a8d055e2000035'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$dvAYsZMP3TmGtZOSq93P1uRI7oAIiG0XGfx8kyZdnbsSbipanoEPG", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:25:13 UTC, "confirmation_token"=>"wWWz4eJK3x6SH7x_XHfm", "confirmation_sent_at"=>2021-03-26 04:25:13 UTC, "updated_at"=>2021-03-26 04:25:13 UTC, "created_at"=>2021-03-26 04:25:13 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6520ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.6ms
+
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 00:25:13 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d6229a18e8_155e23fd222c36e306041d@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=wWWz4eJK3x6SH7x_XHfm">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7310ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4430ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3710ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4660ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2900ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5080ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d622af3a8d055e2000036'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=1 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.4700ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d622af3a8d055e2000036'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$cOe4te2BbLxTfNs/yS9xhuXQo1Qc/tGGUFzHJMCUpqjW5CrHyyn9G", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:25:14 UTC, "confirmation_token"=>"KinAjQBZCfU14hEsQz9y", "confirmation_sent_at"=>2021-03-26 04:25:14 UTC, "updated_at"=>2021-03-26 04:25:14 UTC, "created_at"=>2021-03-26 04:25:14 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5190ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 00:25:14 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d622a621eb_155e23fd222c36e306056e@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=KinAjQBZCfU14hEsQz9y">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d622af3a8d055e2000036'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=1 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.4810ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"password_archivable_id"=>BSON::ObjectId('605d622af3a8d055e2000036'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$cOe4te2BbLxTfNs/yS9xhuXQo1Qc/tGGUFzHJMCUpqjW5CrHyyn9G"} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4920ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=old_passwords documents=[{"_id"=>BSON::ObjectId('605d622bf3a8d055e2000037'), "encrypted_password"=>"$2a$12$cOe4te2BbLxTfNs/yS9xhuXQo1Qc/tGGUFzHJMCUpqjW5CrHyyn9G", "password_archivable_id"=>BSON::ObjectId('605d622af3a8d055e2000036'), "password_archivable_type"=>"User", "updated_at"=>2021-03-26 04:25:15 UTC, "created_at"=>2021-03-26 04:25:15 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6040ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{"password_archivable_id"=>BSON::ObjectId('605d622af3a8d055e2000036'), "password_archivable_type"=>"User"}} runtime: 0.4240ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d622af3a8d055e2000036'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=0 skip=1 batch_size=nil fields=nil runtime: 0.3460ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d622af3a8d055e2000036')} update={"$set"=>{"encrypted_password"=>"$2a$12$BhZTK5CC8DGv773rv6NlmuGb6iQr8HERidNVsFRL0FxH60ZpvIXpe", "password_changed_at"=>2021-03-26 04:25:15 UTC, "updated_at"=>2021-03-26 04:25:15 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5590ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d622af3a8d055e2000036'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=1 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5960ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d622af3a8d055e2000036'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=1 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6220ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7880ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4890ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5160ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4920ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3110ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4910ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d622ef3a8d055e2000038'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=1 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.6480ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d622ef3a8d055e2000038'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$O/UKlr9wjHBOqE5PZUou6eS7VxSXN/Z70cquJQ9705ab9RSxG.UAy", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:25:18 UTC, "confirmation_token"=>"Lu8r39CzmeTkTXs51yr2", "confirmation_sent_at"=>2021-03-26 04:25:18 UTC, "updated_at"=>2021-03-26 04:25:18 UTC, "created_at"=>2021-03-26 04:25:18 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5160ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 00:25:18 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d622ed03f3_155e23fd222c36e306062f@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Lu8r39CzmeTkTXs51yr2">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d622ef3a8d055e2000038')} update={"$set"=>{"password_changed_at"=>nil, "updated_at"=>2021-03-26 04:25:18 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4810ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6890ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4570ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4250ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4490ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3080ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4970ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d622ff3a8d055e2000039'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=1 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5670ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d622ff3a8d055e2000039'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$lNz.O10mfVrr9n/RJ81rSuldOf.8asiN8yoOf9I23r5ypPfBniHlm", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "password_changed_at"=>2021-03-26 04:25:19 UTC, "confirmation_token"=>"KvVPjoAXfJ4ACxubtX4z", "confirmation_sent_at"=>2021-03-26 04:25:19 UTC, "updated_at"=>2021-03-26 04:25:19 UTC, "created_at"=>2021-03-26 04:25:19 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5710ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 00:25:19 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d622f8dea5_155e23fd222c36e3060714@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=KvVPjoAXfJ4ACxubtX4z">Confirm my account</a></p>
+
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d622ff3a8d055e2000039')} update={"$set"=>{"password_changed_at"=>2020-12-26 05:25:19 UTC, "updated_at"=>2021-03-26 04:25:19 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6960ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d622ff3a8d055e2000039')} update={"$set"=>{"password_changed_at"=>nil, "updated_at"=>2021-03-26 04:25:19 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4720ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d622ff3a8d055e2000039'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=1 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.4950ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"password_archivable_id"=>BSON::ObjectId('605d622ff3a8d055e2000039'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$lNz.O10mfVrr9n/RJ81rSuldOf.8asiN8yoOf9I23r5ypPfBniHlm"} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.4840ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=old_passwords documents=[{"_id"=>BSON::ObjectId('605d6230f3a8d055e200003a'), "encrypted_password"=>"$2a$12$lNz.O10mfVrr9n/RJ81rSuldOf.8asiN8yoOf9I23r5ypPfBniHlm", "password_archivable_id"=>BSON::ObjectId('605d622ff3a8d055e2000039'), "password_archivable_type"=>"User", "updated_at"=>2021-03-26 04:25:20 UTC, "created_at"=>2021-03-26 04:25:20 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4300ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:count=>"old_passwords", :query=>{"password_archivable_id"=>BSON::ObjectId('605d622ff3a8d055e2000039'), "password_archivable_type"=>"User"}} runtime: 0.4000ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d622ff3a8d055e2000039'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=0 skip=1 batch_size=nil fields=nil runtime: 0.5110ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d622ff3a8d055e2000039')} update={"$set"=>{"encrypted_password"=>"$2a$12$P1OngOPGllq1ez9O5mqFneEnC66ojrdZuROThk8N5V1Wwq4dX7jMm", "password_changed_at"=>2021-03-26 04:25:20 UTC, "updated_at"=>2021-03-26 04:25:20 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6470ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6440ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4840ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4950ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4910ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3250ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (3.3ms)[0m [1mbegin transaction[0m
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7980ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5390ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4580ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3850ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2850ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7400ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4480ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4090ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4360ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2900ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.1ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5780ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4040ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4200ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3780ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2690ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.9450ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5700ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4530ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4570ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3270ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.5940ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4250ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4460ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3720ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2600ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6930ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5710ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3770ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4170ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3510ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7680ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5580ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5140ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3930ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2600ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6720ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4660ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3880ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3860ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3180ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.9310ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4830ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.6020ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5770ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3870ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7030ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5580ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3810ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4280ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3790ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6900ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4570ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4440ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4050ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.3270ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6880ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4200ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3760ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4030ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2580ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.1ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7790ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4800ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4100ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4020ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2970ms
+ [1m[35m (0.1ms)[0m rollback transaction
+ [1m[36m (0.0ms)[0m [1mbegin transaction[0m
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.6670ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4390ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3950ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.3650ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2820ms
+ [1m[35m (0.0ms)[0m rollback transaction
+ [1m[36m (0.1ms)[0m [1mbegin transaction[0m
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}} flags=[] limit=-1 skip=0 batch_size=nil fields={:_id=>1} runtime: 0.5390ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=old_passwords selector={"$query"=>{"password_archivable_id"=>BSON::ObjectId('605d6231f3a8d055e200003b'), "password_archivable_type"=>"User"}, "$orderby"=>{"created_at"=>-1}} flags=[] limit=1 skip=0 batch_size=nil fields={"encrypted_password"=>1} runtime: 0.5150ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"unlock_token"=>"4536694f6b0df70c23bf28e584df6eee598348657a2fdfa6c705d5e91466ee50", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.4280ms
+ MOPED: 127.0.0.1:27017 INSERT database=devise-test-suite collection=application_records documents=[{"_id"=>BSON::ObjectId('605d6231f3a8d055e200003b'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$3v6/ffswpKRfE0O8nXwtDu5si9.vtgdHwsXBcK9lX6Gp21sj3alOu", "failed_attempts"=>0, "sign_in_count"=>0, "paranoid_verification_attempt"=>0, "username"=>"hello", "security_question_answer"=>"Right Answer", "locked_at"=>2021-03-26 04:25:21 UTC, "unlock_token"=>"4536694f6b0df70c23bf28e584df6eee598348657a2fdfa6c705d5e91466ee50", "password_changed_at"=>2021-03-26 04:25:21 UTC, "confirmation_token"=>"pBySJxyinxLfm8HafGsq", "confirmation_sent_at"=>2021-03-26 04:25:21 UTC, "updated_at"=>2021-03-26 04:25:21 UTC, "created_at"=>2021-03-26 04:25:21 UTC}] flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5940ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+
+Sent mail to hello@path.travel (1.4ms)
+Date: Fri, 26 Mar 2021 00:25:21 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d62319e021_155e23fd222c36e306085c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=pBySJxyinxLfm8HafGsq">Confirm my account</a></p>
+
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.0ms
+
+Sent mail to hello@path.travel (1.3ms)
+Date: Fri, 26 Mar 2021 00:25:21 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d62319eaa3_155e23fd222c36e3060966@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=xajGNjPE2YgQiLBsUVeo">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.6120ms
+ MOPED: 127.0.0.1:27017 QUERY database=devise-test-suite collection=application_records selector={"$query"=>{"unlock_token"=>"86874e6da17504602e812ddda0923476ea3d35d922d466f2595999055cda4e42", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "$orderby"=>{:_id=>1}} flags=[] limit=-1 skip=0 batch_size=nil fields=nil runtime: 0.4550ms
+ MOPED: 127.0.0.1:27017 UPDATE database=devise-test-suite collection=application_records selector={"_id"=>BSON::ObjectId('605d6231f3a8d055e200003b')} update={"$set"=>{"unlock_token"=>"86874e6da17504602e812ddda0923476ea3d35d922d466f2595999055cda4e42", "updated_at"=>2021-03-26 04:25:21 UTC}} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.5640ms
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.2ms
+
+Sent mail to hello@path.travel (1.7ms)
+Date: Fri, 26 Mar 2021 00:25:21 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6231a0917_155e23fd222c36e30610bb@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=FqkZv5qFQxKaT8-9So7n">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 11ms (ActiveRecord: 0.0ms)
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:listCollections=>1, :filter=>{"name"=>{"$not"=>/.?system\.|\$/}}} runtime: 0.7080ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=users selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4860ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=old_passwords selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4370ms
+ MOPED: 127.0.0.1:27017 DELETE database=devise-test-suite collection=application_records selector={} flags=[]
+ COMMAND database=devise-test-suite command={:getlasterror=>1, :w=>1} runtime: 0.4890ms
+ MOPED: 127.0.0.1:27017 COMMAND database=devise-test-suite command={:getlasterror=>1} runtime: 0.2820ms
+ [1m[35m (0.1ms)[0m rollback transaction
+Overwriting existing field password_archivable_type in class OldPassword.
+Overwriting existing field username in class User.
+Overwriting existing field email in class User.
+Overwriting existing field encrypted_password in class User.
+Overwriting existing field password_changed_at in class User.
+Overwriting existing field expired_at in class User.
+Overwriting existing field last_activity_at in class User.
+Overwriting existing field locked_at in class User.
+Overwriting existing field unlock_token in class User.
+Overwriting existing field locked_at in class SecurityQuestionUser.
+Overwriting existing field unlock_token in class SecurityQuestionUser.
+Overwriting existing field security_question_answer in class SecurityQuestionUser.
+ [1m[35m (2.5ms)[0m [1m[34mSELECT sqlite_version(*)[0m
+Overwriting existing field password_archivable_type in class OldPassword.
+Overwriting existing field username in class User.
+Overwriting existing field email in class User.
+Overwriting existing field encrypted_password in class User.
+Overwriting existing field password_changed_at in class User.
+Overwriting existing field expired_at in class User.
+Overwriting existing field last_activity_at in class User.
+Overwriting existing field locked_at in class User.
+Overwriting existing field unlock_token in class User.
+Overwriting existing field locked_at in class SecurityQuestionUser.
+Overwriting existing field unlock_token in class SecurityQuestionUser.
+Overwriting existing field security_question_answer in class SecurityQuestionUser.
+ [1m[35m (1.8ms)[0m [1m[34mSELECT sqlite_version(*)[0m
+MONGODB | Topology type 'unknown' initializing.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Server localhost:27017 initializing.
+MONGODB | Waiting for up to 30.00 seconds for servers to be scanned: #<Cluster topology=Unknown[localhost:27017] servers=[#<Server address=localhost:27017 UNKNOWN>]>
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'standalone'.
+MONGODB | Topology type 'Unknown' changed to type 'Single'.
+MONGODB | localhost:27017 req:8 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:8 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:9 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:9 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:10 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:10 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:11 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:11 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+MONGODB | localhost:27017 req:12 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:12 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:13 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:13 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:14 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$RnMM6lLtCkyU6FiVxHWfkuQ5q.nkhKOtXvmaDx4GP.eZxZRhOjSJC", "...
+MONGODB | localhost:27017 req:14 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 5.4ms | Allocations: 810)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 62.5ms
+Delivered mail 605d65b7a5945_156c03fc5ac836e2091739@Dillons-MBP.mail (13.4ms)
+Date: Fri, 26 Mar 2021 00:40:23 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65b7a5945_156c03fc5ac836e2091739@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=P8ajseusTaLY65xkSL41">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:15 conn:1:1 sconn:8 | devise-test-suite.count | STARTED | {"count"=>"old_passwords", "query"=>{}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:15 | devise-test-suite.count | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:16 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:16 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:17 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$RnMM6lLtCkyU6FiVxHWfkuQ5q.nkhKOtXvmaDx4GP.eZxZRhOjSJC"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:17 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:18 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65b9f3a8d056c02b499c'), "encrypted_password"=>"$2a$12$RnMM6lLtCkyU6FiVxHWfkuQ5q.nkhKOtXvmaDx4GP.eZxZRhOjSJC", "password_archivable_id"=>BSON::ObjectId('605d65b7f3a8...
+MONGODB | localhost:27017 req:18 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:19 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182450...
+MONGODB | localhost:27017 req:19 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:20 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$4Uz5rGidV6xTxo1IHGoeR.aGR3BLaL4996Z1WeYQzj.vOiIL4rKZ2", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:20 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:21 conn:1:1 sconn:8 | devise-test-suite.count | STARTED | {"count"=>"old_passwords", "query"=>{}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:21 | devise-test-suite.count | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:22 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:22 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:23 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:23 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:24 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$4Uz5rGidV6xTxo1IHGoeR.aGR3BLaL4996Z1WeYQzj.vOiIL4rKZ2"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:24 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:25 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65bbf3a8d056c02b499d'), "encrypted_password"=>"$2a$12$4Uz5rGidV6xTxo1IHGoeR.aGR3BLaL4996Z1WeYQzj.vOiIL4rKZ2", "password_archivable_id"=>BSON::ObjectId('605d65b7f3a8...
+MONGODB | localhost:27017 req:25 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:26 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182450...
+MONGODB | localhost:27017 req:26 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:27 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$4agh69dkKMwVbzd3nSPsNecMKqVBucRQV1haulvU8i961in27ymDu", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:27 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:28 conn:1:1 sconn:8 | devise-test-suite.count | STARTED | {"count"=>"old_passwords", "query"=>{}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:28 | devise-test-suite.count | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:29 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:29 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:30 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$4agh69dkKMwVbzd3nSPsNecMKqVBucRQV1haulvU8i961in27ymDu"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:30 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:31 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65bdf3a8d056c02b499e'), "encrypted_password"=>"$2a$12$4agh69dkKMwVbzd3nSPsNecMKqVBucRQV1haulvU8i961in27ymDu", "password_archivable_id"=>BSON::ObjectId('605d65b7f3a8...
+MONGODB | localhost:27017 req:31 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:32 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182450...
+MONGODB | localhost:27017 req:32 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:33 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65b9f3a8d056c02b499c')}, "limit"=>1}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:33 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:34 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$LMwHBYLrWFmacM1ZWLIlcu8aGabxwUxt/OrtWJe8j6kkLBj3SfjUC", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:34 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:35 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:35 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:36 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$LMwHBYLrWFmacM1ZWLIlcu8aGabxwUxt/OrtWJe8j6kkLBj3SfjUC"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:36 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:37 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65bef3a8d056c02b499f'), "encrypted_password"=>"$2a$12$LMwHBYLrWFmacM1ZWLIlcu8aGabxwUxt/OrtWJe8j6kkLBj3SfjUC", "password_archivable_id"=>BSON::ObjectId('605d65b7f3a8...
+MONGODB | localhost:27017 req:37 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:38 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182450...
+MONGODB | localhost:27017 req:38 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:39 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65bbf3a8d056c02b499d')}, "limit"=>1}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:39 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:40 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$R1AiGTBhTJ6xiiDizblhi.QDvEzR6n9HC6hpyt/0tM20kw.IIjVoe", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:40 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:41 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:41 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:42 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$R1AiGTBhTJ6xiiDizblhi.QDvEzR6n9HC6hpyt/0tM20kw.IIjVoe"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:42 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:43 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65c0f3a8d056c02b49a0'), "encrypted_password"=>"$2a$12$R1AiGTBhTJ6xiiDizblhi.QDvEzR6n9HC6hpyt/0tM20kw.IIjVoe", "password_archivable_id"=>BSON::ObjectId('605d65b7f3a8...
+MONGODB | localhost:27017 req:43 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:44 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182450...
+MONGODB | localhost:27017 req:44 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:45 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65bdf3a8d056c02b499e')}, "limit"=>1}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:45 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:46 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65b7f3a8d056c02b499b')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$hTGFtr5i2Kqyn6h4eogHzOsedVHj6mc46I3dRbXPtUZcaM5GNBEiW", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:46 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:47 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:47 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:48 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:48 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:49 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:49 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:50 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:50 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+MONGODB | localhost:27017 req:51 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:51 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:52 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c0f3a8d056c02b49a1'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:52 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:53 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65c0f3a8d056c02b49a1'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$7d5tM9.0P9RFJ645eZZCWu4KZ98maTakUUZj4.0Rdu8/ds9cH/3xu", "...
+MONGODB | localhost:27017 req:53 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.2ms | Allocations: 75)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 2.0ms
+Delivered mail 605d65c0cd5ae_156c03fc5ac836e2091885@Dillons-MBP.mail (3.4ms)
+Date: Fri, 26 Mar 2021 00:40:32 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65c0cd5ae_156c03fc5ac836e2091885@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=gudahmW83GvUVssNiQWq">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:54 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c0f3a8d056c02b49a1'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:54 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:55 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:55 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:56 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:56 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:57 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:57 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:58 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:58 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:59 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:59 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:60 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c2f3a8d056c02b49a2'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:60 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:61 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65c2f3a8d056c02b49a2'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$IG5XTS2m5CvXVzAFpye7hOrRSv38ZA3xDVxPVJeSa8ehSxz3xqXbW", "...
+MONGODB | localhost:27017 req:61 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.6ms | Allocations: 75)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.9ms
+Delivered mail 605d65c2d4554_156c03fc5ac836e20919ea@Dillons-MBP.mail (3.6ms)
+Date: Fri, 26 Mar 2021 00:40:34 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65c2d4554_156c03fc5ac836e20919ea@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=xiF6b8LqexCYcRgAnhRk">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:62 conn:1:1 sconn:8 | devise-test-suite.count | STARTED | {"count"=>"old_passwords", "query"=>{}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:62 | devise-test-suite.count | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:63 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:63 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:64 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:64 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:65 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:65 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:66 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:66 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+MONGODB | localhost:27017 req:67 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:67 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:68 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c3f3a8d056c02b49a3'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:68 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:69 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65c3f3a8d056c02b49a3'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$qGQos1yYVWbJV83Dl9mLpeRIukbK/2FRBGWO9mUlVJmwCrl/lvcUK", "...
+MONGODB | localhost:27017 req:69 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.2ms | Allocations: 75)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.9ms
+Delivered mail 605d65c39fb33_156c03fc5ac836e2092053@Dillons-MBP.mail (2.8ms)
+Date: Fri, 26 Mar 2021 00:40:35 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65c39fb33_156c03fc5ac836e2092053@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=z-qZndt4HZesHFcoDz5b">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:70 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:70 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:71 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:71 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:72 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:72 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:73 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:73 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:74 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:74 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:75 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c4f3a8d056c02b49a5'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:75 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:76 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65c3f3a8d056c02b49a4'), "_type"=>"Widget", "user_id"=>BSON::ObjectId('605d65c4f3a8d056c02b49a5')}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0...
+MONGODB | localhost:27017 req:76 | devise-test-suite.insert | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:77 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:77 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:78 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:78 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:79 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:79 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:80 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:80 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+MONGODB | localhost:27017 req:81 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:81 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:82 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c5f3a8d056c02b49a6'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:82 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:83 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65c5f3a8d056c02b49a6'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$JDLZyXDZvnm.HJjYOdlm..D.DqLrFo744eoQDlI5bp4EacOJK9HG6", "...
+MONGODB | localhost:27017 req:83 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.3ms | Allocations: 75)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 2.2ms
+Delivered mail 605d65c53dfcc_156c03fc5ac836e20921d9@Dillons-MBP.mail (10.4ms)
+Date: Fri, 26 Mar 2021 00:40:37 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65c53dfcc_156c03fc5ac836e20921d9@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=f6SJmkc9xvbuzPzXiuL6">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:84 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:84 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:85 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:85 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:86 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:86 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:87 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:87 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+MONGODB | localhost:27017 req:88 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:88 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:89 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c5f3a8d056c02b49a7'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:89 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:90 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65c5f3a8d056c02b49a7'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$LKyLzPaQYjCo115P2Q0Q4OzXDkBSe6EGyDmKnWC.b5kJih79PByi6", "...
+MONGODB | localhost:27017 req:90 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.2ms | Allocations: 75)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Delivered mail 605d65c5e4ce3_156c03fc5ac836e20922e7@Dillons-MBP.mail (1.7ms)
+Date: Fri, 26 Mar 2021 00:40:37 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65c5e4ce3_156c03fc5ac836e20922e7@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=gy8hHBU6Zosc4hz4qEzV">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:91 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65c5f3a8d056c02b49a7')}, "u"=>{"$set"=>{"password_changed_at"=>nil, "updated_at"=>2021-03-26 04:40:37 UTC}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=>...
+MONGODB | localhost:27017 req:91 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:92 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:92 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:93 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:93 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:94 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:94 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:95 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:95 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+MONGODB | localhost:27017 req:96 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:96 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:97 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c6f3a8d056c02b49a8'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:97 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:98 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65c6f3a8d056c02b49a8'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$8P7z8dRrkzeuIWa.dXr5r.SJiTrPvHjbhV0IlzbL12pKmwNF/6irK", "...
+MONGODB | localhost:27017 req:98 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.3ms | Allocations: 75)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Delivered mail 605d65c6a6d86_156c03fc5ac836e209236a@Dillons-MBP.mail (1.8ms)
+Date: Fri, 26 Mar 2021 00:40:38 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65c6a6d86_156c03fc5ac836e209236a@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=42i28TgdSh7v6yywVMeH">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:99 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65c6f3a8d056c02b49a8')}, "u"=>{"$set"=>{"password_changed_at"=>2020-12-26 05:40:38 UTC, "updated_at"=>2021-03-26 04:40:38 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:99 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:100 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:100 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:101 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:101 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:102 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:102 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:103 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:103 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:104 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:104 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:105 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c7f3a8d056c02b49a9'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:105 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:106 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65c7f3a8d056c02b49a9'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$682vF/0aGw0OFBwixc4PreM225hXL.mpFqHS5ryHCTBZjlzyqvyAm", "...
+MONGODB | localhost:27017 req:106 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.2ms | Allocations: 75)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Delivered mail 605d65c75e98b_156c03fc5ac836e20924b1@Dillons-MBP.mail (1.6ms)
+Date: Fri, 26 Mar 2021 00:40:39 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65c75e98b_156c03fc5ac836e20924b1@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=84PBKHft82s7uUaYxrm5">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:107 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:107 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:108 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:108 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:109 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:109 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:110 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:110 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+MONGODB | localhost:27017 req:111 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:111 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:112 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c8f3a8d056c02b49aa'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:112 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:113 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65c8f3a8d056c02b49aa'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$Fpk.lFNpv3/h/Q3cOTweP.3hcxmnx3eD/o8gsFkqJRwzx1AWte11K", "...
+MONGODB | localhost:27017 req:113 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.1ms | Allocations: 75)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Delivered mail 605d65c818112_156c03fc5ac836e20925c4@Dillons-MBP.mail (1.2ms)
+Date: Fri, 26 Mar 2021 00:40:40 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65c818112_156c03fc5ac836e20925c4@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=VKBqwEFn5Ux7ApyZsF8u">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:114 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c8f3a8d056c02b49aa'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:114 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:115 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c8f3a8d056c02b49aa'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$Fpk.lFNpv3/h/Q3cOTweP.3hcxmnx3eD/o8gsFkqJRwzx1AWte11K"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:115 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:116 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65c9f3a8d056c02b49ab'), "encrypted_password"=>"$2a$12$Fpk.lFNpv3/h/Q3cOTweP.3hcxmnx3eD/o8gsFkqJRwzx1AWte11K", "password_archivable_id"=>BSON::ObjectId('605d65c8f3a8...
+MONGODB | localhost:27017 req:116 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:117 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c8f3a8d056c02b49aa'), "password_archivable_type"=>"User"}, "skip"=>1, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182450...
+MONGODB | localhost:27017 req:117 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:118 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65c8f3a8d056c02b49aa')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$ryYALP9Cv4y6oLyf3jlnhedGPq5nfWR3w3QxitfX2IxKmtb5Oyg/W", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:118 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:119 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c8f3a8d056c02b49aa'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:119 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:120 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65c8f3a8d056c02b49aa'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:120 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:121 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:121 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:122 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:122 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:123 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:123 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:124 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:124 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:125 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:125 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:126 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65ccf3a8d056c02b49ac'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:126 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:127 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65ccf3a8d056c02b49ac'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$G0pm8dwwoJ2hJdVmNkNSzeQ0X6emrvYex2BWLzGgTc7tI0JE0v0fm", "...
+MONGODB | localhost:27017 req:127 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.3ms | Allocations: 75)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Delivered mail 605d65cc6b031_156c03fc5ac836e2092628@Dillons-MBP.mail (2.2ms)
+Date: Fri, 26 Mar 2021 00:40:44 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65cc6b031_156c03fc5ac836e2092628@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=ViwsN1zsqJC9cEqSYof3">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:128 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65ccf3a8d056c02b49ac')}, "u"=>{"$set"=>{"password_changed_at"=>nil, "updated_at"=>2021-03-26 04:40:44 UTC}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=>...
+MONGODB | localhost:27017 req:128 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:129 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:129 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:130 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:130 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:131 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:131 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:132 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:132 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:133 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:133 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:134 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65cdf3a8d056c02b49ad'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:134 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:135 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65cdf3a8d056c02b49ad'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$kZPfoksst.zz8EciWblTJOAOkC6..e9eGFn89iatnvmD2EOvZLFCm", "...
+MONGODB | localhost:27017 req:135 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.2ms | Allocations: 75)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Delivered mail 605d65cd2cf42_156c03fc5ac836e209278d@Dillons-MBP.mail (1.8ms)
+Date: Fri, 26 Mar 2021 00:40:45 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65cd2cf42_156c03fc5ac836e209278d@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=rXC8jTbFWfsz4EgsuLc_">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:136 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65cdf3a8d056c02b49ad')}, "u"=>{"$set"=>{"password_changed_at"=>2020-12-26 05:40:45 UTC, "updated_at"=>2021-03-26 04:40:45 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:136 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:137 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65cdf3a8d056c02b49ad')}, "u"=>{"$set"=>{"password_changed_at"=>nil, "updated_at"=>2021-03-26 04:40:45 UTC}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=>...
+MONGODB | localhost:27017 req:137 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:138 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65cdf3a8d056c02b49ad'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:138 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:139 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65cdf3a8d056c02b49ad'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$kZPfoksst.zz8EciWblTJOAOkC6..e9eGFn89iatnvmD2EOvZLFCm"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:139 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:140 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65cef3a8d056c02b49ae'), "encrypted_password"=>"$2a$12$kZPfoksst.zz8EciWblTJOAOkC6..e9eGFn89iatnvmD2EOvZLFCm", "password_archivable_id"=>BSON::ObjectId('605d65cdf3a8...
+MONGODB | localhost:27017 req:140 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:141 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65cdf3a8d056c02b49ad'), "password_archivable_type"=>"User"}, "skip"=>1, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182450...
+MONGODB | localhost:27017 req:141 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:142 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65cdf3a8d056c02b49ad')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$oZIo2PBBRBEzEWQJZv3oueQt0I6X7Qj99mC8TFmqNR8tk5l0Dxtne", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:142 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:143 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:143 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:144 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:144 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:145 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:145 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:146 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:146 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 8ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 3163)
+MONGODB | localhost:27017 req:147 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:147 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:148 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:148 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:149 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:149 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:150 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:150 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:151 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"wrong@email.com", "_type"=>"CaptchaUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:151 | devise-test-suite.find | SUCCEEDED | 0.001s
+Completed 401 Unauthorized in 6ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 2312)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (Duration: 1.3ms | Allocations: 438)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (Duration: 8.8ms | Allocations: 3136)
+Completed 200 OK in 244ms (Views: 15.7ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 7442)
+MONGODB | localhost:27017 req:152 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:152 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:153 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:153 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:154 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:154 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:155 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:155 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+MONGODB | localhost:27017 req:156 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:156 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:157 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:157 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:158 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$R8S/VIZnS5m8yT3GXYoQlumf77v8VCrqG9H6rJElbpMlhNhIW8cIy", "...
+MONGODB | localhost:27017 req:158 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.3ms | Allocations: 85)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.7ms
+Delivered mail 605d65cf62004_156c03fc5ac836e2092867@Dillons-MBP.mail (1.6ms)
+Date: Fri, 26 Mar 2021 00:40:47 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65cf62004_156c03fc5ac836e2092867@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=XTYtuPxp_nzm5zz_Mtxp">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:159 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 04:40:47 UTC, "updated_at"=>2021-03-26 04:40:47 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:159 | devise-test-suite.update | SUCCEEDED | 0.000s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:40:47 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:160 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:160 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:161 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af')}, "u"=>{"$set"=>{"last_sign_in_at"=>2021-03-26 04:40:47 UTC, "current_sign_in_at"=>2021-03-26 04:40:47 UTC, "last_sign_in_ip"=>"127...
+MONGODB | localhost:27017 req:161 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:162 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af')}, "u"=>{"$set"=>{"unique_session_id"=>"-7GsG_QsV78mtP8uybsT"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182...
+MONGODB | localhost:27017 req:162 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=-7GsG_QsV78mtP8uybsT
+MONGODB | localhost:27017 req:163 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:40:47 UTC, "updated_at"=>2021-03-26 04:40:47 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:163 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 249ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 5175)
+Started GET "/" for 127.0.0.1 at 2021-03-26 00:40:47 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:164 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:164 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:165 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:40:47 UTC, "updated_at"=>2021-03-26 04:40:47 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:165 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/users/password_expired
+Filter chain halted as :handle_password_change rendered or redirected
+Completed 302 Found in 6ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 2612)
+Started PUT "/users/password_expired" for 127.0.0.1 at 2021-03-26 00:40:47 -0400
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:166 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:166 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:167 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:40:47 UTC, "updated_at"=>2021-03-26 04:40:47 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:167 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:168 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:168 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:169 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$R8S/VIZnS5m8yT3GXYoQlumf77v8VCrqG9H6rJElbpMlhNhIW8cIy"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:169 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:170 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65d1f3a8d056c02b49b0'), "encrypted_password"=>"$2a$12$R8S/VIZnS5m8yT3GXYoQlumf77v8VCrqG9H6rJElbpMlhNhIW8cIy", "password_archivable_id"=>BSON::ObjectId('605d65cff3a8...
+MONGODB | localhost:27017 req:170 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:171 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af'), "password_archivable_type"=>"User"}, "skip"=>1, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182450...
+MONGODB | localhost:27017 req:171 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:172 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$nBETQrdo8mHk66kYkvtwmu2WdSKBs7mJyW0AQEyji2gXotnJLzwv.", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:172 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 1391ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 10155)
+MONGODB | localhost:27017 req:173 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65cff3a8d056c02b49af')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:173 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:174 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:174 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:175 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:175 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:176 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:176 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:177 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:177 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:178 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:178 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:179 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65d1f3a8d056c02b49b1'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:179 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:180 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65d1f3a8d056c02b49b1'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$xIIvh/LnY7ihYpOfBYdb4OJ.0txBjJ7EeEexiL.akup5eicUXHDci", "...
+MONGODB | localhost:27017 req:180 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.3ms | Allocations: 81)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Delivered mail 605d65d1cffe6_156c03fc5ac836e209291a@Dillons-MBP.mail (1.7ms)
+Date: Fri, 26 Mar 2021 00:40:49 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65d1cffe6_156c03fc5ac836e209291a@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=v7zsJD2Gw_shfBegR_Uh">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:181 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d1f3a8d056c02b49b1')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 04:40:49 UTC, "updated_at"=>2021-03-26 04:40:49 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:181 | devise-test-suite.update | SUCCEEDED | 0.001s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:40:49 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:182 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:182 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:183 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d1f3a8d056c02b49b1')}, "u"=>{"$set"=>{"last_sign_in_at"=>2021-03-26 04:40:50 UTC, "current_sign_in_at"=>2021-03-26 04:40:50 UTC, "last_sign_in_ip"=>"127...
+MONGODB | localhost:27017 req:183 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:184 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d1f3a8d056c02b49b1')}, "u"=>{"$set"=>{"unique_session_id"=>"WZndWChgtkSLN-rvzixp"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182...
+MONGODB | localhost:27017 req:184 | devise-test-suite.update | SUCCEEDED | 0.001s
+[devise-security][session_limitable] unique_session_id=WZndWChgtkSLN-rvzixp
+MONGODB | localhost:27017 req:185 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d1f3a8d056c02b49b1')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:40:50 UTC, "updated_at"=>2021-03-26 04:40:50 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:185 | devise-test-suite.update | SUCCEEDED | 0.001s
+Redirected to http://www.example.com/
+Completed 302 Found in 261ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 4346)
+MONGODB | localhost:27017 req:186 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d1f3a8d056c02b49b1')}, "u"=>{"$set"=>{"password_changed_at"=>2021-03-26 04:40:50 UTC, "updated_at"=>2021-03-26 04:40:50 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:186 | devise-test-suite.update | SUCCEEDED | 0.001s
+Started GET "/" for 127.0.0.1 at 2021-03-26 00:40:50 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:187 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65d1f3a8d056c02b49b1'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:187 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:188 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d1f3a8d056c02b49b1')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:40:50 UTC, "updated_at"=>2021-03-26 04:40:50 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:188 | devise-test-suite.update | SUCCEEDED | 0.001s
+ Rendering text template
+ Rendered text template (Duration: 0.0ms | Allocations: 3)
+Completed 200 OK in 7ms (Views: 1.5ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 3093)
+Started GET "/" for 127.0.0.1 at 2021-03-26 00:40:50 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:189 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65d1f3a8d056c02b49b1'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:189 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:190 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d1f3a8d056c02b49b1')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:40:50 UTC, "updated_at"=>2021-03-26 04:40:50 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:190 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering text template
+ Rendered text template (Duration: 0.0ms | Allocations: 3)
+Completed 200 OK in 5ms (Views: 0.3ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 2684)
+MONGODB | localhost:27017 req:191 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:191 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:192 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:192 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:193 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:193 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:194 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:194 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:195 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"wrong@email.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise...
+MONGODB | localhost:27017 req:195 | devise-test-suite.find | SUCCEEDED | 0.001s
+Completed 401 Unauthorized in 3ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 1146)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (Duration: 0.9ms | Allocations: 419)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (Duration: 4.4ms | Allocations: 1897)
+Completed 200 OK in 242ms (Views: 4.9ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 2527)
+MONGODB | localhost:27017 req:196 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:196 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:197 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:197 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:198 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:198 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:199 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:199 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+MONGODB | localhost:27017 req:200 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:200 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:201 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:201 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:202 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:202 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:203 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:203 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:204 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:204 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:205 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65d3f3a8d056c02b49b2'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:205 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:206 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65d3f3a8d056c02b49b2'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$rn.BqoQLLNC5.fH9m7wqm.6mDQuVo7p4NLvg8TbecD38o1HX6ceky", "...
+MONGODB | localhost:27017 req:206 | devise-test-suite.insert | SUCCEEDED | 0.001s
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:207 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65d3f3a8d056c02b49b2'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:207 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:208 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d3f3a8d056c02b49b2')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:40:51 UTC, "updated_at"=>2021-03-26 04:40:51 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:208 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:209 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65d3f3a8d056c02b49b2'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:209 | devise-test-suite.find | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (Duration: 1.3ms | Allocations: 498)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (Duration: 4.5ms | Allocations: 1952)
+Completed 200 OK in 1403ms (Views: 6.8ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 8682)
+MONGODB | localhost:27017 req:210 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:210 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:211 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:211 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:212 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:212 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:213 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:213 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:214 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:214 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:215 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65d5f3a8d056c02b49b3'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:215 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:216 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65d5f3a8d056c02b49b3'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$cX6h5DSD7LJtlXKtD4ljU.FvuI1zacKTHpB.K5hbzPF1j.Mtxzd8q", "...
+MONGODB | localhost:27017 req:216 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:217 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d5f3a8d056c02b49b3')}, "u"=>{"$set"=>{"password_changed_at"=>2021-03-26 04:40:53 UTC, "updated_at"=>2021-03-26 04:40:53 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:217 | devise-test-suite.update | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#show as HTML
+MONGODB | localhost:27017 req:218 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65d5f3a8d056c02b49b3'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:218 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:219 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d5f3a8d056c02b49b3')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:40:53 UTC, "updated_at"=>2021-03-26 04:40:53 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:219 | devise-test-suite.update | SUCCEEDED | 0.001s
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 6ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 2127)
+MONGODB | localhost:27017 req:220 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:220 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:221 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:221 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:222 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:222 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:223 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:223 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:224 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:224 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:225 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65d6f3a8d056c02b49b4'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:225 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:226 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65d6f3a8d056c02b49b4'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$W0J225Z2L0L3g4twdquRSu74hfVwV8x.RrntM5MM2CsQLDVURJEeO", "...
+MONGODB | localhost:27017 req:226 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 257)
+MONGODB | localhost:27017 req:227 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:227 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:228 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:228 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:229 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:229 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:230 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:230 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:231 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:231 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:232 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65d6f3a8d056c02b49b5'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:232 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:233 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65d6f3a8d056c02b49b5'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$DCZEXMi4Ej85OI19eUMw5e5V9S58MIE3p9L6ziy62uB0QPIeHXKc6", "...
+MONGODB | localhost:27017 req:233 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:234 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d6f3a8d056c02b49b5')}, "u"=>{"$set"=>{"password_changed_at"=>2021-03-26 04:40:54 UTC, "updated_at"=>2021-03-26 04:40:54 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:234 | devise-test-suite.update | SUCCEEDED | 0.001s
+Processing by Devise::PasswordExpiredController#update as HTML
+MONGODB | localhost:27017 req:235 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65d6f3a8d056c02b49b5'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:235 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:236 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d6f3a8d056c02b49b5')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:40:54 UTC, "updated_at"=>2021-03-26 04:40:54 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:236 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 4ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 2126)
+MONGODB | localhost:27017 req:237 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:237 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:238 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:238 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:239 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:239 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:240 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:240 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:241 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:241 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:242 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65d7f3a8d056c02b49b6'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:242 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:243 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65d7f3a8d056c02b49b6'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$Z4I/.3SI8n855/AXPMcqm.GGAklDsbvyCa/0M4iYevyQq7xO0yV6i", "...
+MONGODB | localhost:27017 req:243 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 255)
+MONGODB | localhost:27017 req:244 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:244 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:245 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:245 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:246 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:246 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:247 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:247 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+MONGODB | localhost:27017 req:248 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:248 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:249 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65d8f3a8d056c02b49b7'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:249 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:250 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65d8f3a8d056c02b49b7'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$jj6Kzk/gWRC/TlGDHFDsrO2aO1UjX0Sb6r.zPfQZMMF/Jd3HHoMku", "...
+MONGODB | localhost:27017 req:250 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#show as HTML
+MONGODB | localhost:27017 req:251 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65d8f3a8d056c02b49b7'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:251 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:252 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d8f3a8d056c02b49b7')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:40:56 UTC, "updated_at"=>2021-03-26 04:40:56 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:252 | devise-test-suite.update | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (Duration: 0.1ms | Allocations: 22)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (Duration: 1.2ms | Allocations: 647)
+Completed 200 OK in 7ms (Views: 1.7ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 3020)
+MONGODB | localhost:27017 req:253 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:253 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:254 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:254 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:255 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:255 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:256 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:256 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+MONGODB | localhost:27017 req:257 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:257 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:258 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65d9f3a8d056c02b49b8'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:258 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:259 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65d9f3a8d056c02b49b8'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$p0VMWhDwFQYlktV7ij6PCOJ0OZOnrzoL21Ol6f1WC.5jr0Wjc6.Ja", "...
+MONGODB | localhost:27017 req:259 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#update as JSON
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:260 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65d9f3a8d056c02b49b8'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:260 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:261 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d9f3a8d056c02b49b8')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:40:57 UTC, "updated_at"=>2021-03-26 04:40:57 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:261 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:262 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65d9f3a8d056c02b49b8'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:262 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:263 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65d9f3a8d056c02b49b8'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$p0VMWhDwFQYlktV7ij6PCOJ0OZOnrzoL21Ol6f1WC.5jr0Wjc6.Ja"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:263 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:264 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65daf3a8d056c02b49b9'), "encrypted_password"=>"$2a$12$p0VMWhDwFQYlktV7ij6PCOJ0OZOnrzoL21Ol6f1WC.5jr0Wjc6.Ja", "password_archivable_id"=>BSON::ObjectId('605d65d9f3a8...
+MONGODB | localhost:27017 req:264 | devise-test-suite.insert | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:265 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65d9f3a8d056c02b49b8'), "password_archivable_type"=>"User"}, "skip"=>1, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182450...
+MONGODB | localhost:27017 req:265 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:266 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65d9f3a8d056c02b49b8')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$uv754jaW6fbL89wyUzQQSuIQFxOtPAgMRyj8XEIhvNNuJwg.oFziG", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:266 | devise-test-suite.update | SUCCEEDED | 0.000s
+Completed 204 No Content in 1439ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 9969)
+MONGODB | localhost:27017 req:267 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:267 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:268 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:268 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:269 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:269 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:270 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:270 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+MONGODB | localhost:27017 req:271 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:271 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:272 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65dbf3a8d056c02b49ba'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:272 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:273 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65dbf3a8d056c02b49ba'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$nXGh1V1F8WAMOCvPZ5RbguBa9sAbC1KZZZmrgQBnvB.c.5GyomSvS", "...
+MONGODB | localhost:27017 req:273 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#update as XML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:274 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65dbf3a8d056c02b49ba'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:274 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:275 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65dbf3a8d056c02b49ba')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:40:59 UTC, "updated_at"=>2021-03-26 04:40:59 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:275 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:276 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65dbf3a8d056c02b49ba'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:276 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:277 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65dbf3a8d056c02b49ba'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$nXGh1V1F8WAMOCvPZ5RbguBa9sAbC1KZZZmrgQBnvB.c.5GyomSvS"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:277 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:278 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65dcf3a8d056c02b49bb'), "encrypted_password"=>"$2a$12$nXGh1V1F8WAMOCvPZ5RbguBa9sAbC1KZZZmrgQBnvB.c.5GyomSvS", "password_archivable_id"=>BSON::ObjectId('605d65dbf3a8...
+MONGODB | localhost:27017 req:278 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:279 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65dbf3a8d056c02b49ba'), "password_archivable_type"=>"User"}, "skip"=>1, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182450...
+MONGODB | localhost:27017 req:279 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:280 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65dbf3a8d056c02b49ba')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$o9C6w.b69uPh3QnxnYGaJuT6sB/p19u6X/k/7a5JW/2vA9xCpZ1SC", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:280 | devise-test-suite.update | SUCCEEDED | 0.000s
+Completed 204 No Content in 1545ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 9907)
+MONGODB | localhost:27017 req:281 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:281 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:282 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:282 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:283 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:283 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:284 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:284 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:285 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:285 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:286 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65ddf3a8d056c02b49bc'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:286 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:287 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65ddf3a8d056c02b49bc'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$OPJBN7debCS16LFlrNxAq.V6cbudBWKFoaJcuKMHYIyW8yXgfeilm", "...
+MONGODB | localhost:27017 req:287 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:288 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65ddf3a8d056c02b49bc'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:288 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:289 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65ddf3a8d056c02b49bc')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:41:01 UTC, "updated_at"=>2021-03-26 04:41:01 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:289 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:290 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65ddf3a8d056c02b49bc'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:290 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:291 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65ddf3a8d056c02b49bc'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$OPJBN7debCS16LFlrNxAq.V6cbudBWKFoaJcuKMHYIyW8yXgfeilm"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:291 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:292 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65dff3a8d056c02b49bd'), "encrypted_password"=>"$2a$12$OPJBN7debCS16LFlrNxAq.V6cbudBWKFoaJcuKMHYIyW8yXgfeilm", "password_archivable_id"=>BSON::ObjectId('605d65ddf3a8...
+MONGODB | localhost:27017 req:292 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:293 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65ddf3a8d056c02b49bc'), "password_archivable_type"=>"User"}, "skip"=>1, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182450...
+MONGODB | localhost:27017 req:293 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:294 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65ddf3a8d056c02b49bc')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$I5wRL2WETDq6/.xhC/dLw.W3Q0YhvrCL2tXqwvQAKGpoatsdFAeD.", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:294 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://test.host/
+Completed 302 Found in 1476ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 8932)
+MONGODB | localhost:27017 req:295 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:295 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:296 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:296 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:297 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:297 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:298 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:298 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:299 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"users", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65dff3a8d056c02b49be'), "_type"=>"SecurityQuestionUser", "email"=>"hello@microsoft.com", "encrypted_password"=>"$2a$12$wKJcYiiS5z1biS9H3SNF5OiIVXdTZPR6CeQE62aE4sylYFuQSEjcy...
+MONGODB | localhost:27017 req:299 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:300 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"unlock_token"=>"4d5cc17aeaae9fe5862a20e264c122cb92e593c3a4b567bc19f00a8a9d877f87", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::B...
+MONGODB | localhost:27017 req:300 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:301 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"users", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65dff3a8d056c02b49be')}, "u"=>{"$set"=>{"locked_at"=>2021-03-26 04:41:03 UTC, "unlock_token"=>"4d5cc17aeaae9fe5862a20e264c122cb92e593c3a4b567bc19f00a8a9d877f87", "updat...
+MONGODB | localhost:27017 req:301 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (Duration: 0.7ms | Allocations: 243)
+Devise::Mailer#unlock_instructions: processed outbound mail in 2.6ms
+Delivered mail 605d65df820ba_156c03fc5ac836e20930f4@Dillons-MBP.mail (1.3ms)
+Date: Fri, 26 Mar 2021 00:41:03 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d65df820ba_156c03fc5ac836e20930f4@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=w9odxLNWc4Sx_cyxXcyj">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+MONGODB | localhost:27017 req:302 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"hello@microsoft.com", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be3...
+MONGODB | localhost:27017 req:302 | devise-test-suite.find | SUCCEEDED | 0.000s
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 4ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 2511)
+MONGODB | localhost:27017 req:303 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:303 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:304 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:304 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:305 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:305 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:306 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:306 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:307 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"users", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65dff3a8d056c02b49bf'), "_type"=>"SecurityQuestionUser", "email"=>"hello@microsoft.com", "encrypted_password"=>"$2a$12$tburp7ei3iZjwWaSTlUjGuqdSjfH94DF/SUSGc7huCQWo9y5YEcvW...
+MONGODB | localhost:27017 req:307 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:308 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"unlock_token"=>"87e4f0d7c143b2c09694ed07a4b79ad0c17ff0956b81093ab29303785ec867f5", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::B...
+MONGODB | localhost:27017 req:308 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:309 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"users", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65dff3a8d056c02b49bf')}, "u"=>{"$set"=>{"locked_at"=>2021-03-26 04:41:03 UTC, "unlock_token"=>"87e4f0d7c143b2c09694ed07a4b79ad0c17ff0956b81093ab29303785ec867f5", "updat...
+MONGODB | localhost:27017 req:309 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (Duration: 0.2ms | Allocations: 84)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.3ms
+Delivered mail 605d65dfbb1eb_156c03fc5ac836e20931c7@Dillons-MBP.mail (1.6ms)
+Date: Fri, 26 Mar 2021 00:41:03 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d65dfbb1eb_156c03fc5ac836e20931c7@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=BP_yGEpmfNUzGkkVK5Xv">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+MONGODB | localhost:27017 req:310 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"hello@microsoft.com", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be3...
+MONGODB | localhost:27017 req:310 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:311 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"hello@microsoft.com", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be3...
+MONGODB | localhost:27017 req:311 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:312 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"unlock_token"=>"5e443eece7e87785d9f2f7ed704f52f42021e89f7990d3c4214b0d24127348ff", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::B...
+MONGODB | localhost:27017 req:312 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:313 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"users", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65dff3a8d056c02b49bf')}, "u"=>{"$set"=>{"unlock_token"=>"5e443eece7e87785d9f2f7ed704f52f42021e89f7990d3c4214b0d24127348ff", "updated_at"=>2021-03-26 04:41:03 UTC}}}], "...
+MONGODB | localhost:27017 req:313 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (Duration: 0.2ms | Allocations: 81)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.3ms
+Delivered mail 605d65dfbe716_156c03fc5ac836e2093235@Dillons-MBP.mail (4.5ms)
+Date: Fri, 26 Mar 2021 00:41:03 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d65dfbe716_156c03fc5ac836e2093235@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=aU8W5qL4jrtsPkDrGsVD">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 14ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 6753)
+MONGODB | localhost:27017 req:314 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:314 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:315 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:315 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:316 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:316 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:317 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:317 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+MONGODB | localhost:27017 req:318 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:318 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:319 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:319 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:320 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:320 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:321 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:321 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:322 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:322 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:323 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:323 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:324 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:324 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:325 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:325 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:326 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:326 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:327 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:327 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:328 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:328 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:329 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:329 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:330 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:330 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:331 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:331 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:332 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:332 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:333 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:333 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:334 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:334 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:335 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:335 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:336 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:336 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:337 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:337 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:338 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:338 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:339 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:339 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:340 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:340 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:341 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:341 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:342 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:342 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:343 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:343 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:344 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:344 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:345 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:345 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:346 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:346 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:347 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:347 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:348 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:348 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:349 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:349 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:350 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:350 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:351 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:351 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:352 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:352 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:353 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:353 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+MONGODB | localhost:27017 req:354 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:354 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:355 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e0f3a8d056c02b49c0'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:355 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:356 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65e0f3a8d056c02b49c0'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$y/arYkHzSq/KFAXx4RNcGOPX3ClDDscipdAtyV4P2w5Xd5mhigH3e", "...
+MONGODB | localhost:27017 req:356 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.2ms | Allocations: 81)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Delivered mail 605d65e071509_156c03fc5ac836e209336c@Dillons-MBP.mail (1.5ms)
+Date: Fri, 26 Mar 2021 00:41:04 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65e071509_156c03fc5ac836e209336c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=1E8zGhozaJHhR1J7HzvC">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:357 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e0f3a8d056c02b49c0')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 04:41:04 UTC, "updated_at"=>2021-03-26 04:41:04 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:357 | devise-test-suite.update | SUCCEEDED | 0.000s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:41:04 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:358 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:358 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:359 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e0f3a8d056c02b49c0'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "u"=>{"$inc"=>{"f...
+MONGODB | localhost:27017 req:359 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:360 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65e0f3a8d056c02b49c0')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:360 | devise-test-suite.find | SUCCEEDED | 0.001s
+Completed 401 Unauthorized in 207ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 2998)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (Duration: 0.6ms | Allocations: 268)
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (Duration: 2.7ms | Allocations: 1227)
+Completed 200 OK in 217ms (Views: 3.4ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 1854)
+MONGODB | localhost:27017 req:361 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65e0f3a8d056c02b49c0')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:361 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:362 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:362 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:363 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:363 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:364 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:364 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:365 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:365 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:366 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:366 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:367 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:367 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:368 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$j3ZLztm0hdcCWo1T3ELc9.nmcGC2Wt4C/N9B.xjsGQPThBGPQKWi.", "...
+MONGODB | localhost:27017 req:368 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.2ms | Allocations: 81)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Delivered mail 605d65e19b8f6_156c03fc5ac836e209343d@Dillons-MBP.mail (1.4ms)
+Date: Fri, 26 Mar 2021 00:41:05 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65e19b8f6_156c03fc5ac836e209343d@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=8MY4VXxxbbQZQLsWsdxr">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:369 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 04:41:05 UTC, "updated_at"=>2021-03-26 04:41:05 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:369 | devise-test-suite.update | SUCCEEDED | 0.000s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:41:05 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:370 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:370 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:371 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1')}, "u"=>{"$set"=>{"last_sign_in_at"=>2021-03-26 04:41:05 UTC, "current_sign_in_at"=>2021-03-26 04:41:05 UTC, "last_sign_in_ip"=>"127...
+MONGODB | localhost:27017 req:371 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:372 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1')}, "u"=>{"$set"=>{"unique_session_id"=>"k_N18gojzz4qfE_b3dWj"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182...
+MONGODB | localhost:27017 req:372 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=k_N18gojzz4qfE_b3dWj
+MONGODB | localhost:27017 req:373 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:41:05 UTC, "updated_at"=>2021-03-26 04:41:05 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:373 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 219ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 4344)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:41:05 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:374 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:374 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:375 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:41:05 UTC, "updated_at"=>2021-03-26 04:41:05 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:375 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering text template
+ Rendered text template (Duration: 0.0ms | Allocations: 3)
+Completed 200 OK in 4ms (Views: 0.3ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 2685)
+MONGODB | localhost:27017 req:376 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:376 | devise-test-suite.find | SUCCEEDED | 0.000s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:41:05 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:377 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:377 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:378 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1')}, "u"=>{"$set"=>{"current_sign_in_at"=>2021-03-26 04:41:06 UTC, "sign_in_count"=>2, "updated_at"=>2021-03-26 04:41:06 UTC}}}], "$db...
+MONGODB | localhost:27017 req:378 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:379 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1')}, "u"=>{"$set"=>{"unique_session_id"=>"xC_PMT1V-M5sCxxVPdN4"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182...
+MONGODB | localhost:27017 req:379 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=xC_PMT1V-M5sCxxVPdN4
+MONGODB | localhost:27017 req:380 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:41:06 UTC, "updated_at"=>2021-03-26 04:41:06 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:380 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 213ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 4370)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:41:06 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:381 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:381 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:382 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:41:06 UTC, "updated_at"=>2021-03-26 04:41:06 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:382 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering text template
+ Rendered text template (Duration: 0.0ms | Allocations: 3)
+Completed 200 OK in 4ms (Views: 0.2ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 2684)
+MONGODB | localhost:27017 req:383 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:383 | devise-test-suite.find | SUCCEEDED | 0.000s
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:41:06 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:384 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65e1f3a8d056c02b49c1'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:384 | devise-test-suite.find | SUCCEEDED | 0.000s
+[devise-security][session_limitable] session id mismatch: expected="xC_PMT1V-M5sCxxVPdN4" actual="k_N18gojzz4qfE_b3dWj"
+Completed 401 Unauthorized in 3ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 1628)
+MONGODB | localhost:27017 req:385 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:385 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:386 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:386 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:387 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:387 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:388 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:388 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+MONGODB | localhost:27017 req:389 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:389 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:390 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e2f3a8d056c02b49c2'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:390 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:391 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65e2f3a8d056c02b49c2'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$nxnQ1gTLvnybDT2QSmyTLuCY8RFRVhUoZMTIebobODbrIqsNPU6X.", "...
+MONGODB | localhost:27017 req:391 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.2ms | Allocations: 81)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Delivered mail 605d65e2b4e68_156c03fc5ac836e2093540@Dillons-MBP.mail (1.7ms)
+Date: Fri, 26 Mar 2021 00:41:06 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d65e2b4e68_156c03fc5ac836e2093540@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=6xgVLT1vo46Bq49kWYZv">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:392 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e2f3a8d056c02b49c2')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 04:41:06 UTC, "updated_at"=>2021-03-26 04:41:06 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:392 | devise-test-suite.update | SUCCEEDED | 0.000s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 00:41:06 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:393 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:393 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:394 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e2f3a8d056c02b49c2')}, "u"=>{"$set"=>{"last_sign_in_at"=>2021-03-26 04:41:06 UTC, "current_sign_in_at"=>2021-03-26 04:41:06 UTC, "last_sign_in_ip"=>"127...
+MONGODB | localhost:27017 req:394 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:395 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e2f3a8d056c02b49c2')}, "u"=>{"$set"=>{"unique_session_id"=>"c_5x5Q747nWa38G8jaD4"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701182...
+MONGODB | localhost:27017 req:395 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=c_5x5Q747nWa38G8jaD4
+MONGODB | localhost:27017 req:396 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e2f3a8d056c02b49c2')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:41:06 UTC, "updated_at"=>2021-03-26 04:41:06 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:396 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 210ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 4343)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 00:41:06 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:397 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65e2f3a8d056c02b49c2'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "singleBatch...
+MONGODB | localhost:27017 req:397 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:398 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e2f3a8d056c02b49c2')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 04:41:06 UTC, "updated_at"=>2021-03-26 04:41:06 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:398 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering text template
+ Rendered text template (Duration: 0.0ms | Allocations: 3)
+Completed 200 OK in 5ms (Views: 0.3ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 2684)
+MONGODB | localhost:27017 req:399 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d65e2f3a8d056c02b49c2')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:399 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:400 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:400 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:401 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:401 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:402 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:402 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:403 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:403 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+MONGODB | localhost:27017 req:404 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:404 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:405 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:405 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:406 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:406 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:407 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:407 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+MONGODB | localhost:27017 req:408 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:408 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:409 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:409 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:410 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:410 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:411 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:411 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:412 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:412 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:413 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e3f3a8d056c02b49c3'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:413 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:414 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"unlock_token"=>"aff7e5d86704197eb258ac6f16a783209a1222f78b4bbb220e8023682b849dfd", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1,...
+MONGODB | localhost:27017 req:414 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:415 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65e3f3a8d056c02b49c3'), "_type"=>"User", "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$qHOT33KTiOc9AQUbllvriexcD7pMQnAyVjiUEK6D.KPu2XEje.N4S", "...
+MONGODB | localhost:27017 req:415 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.2ms | Allocations: 81)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Delivered mail 605d65e39831d_156c03fc5ac836e2093620@Dillons-MBP.mail (1.4ms)
+Date: Fri, 26 Mar 2021 00:41:07 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d65e39831d_156c03fc5ac836e2093620@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=z4TyXDxybnZBbJmLi9T_">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (Duration: 0.2ms | Allocations: 118)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.0ms
+Delivered mail 605d65e398da8_156c03fc5ac836e209379e@Dillons-MBP.mail (1.4ms)
+Date: Fri, 26 Mar 2021 00:41:07 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d65e398da8_156c03fc5ac836e209379e@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=BJUBBRPymHPWPurWKKG9">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+MONGODB | localhost:27017 req:416 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "singleBatch"=>true, "$db"=>"devi...
+MONGODB | localhost:27017 req:416 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:417 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"unlock_token"=>"68a4e31ef58f2a0f871d52acc0b7caeb2b8ad3b1938ecbaa0e729e53fa523c10", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1,...
+MONGODB | localhost:27017 req:417 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:418 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d65e3f3a8d056c02b49c3')}, "u"=>{"$set"=>{"unlock_token"=>"68a4e31ef58f2a0f871d52acc0b7caeb2b8ad3b1938ecbaa0e729e53fa523c10", "updated_at"=>2021-03-26 04:41...
+MONGODB | localhost:27017 req:418 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (Duration: 0.2ms | Allocations: 81)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.1ms
+Delivered mail 605d65e39b05a_156c03fc5ac836e20938d4@Dillons-MBP.mail (1.4ms)
+Date: Fri, 26 Mar 2021 00:41:07 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d65e39b05a_156c03fc5ac836e20938d4@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=UBZ1ACM1w5hzeM4wFs_K">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 9ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms | Allocations: 6115)
+MONGODB | localhost:27017 req:419 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:419 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:420 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:420 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:421 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:421 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:422 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:422 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:423 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"test@example.org", "_type"=>"SecureUser"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:423 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:424 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"users", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65e4f3a8d056c02b49c4'), "_type"=>"SecureUser", "email"=>"test@example.org", "encrypted_password"=>"$2a$12$JuCwXIFljPYaSsmU6HRnD.oCDHyKeyvIJyeWMpwlfIqzTGh1cSzx.", "updated_a...
+MONGODB | localhost:27017 req:424 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:425 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"test@example.org", "_type"=>"SecureUser"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:425 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:426 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:426 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:427 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:427 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:428 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:428 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:429 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:429 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+MONGODB | localhost:27017 req:430 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:430 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:431 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e5f3a8d056c02b49c5'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:431 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:432 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:432 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:433 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e5f3a8d056c02b49c5'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:433 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:434 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:434 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:435 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e5f3a8d056c02b49c5'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:435 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:436 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:436 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:437 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:437 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:438 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:438 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:439 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:439 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+MONGODB | localhost:27017 req:440 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}...
+MONGODB | localhost:27017 req:440 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:441 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e5f3a8d056c02b49c6'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:441 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:442 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}...
+MONGODB | localhost:27017 req:442 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:443 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e5f3a8d056c02b49c6'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:443 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:444 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}...
+MONGODB | localhost:27017 req:444 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:445 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e5f3a8d056c02b49c6'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:445 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:446 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:446 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:447 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:447 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:448 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:448 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:449 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:449 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:450 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:450 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:451 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e7f3a8d056c02b49c7'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:451 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:452 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65e7f3a8d056c02b49c7'), "_type"=>"TestSecureValidatable::User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$NGW.CqrCUgkhh9IUAQEWg.pcRI.4TQuyJ2...
+MONGODB | localhost:27017 req:452 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:453 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e7f3a8d056c02b49c7'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:453 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:454 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65e7f3a8d056c02b49c7'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:454 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:455 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:455 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:456 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:456 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:457 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:457 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:458 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:458 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:459 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:459 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:460 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65eaf3a8d056c02b49c8'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:460 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:461 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:461 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:462 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65eaf3a8d056c02b49c8'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:462 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:463 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:463 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:464 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65eaf3a8d056c02b49c8'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:464 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:465 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:465 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:466 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:466 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:467 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:467 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:468 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:468 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:469 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:469 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:470 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65ebf3a8d056c02b49c9'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:470 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:471 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65ebf3a8d056c02b49c9'), "_type"=>"TestSecureValidatable::User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$H74Drs8S9AWe5Mj2qpGdAeZEPPgxN4tgaa...
+MONGODB | localhost:27017 req:471 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:472 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65ebf3a8d056c02b49c9'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:472 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:473 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65ebf3a8d056c02b49c9'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:473 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:474 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:474 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:475 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:475 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:476 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:476 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:477 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:477 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:478 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:478 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:479 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65eef3a8d056c02b49ca'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:479 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:480 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:480 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:481 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65eef3a8d056c02b49ca'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:481 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:482 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:482 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:483 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65eef3a8d056c02b49ca'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:483 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:484 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:484 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:485 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:485 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:486 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:486 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:487 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:487 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+MONGODB | localhost:27017 req:488 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:488 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:489 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f0f3a8d056c02b49cb'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:489 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:490 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65f0f3a8d056c02b49cb'), "_type"=>"TestSecureValidatable::User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$ZTA0fX0ppMmG.vJIfovoeeh40Nzo0g1dIY...
+MONGODB | localhost:27017 req:490 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:491 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f0f3a8d056c02b49cb'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:491 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:492 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f0f3a8d056c02b49cb'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:492 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:493 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:493 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:494 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:494 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:495 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:495 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:496 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:496 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+MONGODB | localhost:27017 req:497 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:497 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:498 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f2f3a8d056c02b49cc'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:498 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:499 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:499 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:500 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f2f3a8d056c02b49cc'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:500 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:501 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:501 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:502 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f2f3a8d056c02b49cc'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:502 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:503 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:503 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:504 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:504 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:505 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:505 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:506 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:506 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:507 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:507 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:508 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f4f3a8d056c02b49cd'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:508 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:509 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d65f4f3a8d056c02b49cd'), "_type"=>"TestSecureValidatable::User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$u/Yxf8biOdEFCF9oYWpQS.3i6GKCRyBRmm...
+MONGODB | localhost:27017 req:509 | devise-test-suite.insert | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:510 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f4f3a8d056c02b49cd'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:510 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:511 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f4f3a8d056c02b49cd'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:511 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:512 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:512 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:513 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:513 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:514 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:514 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:515 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:515 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:516 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:516 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:517 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f6f3a8d056c02b49ce'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:517 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:518 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:518 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:519 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f6f3a8d056c02b49ce'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:519 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:520 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:520 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:521 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f6f3a8d056c02b49ce'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:521 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:522 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:522 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:523 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:523 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:524 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:524 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:525 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:525 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+MONGODB | localhost:27017 req:526 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:526 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:527 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f8f3a8d056c02b49cf'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:527 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:528 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:528 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:529 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f8f3a8d056c02b49cf'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:529 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:530 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:530 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:531 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f8f3a8d056c02b49cf'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:531 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:532 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:532 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:533 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:533 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:534 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:534 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:535 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:535 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+MONGODB | localhost:27017 req:536 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:536 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:537 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f9f3a8d056c02b49d0'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:537 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:538 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:538 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:539 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f9f3a8d056c02b49d0'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:539 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:540 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:540 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:541 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65f9f3a8d056c02b49d0'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:541 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:542 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:542 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:543 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:543 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:544 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:544 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:545 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:545 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+MONGODB | localhost:27017 req:546 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:546 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:547 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65fbf3a8d056c02b49d1'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:547 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:548 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:548 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:549 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65fbf3a8d056c02b49d1'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:549 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:550 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:550 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:551 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65fbf3a8d056c02b49d1'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:551 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:552 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:552 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:553 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:553 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:554 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:554 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:555 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:555 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+MONGODB | localhost:27017 req:556 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:556 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:557 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65fdf3a8d056c02b49d2'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:557 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:558 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:558 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:559 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65fdf3a8d056c02b49d2'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:559 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:560 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e26344...
+MONGODB | localhost:27017 req:560 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:561 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65fdf3a8d056c02b49d2'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:561 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:562 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:562 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:563 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:563 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:564 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:564 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:565 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:565 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+MONGODB | localhost:27017 req:566 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@@foo.tv", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34f...
+MONGODB | localhost:27017 req:566 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:567 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65fff3a8d056c02b49d3'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:567 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:568 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@@foo.tv", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34f...
+MONGODB | localhost:27017 req:568 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:569 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65fff3a8d056c02b49d3'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:569 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:570 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@@foo.tv", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34f...
+MONGODB | localhost:27017 req:570 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:571 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d65fff3a8d056c02b49d3'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:571 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:572 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:572 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:573 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:573 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:574 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:574 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:575 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:575 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:576 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:576 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:577 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:577 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:578 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:578 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:579 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:579 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+MONGODB | localhost:27017 req:580 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:580 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:581 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:581 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:582 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:582 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:583 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:583 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+MONGODB | localhost:27017 req:584 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:584 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:585 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:585 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:586 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:586 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:587 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:587 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+MONGODB | localhost:27017 req:588 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:588 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:589 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:589 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:590 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:590 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:591 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:591 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+MONGODB | localhost:27017 req:592 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:592 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:593 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:593 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:594 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:594 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:595 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:595 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:596 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:596 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:597 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:597 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:598 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:598 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:599 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:599 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:600 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:600 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:601 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:601 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:602 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:602 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:603 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:603 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:604 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:604 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:605 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:605 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:606 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:606 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:607 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:607 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:608 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:608 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:609 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:609 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:610 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:610 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:611 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:611 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:612 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:612 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:613 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:613 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:614 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:614 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:615 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:615 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:616 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:616 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:617 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:617 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:618 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:618 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:619 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:619 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:620 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:620 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:621 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:621 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:622 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:622 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:623 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:623 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:624 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:624 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:625 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:625 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:626 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:626 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:627 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:627 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:628 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:628 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:629 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:629 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:630 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:630 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:631 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:631 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:632 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:632 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:633 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:633 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:634 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:634 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:635 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:635 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:636 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:636 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:637 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6601f3a8d056c02b49d4'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:637 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:638 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6601f3a8d056c02b49d4'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$gdQ0eyH.Lmx6RMLDmYgWZ.wcVzZ3ZH5pIGxFNeWyPynqgk.PuCbt2", "...
+MONGODB | localhost:27017 req:638 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.3ms | Allocations: 77)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.7ms
+Delivered mail 605d6601761d1_156c03fc5ac836e20939eb@Dillons-MBP.mail (3.2ms)
+Date: Fri, 26 Mar 2021 00:41:37 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d6601761d1_156c03fc5ac836e20939eb@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=mD-ywPBSaeUzHG6fs-zY">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:639 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6601f3a8d056c02b49d4')}, "u"=>{"$set"=>{"unique_session_id"=>"unique_value"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640...
+MONGODB | localhost:27017 req:639 | devise-test-suite.update | SUCCEEDED | 0.001s
+[devise-security][session_limitable] unique_session_id=unique_value
+MONGODB | localhost:27017 req:640 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d6601f3a8d056c02b49d4')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:640 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:641 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:641 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:642 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:642 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:643 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:643 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:644 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:644 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:645 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:645 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:646 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6602f3a8d056c02b49d5'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:646 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:647 conn:1:1 sconn:8 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d6602f3a8d056c02b49d5'), "_type"=>"User", "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$W9Vcroej.A54VZquAnzLIeqgB0EMO0nzqhBXmnGhR5jCaa9XOiTE.", "...
+MONGODB | localhost:27017 req:647 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/gemfiles/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (Duration: 0.2ms | Allocations: 75)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Delivered mail 605d6602478bb_156c03fc5ac836e209408d@Dillons-MBP.mail (1.5ms)
+Date: Fri, 26 Mar 2021 00:41:38 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d6602478bb_156c03fc5ac836e209408d@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=SefxovMzK3eAbWEYziZz">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:648 conn:1:1 sconn:8 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d6602f3a8d056c02b49d5')}, "u"=>{"$set"=>{"unique_session_id"=>"unique_value"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640...
+MONGODB | localhost:27017 req:648 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=unique_value
+MONGODB | localhost:27017 req:649 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d6602f3a8d056c02b49d5')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:649 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:650 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:650 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:651 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:651 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:652 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:652 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:653 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:653 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+MONGODB | localhost:27017 req:654 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:654 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:655 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6602f3a8d056c02b49d6'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:655 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:656 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:656 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:657 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:657 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:658 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:658 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:659 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:659 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+MONGODB | localhost:27017 req:660 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob2@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:660 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:661 conn:1:1 sconn:8 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d6603f3a8d056c02b49d7'), "password_archivable_type"=>"TestSessionLimitable::ModifiedUser"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>...
+MONGODB | localhost:27017 req:661 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:662 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:662 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:663 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:663 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:664 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:664 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:665 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:665 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+MONGODB | localhost:27017 req:666 conn:1:1 sconn:8 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:666 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:667 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:667 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:668 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:668 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:669 conn:1:1 sconn:8 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}}
+MONGODB | localhost:27017 req:669 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+MONGODB | localhost:27017 req:671 conn:1:2 sconn:9 | admin.endSessions | STARTED | {"endSessions"=>[{"id"=><BSON::Binary:0x70118245016640 type=uuid data=0x09e263446be34fa3...>}], "$db"=>"admin"}
+MONGODB | localhost:27017 req:671 | admin.endSessions | SUCCEEDED | 0.000s
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (3.0ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 243.1ms
+Sent mail to hello@path.travel (16.0ms)
+Date: Fri, 26 Mar 2021 01:03:39 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6b2be1fe7_157e33fd637436e10404e2@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=CHZu_gU1ki_nSVJkHc-a">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.6ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 73.0ms
+Sent mail to hello@path.travel (1.6ms)
+Date: Fri, 26 Mar 2021 01:03:40 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6b2c20f5_157e33fd637436e104058b@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=uq7sCRpyiR3tYEbT39gg">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.3ms
+Sent mail to hello@path.travel (2.4ms)
+Date: Fri, 26 Mar 2021 01:03:40 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6b2c6979_157e33fd637436e1040622@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=FxZsWj_4qwxo8SBvxLRF">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 25ms (ActiveRecord: 0.4ms)
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.2ms
+Sent mail to hello@microsoft.com (1.1ms)
+Date: Fri, 26 Mar 2021 01:03:40 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6b2c51fb2_157e33fd637436e10407f7@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=LuksEwM99oy2r1p8mcBi">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 4ms (ActiveRecord: 0.1ms)
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.1ms
+Sent mail to hello@microsoft.com (1.2ms)
+Date: Fri, 26 Mar 2021 01:03:40 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6b2c831bd_157e33fd637436e1040895@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=ENiUpUWxaFunumT6n9Ry">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.1ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.9ms
+Sent mail to hello@microsoft.com (1.2ms)
+Date: Fri, 26 Mar 2021 01:03:40 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6b2c8469f_157e33fd637436e104094@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=iLFTwz4ai5h6WcHuJdct">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 5ms (ActiveRecord: 0.3ms)
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (2.4ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 254.0ms
+Sent mail to hello@microsoft.com (9.0ms)
+Date: Fri, 26 Mar 2021 01:04:48 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6b70a7383_157fb3fc4df836e20952d9@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=czaAUGPczgEXAyzosgYG">Unlock my account</a></p>
+
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.2ms
+Sent mail to hello@microsoft.com (2.3ms)
+Date: Fri, 26 Mar 2021 01:04:48 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6b70dc466_157fb3fc4df836e2095390@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=5ShxPmj1Nkwoy6eYQTg6">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.3ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.5ms
+Sent mail to hello@microsoft.com (2.3ms)
+Date: Fri, 26 Mar 2021 01:04:48 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6b70e0a74_157fb3fc4df836e209547f@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=ZFHx8ZUVgQfvH9RFPzJH">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 30ms (ActiveRecord: 0.6ms)
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.5ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 59.4ms
+Sent mail to hello@path.travel (1.2ms)
+Date: Fri, 26 Mar 2021 01:04:49 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6b71bab15_157fb3fc4df836e209559d@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=EDqWUynNtFHpDfNcb5Hx">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.8ms
+Sent mail to hello@path.travel (0.9ms)
+Date: Fri, 26 Mar 2021 01:04:49 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6b71bb29e_157fb3fc4df836e209565b@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=4EXFxzHsKEWW-M-VH6pK">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.9ms
+Sent mail to hello@path.travel (1.1ms)
+Date: Fri, 26 Mar 2021 01:04:49 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6b71bcc7b_157fb3fc4df836e209576c@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=7Li6UdvsmEr-pnHxohRz">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 7ms (ActiveRecord: 0.2ms)
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (3.3ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 259.7ms
+Sent mail to hello@microsoft.com (8.9ms)
+Date: Fri, 26 Mar 2021 01:05:18 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6b8eb0f71_1580f3fc5a6036e1018448@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=pWy8h91spvxdX49CFe5s">Unlock my account</a></p>
+
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.4ms
+Sent mail to hello@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 01:05:18 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6b8ee5bbc_1580f3fc5a6036e1018520@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=owroRxGoHnQp7DDdZzzP">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.6ms
+Sent mail to hello@microsoft.com (1.9ms)
+Date: Fri, 26 Mar 2021 01:05:18 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6b8ee9da2_1580f3fc5a6036e1018642@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=2ktQBe9EuwAmPGQY4bWZ">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 27ms (ActiveRecord: 0.4ms)
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.6ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 69.9ms
+Sent mail to hello@path.travel (1.7ms)
+Date: Fri, 26 Mar 2021 01:05:19 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6b8fddbbd_1580f3fc5a6036e101874c@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=yRdw8_g--F-Wvo8Xiuoh">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.1ms
+Sent mail to hello@path.travel (1.6ms)
+Date: Fri, 26 Mar 2021 01:05:19 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6b8fde75a_1580f3fc5a6036e1018850@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=4kdwMhGLqrraHigdYXbX">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.6ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 2.0ms
+Sent mail to hello@path.travel (2.2ms)
+Date: Fri, 26 Mar 2021 01:05:19 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6b8fe1523_1580f3fc5a6036e1018985@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=5Y52aW2HEiRxMuYrynUS">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 12ms (ActiveRecord: 0.4ms)
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (2.6ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 199.6ms
+Sent mail to hello@path.travel (8.2ms)
+Date: Fri, 26 Mar 2021 01:06:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6bd126562_158183ffca5c36e007675@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=s-j7wo5d98-cDg5BngY7">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.4ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 61.8ms
+Sent mail to hello@path.travel (1.4ms)
+Date: Fri, 26 Mar 2021 01:06:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6bd136630_158183ffca5c36e007720@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=mFXkgzzefj7erUXDd7Z5">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.6ms
+Sent mail to hello@path.travel (2.0ms)
+Date: Fri, 26 Mar 2021 01:06:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d6bd13ad25_158183ffca5c36e0078a7@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=rsL-nsAws46Qpy9srNDa">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 25ms (ActiveRecord: 0.5ms)
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.0ms
+Sent mail to hello@microsoft.com (1.1ms)
+Date: Fri, 26 Mar 2021 01:06:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6bd17e8f5_158183ffca5c36e00799a@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=7-6bc8_SnDmw9ytasWWt">Unlock my account</a></p>
+
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.1ms
+Sent mail to hello@microsoft.com (1.2ms)
+Date: Fri, 26 Mar 2021 01:06:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6bd1aec74_158183ffca5c36e00802c@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=sePaJyszRsom-K5yzn43">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.1ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 0.8ms
+Sent mail to hello@microsoft.com (1.1ms)
+Date: Fri, 26 Mar 2021 01:06:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d6bd1b0243_158183ffca5c36e0081b6@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=wgCDywwesy3whb8oxRck">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 9ms (ActiveRecord: 0.3ms)
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 55ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 6ms (ActiveRecord: 0.9ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (4.2ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (22.2ms)
+Completed 200 OK in 323ms (Views: 46.1ms | ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.5ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 218.7ms
+Sent mail to bob@microsoft.com (9.1ms)
+Date: Fri, 26 Mar 2021 02:14:31 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bc7ec12a_161f43fd756436e18196b2@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=sygNLpBqNtpzXFpdhziG">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 02:14:32 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=Kzb3xbr5af9-B62sjskG
+Redirected to http://www.example.com/
+Completed 302 Found in 229ms (ActiveRecord: 0.4ms)
+Started GET "/" for 127.0.0.1 at 2021-03-26 02:14:32 -0400
+Processing by WidgetsController#show as HTML
+Redirected to http://www.example.com/users/password_expired
+Filter chain halted as :handle_password_change rendered or redirected
+Completed 302 Found in 3ms (ActiveRecord: 0.3ms)
+Started PUT "/users/password_expired" for 127.0.0.1 at 2021-03-26 02:14:32 -0400
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://www.example.com/
+Completed 302 Found in 1505ms (ActiveRecord: 1.2ms)
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 02:14:34 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bca7ad8e_161f43fd756436e1819744@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=wZ1552jodQNnfnykkxFU">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 02:14:34 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=zsYxDa1vZ3DHgQF3H6uc
+Redirected to http://www.example.com/
+Completed 302 Found in 261ms (ActiveRecord: 0.6ms)
+Started GET "/" for 127.0.0.1 at 2021-03-26 02:14:34 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 4ms (Views: 1.4ms | ActiveRecord: 0.2ms)
+Started GET "/" for 127.0.0.1 at 2021-03-26 02:14:34 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 3ms (Views: 0.4ms | ActiveRecord: 0.2ms)
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 02:14:35 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bcb867b7_161f43fd756436e18198a1@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=zvAShR-usX8YU9EzAZNZ">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 02:14:36 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bcc4a95f_161f43fd756436e1819958@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=u8JnVdNjSL3sFaUV_M1q">Confirm my account</a></p>
+
+[devise-security][session_limitable] unique_session_id=unique_value
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to hello@path.travel (1.2ms)
+Date: Fri, 26 Mar 2021 02:14:38 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d7bce7f67a_161f43fd756436e182007d@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=FS-PWQNxq6gB3NdxvvG3">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.6ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 70.2ms
+Sent mail to hello@path.travel (1.6ms)
+Date: Fri, 26 Mar 2021 02:14:38 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d7bce90f10_161f43fd756436e182015f@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=1W1U9Gr-dWyUquzA-gzr">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.1ms
+Sent mail to hello@path.travel (1.4ms)
+Date: Fri, 26 Mar 2021 02:14:38 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d7bce929b4_161f43fd756436e182024f@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=Pvry3rxGxuSsWaK-Rtw1">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 10ms (ActiveRecord: 0.3ms)
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 02:14:39 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bcf429d3_161f43fd756436e1820316@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=98KhmS_78ecuEJcM3tTc">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 02:14:48 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bd840028_161f43fd756436e182041@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=4ASRCvN-BSwU93eWWrU4">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 26 Mar 2021 02:14:50 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bda2b13e_161f43fd756436e18205c0@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=zVss6h1YA_eA8xxZo-ma">Confirm my account</a></p>
+
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 26 Mar 2021 02:14:50 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bdadca97_161f43fd756436e182062f@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=6gq_f9kCEGZWxzbinn4d">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.5ms
+Sent mail to bob@microsoft.com (1.8ms)
+Date: Fri, 26 Mar 2021 02:14:52 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bdc23bda_161f43fd756436e1820766@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=UGTLDwVm4UGj9oU5d944">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 2.9ms
+Sent mail to bob@microsoft.com (1.9ms)
+Date: Fri, 26 Mar 2021 02:14:52 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bdcd1c95_161f43fd756436e1820857@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=yktN5Y62Bgs712hdZ46z">Confirm my account</a></p>
+
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.2ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 02:14:53 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bdd90697_161f43fd756436e1820991@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=sx_KxEWMgiCbKKzLo33B">Confirm my account</a></p>
+
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to bob@microsoft.com (1.3ms)
+Date: Fri, 26 Mar 2021 02:14:54 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bde4ad12_161f43fd756436e1821070@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=k8i3qvEAfwiMyggK4GsS">Confirm my account</a></p>
+
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 02:14:54 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bdeecf13_161f43fd756436e18211c1@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=G7Nvaky64FydWe6DSazz">Confirm my account</a></p>
+
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.1ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 0.9ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 26 Mar 2021 02:14:55 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7bdf91a3a_161f43fd756436e182126a@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=nxxQ9m6ao9ddFXRCjgQw">Confirm my account</a></p>
+
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.8ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 26 Mar 2021 02:14:59 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7be3d9bcd_161f43fd756436e1821376@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=QZy_MFUPsuwTfstcCfx1">Confirm my account</a></p>
+
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 02:15:00 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7be4a62e6_161f43fd756436e182141e@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=6yS_W2jPSuhKgd-xf571">Confirm my account</a></p>
+
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Fri, 26 Mar 2021 02:15:02 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7be6a6978_161f43fd756436e1821583@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=k6yJLAX9GKkRB3gxkceP">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 02:15:02 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 243ms (ActiveRecord: 0.5ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.8ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (5.0ms)
+Completed 200 OK in 249ms (Views: 5.6ms | ActiveRecord: 0.0ms)
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.5ms
+Sent mail to bob@microsoft.com (1.9ms)
+Date: Fri, 26 Mar 2021 02:15:03 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7be7d9fb3_161f43fd756436e18216f1@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=zo1NJq18bs6TyESuwFxc">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 02:15:03 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=oEydAdY15itUKdqs69mP
+Redirected to http://www.example.com/
+Completed 302 Found in 249ms (ActiveRecord: 0.5ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 02:15:04 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.2ms)
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 02:15:04 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=jyJ-Zha_axUfrUeRiGia
+Redirected to http://www.example.com/
+Completed 302 Found in 236ms (ActiveRecord: 0.5ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 02:15:04 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.2ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 02:15:04 -0400
+Processing by WidgetsController#show as HTML
+[devise-security][session_limitable] session id mismatch: expected="jyJ-Zha_axUfrUeRiGia" actual="oEydAdY15itUKdqs69mP"
+Completed 401 Unauthorized in 2ms (ActiveRecord: 0.2ms)
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.5ms)
+Date: Fri, 26 Mar 2021 02:15:05 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7be916f0d_161f43fd756436e18217e4@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Acyn-E-a5BvUosggsmQo">Confirm my account</a></p>
+
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 02:15:05 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+[devise-security][session_limitable] unique_session_id=JwYUd21GJ5zMqBXtcmRM
+Redirected to http://www.example.com/
+Completed 302 Found in 245ms (ActiveRecord: 0.6ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 02:15:05 -0400
+Processing by WidgetsController#show as HTML
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 3ms (Views: 0.3ms | ActiveRecord: 0.2ms)
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Completed 401 Unauthorized in 1ms (ActiveRecord: 0.1ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.3ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.6ms)
+Completed 200 OK in 228ms (Views: 2.1ms | ActiveRecord: 0.0ms)
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (1.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (7.6ms)
+Completed 200 OK in 1585ms (Views: 15.8ms | ActiveRecord: 0.5ms)
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.2ms)
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (ActiveRecord: 0.1ms)
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (ActiveRecord: 0.0ms)
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#show as HTML
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.7ms)
+Completed 200 OK in 5ms (Views: 2.7ms | ActiveRecord: 0.3ms)
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as JSON
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1351ms (ActiveRecord: 0.8ms)
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as XML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Completed 204 No Content in 1467ms (ActiveRecord: 0.8ms)
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+Redirected to http://test.host/
+Completed 302 Found in 1496ms (ActiveRecord: 0.9ms)
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.3ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.4ms
+Sent mail to hello@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 02:15:19 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d7bf770bb9_161f43fd756436e18218ee@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=y83vjTBvD3wN17voZtwy">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 6ms (ActiveRecord: 0.1ms)
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.3ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.5ms
+Sent mail to hello@microsoft.com (1.9ms)
+Date: Fri, 26 Mar 2021 02:15:19 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d7bf7acd37_161f43fd756436e18219b2@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=HwPJnsNjmxwNtKuF_eVz">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.4ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.5ms
+Sent mail to hello@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 02:15:19 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d7bf7aeac9_161f43fd756436e18220c3@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=oiL_KdLcuwqnTyxq5qjy">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 7ms (ActiveRecord: 0.4ms)
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+Overwriting existing field password_archivable_type in class OldPassword.
+Overwriting existing field username in class User.
+Overwriting existing field email in class User.
+Overwriting existing field encrypted_password in class User.
+Overwriting existing field password_changed_at in class User.
+Overwriting existing field expired_at in class User.
+Overwriting existing field last_activity_at in class User.
+Overwriting existing field locked_at in class User.
+Overwriting existing field unlock_token in class User.
+Overwriting existing field locked_at in class SecurityQuestionUser.
+Overwriting existing field unlock_token in class SecurityQuestionUser.
+Overwriting existing field security_question_answer in class SecurityQuestionUser.
+MONGODB | Topology type 'unknown' initializing.
+MONGODB | There was a change in the members of the 'Unknown' topology.
+MONGODB | Server localhost:27017 initializing.
+MONGODB | Waiting for up to 30.00 seconds for servers to be scanned: #<Cluster topology=Unknown[localhost:27017] servers=[#<Server address=localhost:27017 UNKNOWN>]>
+MONGODB | Server description for localhost:27017 changed from 'unknown' to 'standalone'.
+MONGODB | Topology type 'Unknown' changed to type 'Single'.
+MONGODB | localhost:27017 req:8 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:8 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:9 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:9 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:10 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:10 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:11 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:11 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------------------------
+TestParanoidVerification: test_by_default_paranoid_code_regenerate_should_have_10_attempts
+------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:12 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:12 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:13 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:13 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:14 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:14 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:15 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:15 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------
+TestParanoidVerification: test_generate_code
+--------------------------------------------
+MONGODB | localhost:27017 req:16 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:16 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:17 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:17 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:18 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:18 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:19 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:19 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------
+TestParanoidVerification: test_generate_code_must_reset_attempt_counter
+-----------------------------------------------------------------------
+MONGODB | localhost:27017 req:20 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:20 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:21 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:21 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:22 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:22 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:23 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:23 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------
+TestParanoidVerification: test_need_to_paranoid_verify_if_code_present
+----------------------------------------------------------------------
+MONGODB | localhost:27017 req:24 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:24 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:25 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:25 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:26 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:26 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:27 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:27 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------
+TestParanoidVerification: test_no_need_to_paranoid_verify_if_no_code
+--------------------------------------------------------------------
+MONGODB | localhost:27017 req:28 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:28 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:29 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:29 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:30 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:30 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:31 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:31 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_paranoid_attempts_remaining_should_re-callculate_how_many_attemps_remains_after_each_wrong_attempt
+---------------------------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:32 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:32 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:33 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:33 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:34 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:34 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:35 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:35 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_upon_generating_new_code_due_to_too_many_attempts_reset_attempt_counter
+------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:36 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:36 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:37 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:37 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:38 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:38 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:39 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:39 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verification_code,_should_set_when_verification_was_accepted
+----------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:40 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:40 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:41 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:41 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:42 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:42 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:43 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:43 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_mark_record_that_it's_no_loger_needed_to_verify
+-----------------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:44 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:44 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:45 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:45 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:46 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:46 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:47 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:47 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_match_upon_verify_code,_should_no_longer_need_verification
+---------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:48 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:48 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:49 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:49 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:50 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:50 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:51 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:51 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code,_should_not_set_paranoid_verified_at
+--------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:52 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:52 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:53 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:53 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:54 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:54 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:55 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:55 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_attempts_should_generate_new_code
+--------------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:56 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:56 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:57 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:57 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:58 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:58 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:59 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:59 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verification_code_too_many_times,_reset_paranoid_attempts_remaining
+---------------------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:60 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:60 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:61 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:61 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:62 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:62 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:63 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:63 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------
+TestParanoidVerification: test_when_code_not_match_upon_verify_code,_should_still_need_verification
+---------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:64 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:64 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:65 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:65 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:66 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:66 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:67 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:67 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_enabled,_it_is_inserted_correctly
+-----------------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+Redirected to http://test.host/captcha_users/sign_in
+Filter chain halted as :check_captcha rendered or redirected
+Completed 302 Found in 23ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:68 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:68 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:69 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:69 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:70 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:70 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:71 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:71 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------
+TestWithCaptcha: test_When_captcha_is_valid,_it_runs_as_normal
+--------------------------------------------------------------
+Processing by Captcha::SessionsController#create as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:72 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"wrong@email.com", "_type"=>"CaptchaUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:72 | devise-test-suite.find | SUCCEEDED | 0.000s
+Completed 401 Unauthorized in 3ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+Processing by Captcha::SessionsController#new as HTML
+ Parameters: {"captcha"=>"ABCDE", "captcha_user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.7ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (13.9ms)
+Completed 200 OK in 284ms (Views: 40.7ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:73 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:73 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:74 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:74 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:75 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:75 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:76 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:76 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_password_confirmation_does_not_match
+--------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:77 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:77 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:78 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c28f3a8d0622200c830'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:78 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:79 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c28f3a8d0622200c830'), "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$B/uMaU1vnQNqZCynfrfCjuqRGmLv6XS6tnsMG8fdIryarQFDlE/Tu", "failed_attempts"=...
+MONGODB | localhost:27017 req:79 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:80 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c28f3a8d0622200c830'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:80 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:81 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c28f3a8d0622200c830')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:09 UTC, "updated_at"=>2021-03-26 06:16:09 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:81 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:82 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c28f3a8d0622200c830'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:82 | devise-test-suite.find | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (1.0ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (6.3ms)
+Completed 200 OK in 1302ms (Views: 12.5ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:83 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:83 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:84 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:84 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:85 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:85 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:86 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:86 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_does_not_need_password_change
+---------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:87 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:87 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:88 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c2bf3a8d0622200c831'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:88 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:89 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c2bf3a8d0622200c831'), "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$xUrSR4OBfIeWfy7ksMoMAuCX5Q9iySEQu86K4FaVYEKKsIxJJ7zhy", "failed_attempts"=...
+MONGODB | localhost:27017 req:89 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:90 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c2bf3a8d0622200c831')}, "u"=>{"$set"=>{"password_changed_at"=>2021-03-26 06:16:11 UTC, "updated_at"=>2021-03-26 06:16:11 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:90 | devise-test-suite.update | SUCCEEDED | 0.001s
+Processing by Devise::PasswordExpiredController#show as HTML
+MONGODB | localhost:27017 req:91 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c2bf3a8d0622200c831'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:91 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:92 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c2bf3a8d0622200c831')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:11 UTC, "updated_at"=>2021-03-26 06:16:11 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:92 | devise-test-suite.update | SUCCEEDED | 0.001s
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 5ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:93 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:93 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:94 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:94 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:95 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:95 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:96 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:96 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_show_if_user_not_logged_in
+-----------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:97 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:97 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:98 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c2bf3a8d0622200c832'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:98 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:99 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c2bf3a8d0622200c832'), "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$AgaECDHjnfowxPvCeAxxLO9JyFw7NFSiRIZoXLEnbSu8.MP/I24kW", "failed_attempts"=...
+MONGODB | localhost:27017 req:99 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#show as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 2ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:100 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:100 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:101 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:101 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:102 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:102 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:103 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:103 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_does_not_need_password_change
+-----------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:104 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:104 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:105 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c2cf3a8d0622200c833'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:105 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:106 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c2cf3a8d0622200c833'), "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$NdrjJUdkgG7Sg.2VBzstMuve01xGj3KzECEmj2HgdQ7oNijZFzmva", "failed_attempts"=...
+MONGODB | localhost:27017 req:106 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:107 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c2cf3a8d0622200c833')}, "u"=>{"$set"=>{"password_changed_at"=>2021-03-26 06:16:12 UTC, "updated_at"=>2021-03-26 06:16:12 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:107 | devise-test-suite.update | SUCCEEDED | 0.001s
+Processing by Devise::PasswordExpiredController#update as HTML
+MONGODB | localhost:27017 req:108 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c2cf3a8d0622200c833'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:108 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:109 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c2cf3a8d0622200c833')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:12 UTC, "updated_at"=>2021-03-26 06:16:12 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:109 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 4ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:110 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:110 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:111 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:111 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:112 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:112 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:113 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:113 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_redirects_on_update_if_user_not_logged_in
+-------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:114 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:114 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:115 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c2df3a8d0622200c834'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:115 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:116 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c2df3a8d0622200c834'), "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$g3idE.DR9Zefy43Sq9Rg8eDDf4M6KEZx4Krg/fzdVSk8vZntrzv2q", "failed_attempts"=...
+MONGODB | localhost:27017 req:116 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#update as HTML
+Redirected to http://test.host/
+Filter chain halted as :skip_password_change rendered or redirected
+Completed 302 Found in 1ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:117 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:117 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:118 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:118 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:119 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:119 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:120 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:120 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_should_render_show
+--------------------------------------------------------------
+MONGODB | localhost:27017 req:121 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:121 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:122 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c2ef3a8d0622200c835'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:122 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:123 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c2ef3a8d0622200c835'), "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$woEatVzBVuxL07wTpwWdKeynavz6KrGhcICnALiAXqyHvZszznOha", "failed_attempts"=...
+MONGODB | localhost:27017 req:123 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#show as HTML
+MONGODB | localhost:27017 req:124 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c2ef3a8d0622200c835'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:124 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:125 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c2ef3a8d0622200c835')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:14 UTC, "updated_at"=>2021-03-26 06:16:14 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:125 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_error_messages.html.erb (0.1ms)
+ Rendered /Users/dillonwelch/Code/devise-security/app/views/devise/password_expired/show.html.erb (1.1ms)
+Completed 200 OK in 7ms (Views: 1.6ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:126 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:126 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:127 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:127 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:128 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:128 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:129 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:129 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_JSON_format
+-----------------------------------------------------------------------------
+MONGODB | localhost:27017 req:130 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:130 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:131 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c2ff3a8d0622200c836'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:131 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:132 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c2ff3a8d0622200c836'), "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$6NQupwr3pJ6T5vashDyKnuus2q8xYQgGJOv5GvvpQeNxlk6xoSw9W", "failed_attempts"=...
+MONGODB | localhost:27017 req:132 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#update as JSON
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:133 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c2ff3a8d0622200c836'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:133 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:134 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c2ff3a8d0622200c836')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:15 UTC, "updated_at"=>2021-03-26 06:16:15 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:134 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:135 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c2ff3a8d0622200c836'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:135 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:136 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c2ff3a8d0622200c836'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$6NQupwr3pJ6T5vashDyKnuus2q8xYQgGJOv5GvvpQeNxlk6xoSw9W"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:136 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:137 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c30f3a8d0622200c837'), "encrypted_password"=>"$2a$12$6NQupwr3pJ6T5vashDyKnuus2q8xYQgGJOv5GvvpQeNxlk6xoSw9W", "password_archivable_id"=>BSON::ObjectId('605d7c2ff3a8...
+MONGODB | localhost:27017 req:137 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:138 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c2ff3a8d0622200c836'), "password_archivable_type"=>"User"}, "skip"=>5, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227226...
+MONGODB | localhost:27017 req:138 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:139 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c2ff3a8d0622200c836')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$wSERiZNMEUXIfrya23ozTuwcONsZkZac/8u3N0ji3hoT7dXIGr1Cm", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:139 | devise-test-suite.update | SUCCEEDED | 0.000s
+Completed 204 No Content in 1397ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:140 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:140 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:141 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:141 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:142 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:142 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:143 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:143 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_using_XML_format
+----------------------------------------------------------------------------
+MONGODB | localhost:27017 req:144 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:144 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:145 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c31f3a8d0622200c838'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:145 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:146 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c31f3a8d0622200c838'), "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$uoI48KWqmtXzwzVRkvxnGealWD58PfZ039MFgPkU1ZjndeHG8OjM6", "failed_attempts"=...
+MONGODB | localhost:27017 req:146 | devise-test-suite.insert | SUCCEEDED | 0.001s
+Processing by Devise::PasswordExpiredController#update as XML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:147 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c31f3a8d0622200c838'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:147 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:148 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c31f3a8d0622200c838')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:17 UTC, "updated_at"=>2021-03-26 06:16:17 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:148 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:149 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c31f3a8d0622200c838'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:149 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:150 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c31f3a8d0622200c838'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$uoI48KWqmtXzwzVRkvxnGealWD58PfZ039MFgPkU1ZjndeHG8OjM6"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:150 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:151 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c32f3a8d0622200c839'), "encrypted_password"=>"$2a$12$uoI48KWqmtXzwzVRkvxnGealWD58PfZ039MFgPkU1ZjndeHG8OjM6", "password_archivable_id"=>BSON::ObjectId('605d7c31f3a8...
+MONGODB | localhost:27017 req:151 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:152 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c31f3a8d0622200c838'), "password_archivable_type"=>"User"}, "skip"=>5, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227226...
+MONGODB | localhost:27017 req:152 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:153 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c31f3a8d0622200c838')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$HTkV7KsjSdaMUAV/tHfioum08P7qMjvPLKsV9ufW/EqabGKxYImhK", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:153 | devise-test-suite.update | SUCCEEDED | 0.000s
+Completed 204 No Content in 1305ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:154 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:154 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:155 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:155 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:156 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:156 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:157 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:157 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------------------------
+Devise::PasswordExpiredControllerTest: test_update_password_with_default_format
+-------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:158 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:158 | devise-test-suite.find | SUCCEEDED | 0.017s
+MONGODB | localhost:27017 req:159 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c33f3a8d0622200c83a'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:159 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:160 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c33f3a8d0622200c83a'), "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$i2QGavN5LFsJnm.4ezTENuEXPKsRrKFzzC4OpES7gdWOQZbmu/StW", "failed_attempts"=...
+MONGODB | localhost:27017 req:160 | devise-test-suite.insert | SUCCEEDED | 0.000s
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:161 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c33f3a8d0622200c83a'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:161 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:162 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c33f3a8d0622200c83a')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:19 UTC, "updated_at"=>2021-03-26 06:16:19 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:162 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:163 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c33f3a8d0622200c83a'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:163 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:164 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c33f3a8d0622200c83a'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$i2QGavN5LFsJnm.4ezTENuEXPKsRrKFzzC4OpES7gdWOQZbmu/StW"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:164 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:165 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c34f3a8d0622200c83b'), "encrypted_password"=>"$2a$12$i2QGavN5LFsJnm.4ezTENuEXPKsRrKFzzC4OpES7gdWOQZbmu/StW", "password_archivable_id"=>BSON::ObjectId('605d7c33f3a8...
+MONGODB | localhost:27017 req:165 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:166 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c33f3a8d0622200c83a'), "password_archivable_type"=>"User"}, "skip"=>5, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227226...
+MONGODB | localhost:27017 req:166 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:167 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c33f3a8d0622200c83a')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$U7Rb2pcqtMjeirK3f5SawOr3nIzVlJE6x3rDi8SW3hLP0.eS92r/y", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:167 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://test.host/
+Completed 302 Found in 1193ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:168 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:168 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:169 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:169 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:170 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:170 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:171 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:171 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------
+TestSessionLimitableWorkflow: test_failed_login
+-----------------------------------------------
+MONGODB | localhost:27017 req:172 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:172 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:173 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c35f3a8d0622200c83c'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:173 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:174 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c35f3a8d0622200c83c'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$n9eGpgsm1LQLSL81zNvxt..G5CrJLhbMwm3asd/YIYhhsvODOfGee", "failed_attempts"=...
+MONGODB | localhost:27017 req:174 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.6ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 224.0ms
+Sent mail to bob@microsoft.com (6.8ms)
+Date: Fri, 26 Mar 2021 02:16:21 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c35cb9f2_162223fc6b6836e103207b@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=Ax4HotC4q3fF1GM45mDD">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:175 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c35f3a8d0622200c83c')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 06:16:21 UTC, "updated_at"=>2021-03-26 06:16:21 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:175 | devise-test-suite.update | SUCCEEDED | 0.001s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 02:16:21 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:176 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid...
+MONGODB | localhost:27017 req:176 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:177 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c35f3a8d0622200c83c'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "u"=>{"$inc"=>{"f...
+MONGODB | localhost:27017 req:177 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:178 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c35f3a8d0622200c83c')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:178 | devise-test-suite.find | SUCCEEDED | 0.000s
+Completed 401 Unauthorized in 236ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.6ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (3.5ms)
+Completed 200 OK in 211ms (Views: 4.2ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:179 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c35f3a8d0622200c83c')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:179 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:180 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:180 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:181 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:181 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:182 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:182 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:183 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:183 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------
+TestSessionLimitableWorkflow: test_session_is_logged_out_when_another_session_is_created
+----------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:184 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:184 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:185 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:185 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:186 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$t0JMix0NkYl4PU8Vburq5OEEa6U1YqgOkpY4/13v71.yPj5jrOBG6", "failed_attempts"=...
+MONGODB | localhost:27017 req:186 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.6ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.9ms
+Sent mail to bob@microsoft.com (2.5ms)
+Date: Fri, 26 Mar 2021 02:16:23 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c37b241_162223fc6b6836e103215@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=_tmLE9otRTqgxf536ELL">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:187 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 06:16:23 UTC, "updated_at"=>2021-03-26 06:16:23 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:187 | devise-test-suite.update | SUCCEEDED | 0.001s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 02:16:23 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:188 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid...
+MONGODB | localhost:27017 req:188 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:189 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d')}, "u"=>{"$set"=>{"last_sign_in_at"=>2021-03-26 06:16:23 UTC, "current_sign_in_at"=>2021-03-26 06:16:23 UTC, "last_sign_in_ip"=>"127...
+MONGODB | localhost:27017 req:189 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:190 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d')}, "u"=>{"$set"=>{"unique_session_id"=>"Pb1XPLpbJaazHTgzz4t9"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227...
+MONGODB | localhost:27017 req:190 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=Pb1XPLpbJaazHTgzz4t9
+MONGODB | localhost:27017 req:191 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:23 UTC, "updated_at"=>2021-03-26 06:16:23 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:191 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 272ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 02:16:23 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:192 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:192 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:193 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:23 UTC, "updated_at"=>2021-03-26 06:16:23 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:193 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 7ms (Views: 1.3ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:194 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:194 | devise-test-suite.find | SUCCEEDED | 0.001s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 02:16:23 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:195 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid...
+MONGODB | localhost:27017 req:195 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:196 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d')}, "u"=>{"$set"=>{"current_sign_in_at"=>2021-03-26 06:16:23 UTC, "sign_in_count"=>2, "updated_at"=>2021-03-26 06:16:23 UTC}}}], "$db...
+MONGODB | localhost:27017 req:196 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:197 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d')}, "u"=>{"$set"=>{"unique_session_id"=>"owgsePcxmhfwKU1-F7pb"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227...
+MONGODB | localhost:27017 req:197 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=owgsePcxmhfwKU1-F7pb
+MONGODB | localhost:27017 req:198 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:23 UTC, "updated_at"=>2021-03-26 06:16:23 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:198 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 224ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 02:16:23 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:199 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:199 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:200 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:23 UTC, "updated_at"=>2021-03-26 06:16:23 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:200 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 5ms (Views: 0.2ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:201 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:201 | devise-test-suite.find | SUCCEEDED | 0.000s
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 02:16:23 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:202 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c37f3a8d0622200c83d'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:202 | devise-test-suite.find | SUCCEEDED | 0.001s
+[devise-security][session_limitable] session id mismatch: expected="owgsePcxmhfwKU1-F7pb" actual="Pb1XPLpbJaazHTgzz4t9"
+Completed 401 Unauthorized in 3ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:203 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:203 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:204 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:204 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:205 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:205 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:206 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:206 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------
+TestSessionLimitableWorkflow: test_successful_login
+---------------------------------------------------
+MONGODB | localhost:27017 req:207 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:207 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:208 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c38f3a8d0622200c83e'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:208 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:209 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c38f3a8d0622200c83e'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$VnlldORQTCW53ioduS21c.jk1R8xbKRg.Nfp9IJSKXN65uaWcmfQG", "failed_attempts"=...
+MONGODB | localhost:27017 req:209 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.4ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 3.2ms
+Sent mail to bob@microsoft.com (2.2ms)
+Date: Fri, 26 Mar 2021 02:16:24 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c383a22e_162223fc6b6836e1032239@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=S9ZMkz9xYy28JZpvwAeD">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:210 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c38f3a8d0622200c83e')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 06:16:24 UTC, "updated_at"=>2021-03-26 06:16:24 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:210 | devise-test-suite.update | SUCCEEDED | 0.000s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 02:16:24 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:211 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid...
+MONGODB | localhost:27017 req:211 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:212 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c38f3a8d0622200c83e')}, "u"=>{"$set"=>{"last_sign_in_at"=>2021-03-26 06:16:24 UTC, "current_sign_in_at"=>2021-03-26 06:16:24 UTC, "last_sign_in_ip"=>"127...
+MONGODB | localhost:27017 req:212 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:213 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c38f3a8d0622200c83e')}, "u"=>{"$set"=>{"unique_session_id"=>"AJ-5uxbBPWz8yB7GnbGz"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227...
+MONGODB | localhost:27017 req:213 | devise-test-suite.update | SUCCEEDED | 0.001s
+[devise-security][session_limitable] unique_session_id=AJ-5uxbBPWz8yB7GnbGz
+MONGODB | localhost:27017 req:214 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c38f3a8d0622200c83e')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:24 UTC, "updated_at"=>2021-03-26 06:16:24 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:214 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 240ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+Started GET "/widgets" for 127.0.0.1 at 2021-03-26 02:16:24 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:215 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c38f3a8d0622200c83e'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:215 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:216 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c38f3a8d0622200c83e')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:24 UTC, "updated_at"=>2021-03-26 06:16:24 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:216 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 7ms (Views: 0.4ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:217 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c38f3a8d0622200c83e')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:217 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:218 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:218 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:219 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:219 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:220 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:220 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:221 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:221 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_raises_an_exception_on_an_unpersisted_record
+---------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:222 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:222 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:223 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:223 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:224 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:224 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:225 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:225 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_invalid_record_atomically
+----------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:226 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:226 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:227 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c39f3a8d0622200c83f'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:227 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:228 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c39f3a8d0622200c83f'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$maR6b.m2tpTAaTJJM..k1.W5AXcmYma2B1X8SfT.ZIlyWDtir4otK", "failed_attempts"=...
+MONGODB | localhost:27017 req:228 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 02:16:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c392f96a_162223fc6b6836e1032388@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=yo61VKxJn5wqF6zLbb1z">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:229 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c39f3a8d0622200c83f')}, "u"=>{"$set"=>{"unique_session_id"=>"unique_value"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380...
+MONGODB | localhost:27017 req:229 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=unique_value
+MONGODB | localhost:27017 req:230 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c39f3a8d0622200c83f')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:230 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:231 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:231 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:232 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:232 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:233 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:233 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:234 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:234 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestSessionLimitable: test_#update_unique_session_id!(value)_updates_valid_record
+---------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:235 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:235 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:236 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c39f3a8d0622200c840'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:236 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:237 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c39f3a8d0622200c840'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$8q.sq7Usq3MIVgumglN88eyXUOhj3mpuWCYgKL2aqt3/jlNcTHci6", "failed_attempts"=...
+MONGODB | localhost:27017 req:237 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.5ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 3.3ms
+Sent mail to bob@microsoft.com (3.3ms)
+Date: Fri, 26 Mar 2021 02:16:25 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c39dab68_162223fc6b6836e10324fa@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=sV-sJjspDrEccde_PN-8">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:238 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c39f3a8d0622200c840')}, "u"=>{"$set"=>{"unique_session_id"=>"unique_value"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380...
+MONGODB | localhost:27017 req:238 | devise-test-suite.update | SUCCEEDED | 0.025s
+[devise-security][session_limitable] unique_session_id=unique_value
+MONGODB | localhost:27017 req:239 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c39f3a8d0622200c840')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:239 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:240 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:240 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:241 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:241 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:242 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:242 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:243 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:243 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------
+TestSessionLimitable: test_check_is_not_skipped_by_default
+----------------------------------------------------------
+MONGODB | localhost:27017 req:244 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:244 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:245 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c3af3a8d0622200c841'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:245 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:246 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:246 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:247 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:247 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:248 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:248 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:249 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:249 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------
+TestSessionLimitable: test_default_check_can_be_overridden_by_record_instance
+-----------------------------------------------------------------------------
+MONGODB | localhost:27017 req:250 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob2@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:250 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:251 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c3bf3a8d0622200c842'), "password_archivable_type"=>"TestSessionLimitable::ModifiedUser"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>...
+MONGODB | localhost:27017 req:251 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:252 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:252 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:253 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:253 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:254 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:254 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:255 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:255 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------
+TestSessionLimitable: test_includes_Devise::Models::Compatibility
+-----------------------------------------------------------------
+MONGODB | localhost:27017 req:256 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:256 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:257 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:257 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:258 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:258 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:259 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:259 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------------------------
+TestWithoutSecurityQuestion: test_When_security_question_is_not_enabled_it_is_not_inserted
+------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:260 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:260 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:261 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c3cf3a8d0622200c843'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:261 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:262 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"unlock_token"=>"0ae3f908a30ea33d25f7e63edb10732afc6dc7c9bbdc3c10e56baefcbcd9f921", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1,...
+MONGODB | localhost:27017 req:262 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:263 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c3cf3a8d0622200c843'), "email"=>"hello@path.travel", "encrypted_password"=>"$2a$12$JTkWLW6OOJ9I/Z8SqA.Ptepa0JWEVAt5BK1b5n9xu/4eD5UwGLe5i", "failed_attempts"=...
+MONGODB | localhost:27017 req:263 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.0ms
+Sent mail to hello@path.travel (1.2ms)
+Date: Fri, 26 Mar 2021 02:16:28 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d7c3c1ecd9_162223fc6b6836e1032529@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome hello@path.travel!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=W94gLwMvz13w73gxDW9p">Confirm my account</a></p>
+
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.6ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 55.7ms
+Sent mail to hello@path.travel (1.5ms)
+Date: Fri, 26 Mar 2021 02:16:28 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d7c3c2ccaf_162223fc6b6836e103263f@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=AqUz_zDDG4KebzWguNNR">Unlock my account</a></p>
+
+Processing by Devise::UnlocksController#create as HTML
+ Parameters: {"user"=>{"email"=>"hello@path.travel"}}
+MONGODB | localhost:27017 req:264 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"hello@path.travel", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid...
+MONGODB | localhost:27017 req:264 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:265 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"unlock_token"=>"97849a0fcad7918fb1636ed53aef40533f3b80196d101cd349b2bf4773b9da31", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1,...
+MONGODB | localhost:27017 req:265 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:266 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c3cf3a8d0622200c843')}, "u"=>{"$set"=>{"unlock_token"=>"97849a0fcad7918fb1636ed53aef40533f3b80196d101cd349b2bf4773b9da31", "updated_at"=>2021-03-26 06:16...
+MONGODB | localhost:27017 req:266 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.2ms
+Sent mail to hello@path.travel (1.7ms)
+Date: Fri, 26 Mar 2021 02:16:28 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@path.travel
+Message-ID: <605d7c3c2f743_162223fc6b6836e10327c1@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@path.travel!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/users/unlock?unlock_token=3VdYskW4cKDnqfAiY-6-">Unlock my account</a></p>
+
+Redirected to http://test.host/users/sign_in
+Completed 302 Found in 15ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:267 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:267 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:268 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:268 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:269 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:269 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:270 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:270 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------
+TestCompatibility: test_can_access_ActiveRecord_namespace
+---------------------------------------------------------
+MONGODB | localhost:27017 req:271 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:271 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:272 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:272 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:273 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:273 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:274 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:274 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------
+TestCompatibility: test_can_access_Mongoid_namespace
+----------------------------------------------------
+MONGODB | localhost:27017 req:275 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:275 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:276 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:276 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:277 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:277 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:278 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:278 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_duplicate_email_validation_message_is_added_only_once
+---------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:279 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"test@example.org", "_type"=>"SecureUser"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:279 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:280 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"users", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c3cf3a8d0622200c844'), "email"=>"test@example.org", "encrypted_password"=>"$2a$12$nVrFlGSi863h4Yot6qERhOpBeRhygVIaWwyYEy/cHzCLCVhxeK4aO", "_type"=>"SecureUser", "updated_a...
+MONGODB | localhost:27017 req:280 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:281 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"test@example.org", "_type"=>"SecureUser"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:281 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:282 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:282 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:283 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:283 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:284 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:284 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:285 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:285 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------
+TestSecureValidatable: test_email_cannot_be_blank
+-------------------------------------------------
+MONGODB | localhost:27017 req:286 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:286 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:287 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c3df3a8d0622200c845'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:287 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:288 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:288 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:289 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c3df3a8d0622200c845'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:289 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:290 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:290 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:291 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c3df3a8d0622200c845'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:291 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:292 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:292 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:293 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:293 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:294 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:294 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:295 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:295 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------
+TestSecureValidatable: test_email_must_be_valid
+-----------------------------------------------
+MONGODB | localhost:27017 req:296 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}...
+MONGODB | localhost:27017 req:296 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:297 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c3ef3a8d0622200c846'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:297 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:298 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}...
+MONGODB | localhost:27017 req:298 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:299 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c3ef3a8d0622200c846'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:299 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:300 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}...
+MONGODB | localhost:27017 req:300 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:301 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c3ef3a8d0622200c846'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:301 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:302 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:302 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:303 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:303 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:304 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:304 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:305 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:305 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_existing_user
+----------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:306 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:306 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:307 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c40f3a8d0622200c847'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:307 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:308 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c40f3a8d0622200c847'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$LMTpPu7.Z8cO1JUEGT7sJ.d3LchdfeFivZOXRL2H5jhlQ9XnUzyaq", "paranoid_verifica...
+MONGODB | localhost:27017 req:308 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:309 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c40f3a8d0622200c847'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:309 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:310 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c40f3a8d0622200c847'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:310 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:311 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:311 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:312 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:312 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:313 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:313 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:314 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:314 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_for_new_user
+-----------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:315 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:315 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:316 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c43f3a8d0622200c848'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:316 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:317 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:317 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:318 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c43f3a8d0622200c848'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:318 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:319 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:319 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:320 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c43f3a8d0622200c848'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:320 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:321 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:321 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:322 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:322 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:323 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:323 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:324 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:324 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_existing_user
+----------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:325 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:325 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:326 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c44f3a8d0622200c849'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:326 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:327 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c44f3a8d0622200c849'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$bg61wY/0TNJl1PTpLOKN0OdItCcfWFVih8LL0xvKnFIE.u5sLUY0O", "paranoid_verifica...
+MONGODB | localhost:27017 req:327 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:328 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c44f3a8d0622200c849'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:328 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:329 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c44f3a8d0622200c849'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:329 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:330 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:330 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:331 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:331 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:332 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:332 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:333 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:333 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_case_sensitive_version_of_email_with_spaces_for_new_user
+-----------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:334 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:334 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:335 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c47f3a8d0622200c84a'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:335 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:336 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:336 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:337 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c47f3a8d0622200c84a'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:337 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:338 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:338 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:339 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c47f3a8d0622200c84a'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:339 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:340 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:340 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:341 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:341 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:342 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:342 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:343 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:343 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_existing_user
+--------------------------------------------------------------------------
+MONGODB | localhost:27017 req:344 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:344 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:345 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c48f3a8d0622200c84b'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:345 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:346 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c48f3a8d0622200c84b'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$7.25DUCgRyenbQ/m4K9P/.GpMB113lE6R92f059N2KG7Bwq6z2Tie", "paranoid_verifica...
+MONGODB | localhost:27017 req:346 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:347 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c48f3a8d0622200c84b'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:347 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:348 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c48f3a8d0622200c84b'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:348 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:349 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:349 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:350 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:350 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:351 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:351 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:352 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:352 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_for_new_user
+---------------------------------------------------------------------
+MONGODB | localhost:27017 req:353 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:353 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:354 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c4bf3a8d0622200c84c'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:354 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:355 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:355 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:356 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c4bf3a8d0622200c84c'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:356 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:357 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:357 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:358 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c4bf3a8d0622200c84c'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:358 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:359 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:359 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:360 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:360 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:361 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:361 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:362 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:362 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_existing_user
+--------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:363 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:363 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:364 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c4cf3a8d0622200c84d'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:364 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:365 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c4cf3a8d0622200c84d'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$VyIaN0oDwZCztn8SCZm5huYHGs8.aogCXJZyeYP3JEXuTpV/AlbAS", "paranoid_verifica...
+MONGODB | localhost:27017 req:365 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:366 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c4cf3a8d0622200c84d'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:366 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:367 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c4cf3a8d0622200c84d'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:367 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:368 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:368 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:369 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:369 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:370 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:370 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:371 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:371 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestSecureValidatable: test_password_can_not_equal_email_with_spaces_for_new_user
+---------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:372 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:372 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:373 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c4ff3a8d0622200c84e'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:373 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:374 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:374 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:375 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c4ff3a8d0622200c84e'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:375 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:376 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:376 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:377 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c4ff3a8d0622200c84e'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:377 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:378 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:378 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:379 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:379 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:380 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:380 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:381 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:381 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_capital_letter
+-------------------------------------------------------------
+MONGODB | localhost:27017 req:382 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:382 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:383 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c51f3a8d0622200c84f'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:383 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:384 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:384 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:385 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c51f3a8d0622200c84f'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:385 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:386 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:386 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:387 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c51f3a8d0622200c84f'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:387 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:388 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:388 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:389 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:389 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:390 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:390 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:391 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:391 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_lowercase_letter
+---------------------------------------------------------------
+MONGODB | localhost:27017 req:392 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:392 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:393 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c53f3a8d0622200c850'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:393 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:394 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:394 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:395 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c53f3a8d0622200c850'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:395 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:396 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:396 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:397 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c53f3a8d0622200c850'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:397 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:398 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:398 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:399 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:399 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:400 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:400 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:401 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:401 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------
+TestSecureValidatable: test_password_must_have_minimum_length
+-------------------------------------------------------------
+MONGODB | localhost:27017 req:402 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:402 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:403 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c55f3a8d0622200c851'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:403 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:404 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:404 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:405 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c55f3a8d0622200c851'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:405 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:406 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:406 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:407 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c55f3a8d0622200c851'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:407 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:408 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:408 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:409 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:409 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:410 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:410 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:411 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:411 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------
+TestSecureValidatable: test_password_must_have_number
+-----------------------------------------------------
+MONGODB | localhost:27017 req:412 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:412 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:413 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c57f3a8d0622200c852'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:413 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:414 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:414 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:415 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c57f3a8d0622200c852'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:415 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:416 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b...
+MONGODB | localhost:27017 req:416 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:417 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c57f3a8d0622200c852'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:417 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:418 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:418 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:419 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:419 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:420 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:420 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:421 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:421 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------
+TestSecureValidatable: test_validate_both_email_and_password
+------------------------------------------------------------
+MONGODB | localhost:27017 req:422 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@@foo.tv", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b...
+MONGODB | localhost:27017 req:422 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:423 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c58f3a8d0622200c853'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:423 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:424 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@@foo.tv", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b...
+MONGODB | localhost:27017 req:424 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:425 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c58f3a8d0622200c853'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:425 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:426 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@@foo.tv", "_type"=>"TestSecureValidatable::User"}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b...
+MONGODB | localhost:27017 req:426 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:427 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c58f3a8d0622200c853'), "password_archivable_type"=>"TestSecureValidatable::User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$d...
+MONGODB | localhost:27017 req:427 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:428 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:428 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:429 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:429 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:430 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:430 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:431 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:431 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_change_expired_password
+-----------------------------------------------------------------------
+MONGODB | localhost:27017 req:432 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:432 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:433 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:433 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:434 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$hcOg0sTg5oUjuiXkXpfY4.GMxaGGq9OB8TQjKSyRTCdETDv.VdwG6", "failed_attempts"=...
+MONGODB | localhost:27017 req:434 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.1ms
+Sent mail to bob@microsoft.com (1.2ms)
+Date: Fri, 26 Mar 2021 02:16:58 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c5a47766_162223fc6b6836e1032835@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=yR3gcz4hvJkznziE3ayp">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:435 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 06:16:58 UTC, "updated_at"=>2021-03-26 06:16:58 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:435 | devise-test-suite.update | SUCCEEDED | 0.000s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 02:16:58 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:436 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid...
+MONGODB | localhost:27017 req:436 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:437 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854')}, "u"=>{"$set"=>{"last_sign_in_at"=>2021-03-26 06:16:58 UTC, "current_sign_in_at"=>2021-03-26 06:16:58 UTC, "last_sign_in_ip"=>"127...
+MONGODB | localhost:27017 req:437 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:438 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854')}, "u"=>{"$set"=>{"unique_session_id"=>"WbzSW1bHEp39_fMjDaXp"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227...
+MONGODB | localhost:27017 req:438 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=WbzSW1bHEp39_fMjDaXp
+MONGODB | localhost:27017 req:439 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:58 UTC, "updated_at"=>2021-03-26 06:16:58 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:439 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 210ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+Started GET "/" for 127.0.0.1 at 2021-03-26 02:16:58 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:440 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:440 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:441 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:58 UTC, "updated_at"=>2021-03-26 06:16:58 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:441 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/users/password_expired
+Filter chain halted as :handle_password_change rendered or redirected
+Completed 302 Found in 3ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+Started PUT "/users/password_expired" for 127.0.0.1 at 2021-03-26 02:16:58 -0400
+Processing by Devise::PasswordExpiredController#update as HTML
+ Parameters: {"user"=>{"current_password"=>"[FILTERED]", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:442 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:442 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:443 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:16:58 UTC, "updated_at"=>2021-03-26 06:16:58 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:443 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:444 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:444 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:445 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$hcOg0sTg5oUjuiXkXpfY4.GMxaGGq9OB8TQjKSyRTCdETDv.VdwG6"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:445 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:446 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c5bf3a8d0622200c855'), "encrypted_password"=>"$2a$12$hcOg0sTg5oUjuiXkXpfY4.GMxaGGq9OB8TQjKSyRTCdETDv.VdwG6", "password_archivable_id"=>BSON::ObjectId('605d7c5af3a8...
+MONGODB | localhost:27017 req:446 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:447 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854'), "password_archivable_type"=>"User"}, "skip"=>5, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227226...
+MONGODB | localhost:27017 req:447 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:448 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$/WGI5K3jSkgdaaRG62VqA.vrv9b5tQiTYNKE4sqmUmHWabXViUa5K", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:448 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 1306ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:449 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c5af3a8d0622200c854')}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:449 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:450 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:450 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:451 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:451 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:452 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:452 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:453 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:453 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------
+TestPasswordExpirableWorkflow: test_sign_in_and_password_is_updated_before_redirect_completes
+---------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:454 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:454 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:455 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5cf3a8d0622200c856'), "password_archivable_type"=>"User"}, "limit"=>5, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:455 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:456 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c5cf3a8d0622200c856'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$9mbmIeAdeSg7mSWihr3dDub1C6HMVOloee1r/FLe4bIZnun.y0xM6", "failed_attempts"=...
+MONGODB | localhost:27017 req:456 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.8ms
+Sent mail to bob@microsoft.com (1.9ms)
+Date: Fri, 26 Mar 2021 02:17:00 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c5c79084_162223fc6b6836e1032932@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=bb1ff6Uc4zEyPMBUyETs">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:457 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5cf3a8d0622200c856')}, "u"=>{"$set"=>{"confirmed_at"=>2021-03-26 06:17:00 UTC, "updated_at"=>2021-03-26 06:17:00 UTC}}}], "$db"=>"devise-test-suite", "l...
+MONGODB | localhost:27017 req:457 | devise-test-suite.update | SUCCEEDED | 0.000s
+Started POST "/users/sign_in" for 127.0.0.1 at 2021-03-26 02:17:00 -0400
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"bob@microsoft.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:458 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid...
+MONGODB | localhost:27017 req:458 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:459 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5cf3a8d0622200c856')}, "u"=>{"$set"=>{"last_sign_in_at"=>2021-03-26 06:17:00 UTC, "current_sign_in_at"=>2021-03-26 06:17:00 UTC, "last_sign_in_ip"=>"127...
+MONGODB | localhost:27017 req:459 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:460 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5cf3a8d0622200c856')}, "u"=>{"$set"=>{"unique_session_id"=>"xFsVZbcqGffS1xpdKq_w"}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227...
+MONGODB | localhost:27017 req:460 | devise-test-suite.update | SUCCEEDED | 0.000s
+[devise-security][session_limitable] unique_session_id=xFsVZbcqGffS1xpdKq_w
+MONGODB | localhost:27017 req:461 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5cf3a8d0622200c856')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:17:00 UTC, "updated_at"=>2021-03-26 06:17:00 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:461 | devise-test-suite.update | SUCCEEDED | 0.000s
+Redirected to http://www.example.com/
+Completed 302 Found in 215ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:462 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5cf3a8d0622200c856')}, "u"=>{"$set"=>{"password_changed_at"=>2021-03-26 06:17:00 UTC, "updated_at"=>2021-03-26 06:17:00 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:462 | devise-test-suite.update | SUCCEEDED | 0.001s
+Started GET "/" for 127.0.0.1 at 2021-03-26 02:17:00 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:463 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c5cf3a8d0622200c856'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:463 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:464 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5cf3a8d0622200c856')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:17:00 UTC, "updated_at"=>2021-03-26 06:17:00 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:464 | devise-test-suite.update | SUCCEEDED | 0.001s
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 6ms (Views: 0.3ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+Started GET "/" for 127.0.0.1 at 2021-03-26 02:17:00 -0400
+Processing by WidgetsController#show as HTML
+MONGODB | localhost:27017 req:465 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"_id"=>BSON::ObjectId('605d7c5cf3a8d0622200c856'), "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "sort"=>{"_id"=>1}, "limit"=>1, "$db"=>"devi...
+MONGODB | localhost:27017 req:465 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:466 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5cf3a8d0622200c856')}, "u"=>{"$set"=>{"last_activity_at"=>2021-03-26 06:17:00 UTC, "updated_at"=>2021-03-26 06:17:00 UTC}}}], "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:466 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering text template
+ Rendered text template (0.0ms)
+Completed 200 OK in 5ms (Views: 0.3ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:467 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:467 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:468 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:468 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:469 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:469 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:470 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:470 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_enabled,_it_is_inserted_correctly
+------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:471 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"users", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c5df3a8d0622200c857'), "email"=>"hello@microsoft.com", "encrypted_password"=>"$2a$12$PzzfYldZOJEjo33HoEUXXuMrMsvtcS./a8mca/QwTT5AHyG85RPXi", "failed_attempts"=>0, "usernam...
+MONGODB | localhost:27017 req:471 | devise-test-suite.insert | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:472 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"unlock_token"=>"d37347eab9653bb9abf590a3d78f92a16932b1aaf7e9b13887363ea4eb7fc315", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x7012272261038...
+MONGODB | localhost:27017 req:472 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:473 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"users", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5df3a8d0622200c857')}, "u"=>{"$set"=>{"locked_at"=>2021-03-26 06:17:01 UTC, "unlock_token"=>"d37347eab9653bb9abf590a3d78f92a16932b1aaf7e9b13887363ea4eb7fc315", "updat...
+MONGODB | localhost:27017 req:473 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.3ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.4ms
+Sent mail to hello@microsoft.com (1.4ms)
+Date: Fri, 26 Mar 2021 02:17:01 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d7c5d1ec7_162223fc6b6836e103301c@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=-QSt4mLrz5TnWKuaJG5A">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"wrong answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+MONGODB | localhost:27017 req:474 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"hello@microsoft.com", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:474 | devise-test-suite.find | SUCCEEDED | 0.001s
+Redirected to http://test.host/security_question_users/unlock/new
+Filter chain halted as :check_security_question rendered or redirected
+Completed 302 Found in 7ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:475 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:475 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:476 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:476 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:477 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:477 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:478 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:478 | devise-test-suite.delete | SUCCEEDED | 0.003s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------
+TestWithSecurityQuestion: test_When_security_question_is_valid,_it_runs_as_normal
+---------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:479 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"users", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c5df3a8d0622200c858'), "email"=>"hello@microsoft.com", "encrypted_password"=>"$2a$12$RRA7mNO0i/UpDeJD16fnduJRGnSv5h9ZQBU06Y/w1wSi6gZaUv0GS", "failed_attempts"=>0, "usernam...
+MONGODB | localhost:27017 req:479 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:480 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"unlock_token"=>"8914456bfb19bc2c55f4052fdcc5c3bc7697febe12ee4dcd086f253dc962b5de", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x7012272261038...
+MONGODB | localhost:27017 req:480 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:481 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"users", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5df3a8d0622200c858')}, "u"=>{"$set"=>{"locked_at"=>2021-03-26 06:17:01 UTC, "unlock_token"=>"8914456bfb19bc2c55f4052fdcc5c3bc7697febe12ee4dcd086f253dc962b5de", "updat...
+MONGODB | localhost:27017 req:481 | devise-test-suite.update | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.4ms
+Sent mail to hello@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 02:17:01 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d7c5d3e5b1_162223fc6b6836e1033177@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=46HmsCLwxDcozF8ou-24">Unlock my account</a></p>
+
+Processing by SecurityQuestion::UnlocksController#create as HTML
+ Parameters: {"security_question_answer"=>"Right Answer", "security_question_user"=>{"email"=>"hello@microsoft.com"}}
+MONGODB | localhost:27017 req:482 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"hello@microsoft.com", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:482 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:483 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"email"=>"hello@microsoft.com", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:483 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:484 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"users", "filter"=>{"unlock_token"=>"df39030c3c52e38383b6e6c0792cfc6224aef1821750c34ba44ca44c01110457", "_type"=>"SecurityQuestionUser"}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x7012272261038...
+MONGODB | localhost:27017 req:484 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:485 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"users", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5df3a8d0622200c858')}, "u"=>{"$set"=>{"unlock_token"=>"df39030c3c52e38383b6e6c0792cfc6224aef1821750c34ba44ca44c01110457", "updated_at"=>2021-03-26 06:17:01 UTC}}}], "...
+MONGODB | localhost:27017 req:485 | devise-test-suite.update | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/unlock_instructions.html.erb (0.2ms)
+Devise::Mailer#unlock_instructions: processed outbound mail in 1.3ms
+Sent mail to hello@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 02:17:01 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: hello@microsoft.com
+Message-ID: <605d7c5d413b4_162223fc6b6836e1033266@Dillons-MBP.mail>
+Subject: Unlock instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Hello hello@microsoft.com!</p>
+
+<p>Your account has been locked due to an excessive number of unsuccessful sign in attempts.</p>
+
+<p>Click the link below to unlock your account:</p>
+
+<p><a href="http://test.host/security_question_users/unlock?unlock_token=QkUfpCR_UxD-C_WdTQL8">Unlock my account</a></p>
+
+Redirected to http://test.host/security_question_users/sign_in
+Completed 302 Found in 12ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:486 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:486 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:487 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:487 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:488 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:488 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:489 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:489 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------
+TestWithoutCaptcha: test_When_captcha_is_not_enabled,_it_is_not_inserted
+------------------------------------------------------------------------
+Processing by Devise::SessionsController#create as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+MONGODB | localhost:27017 req:490 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"wrong@email.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "limit"=>1, "sort"=>{"_id"=>1}, "$db"=>"devise-test-suite", "lsid"=...
+MONGODB | localhost:27017 req:490 | devise-test-suite.find | SUCCEEDED | 0.001s
+Completed 401 Unauthorized in 2ms (MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+Processing by Devise::SessionsController#new as HTML
+ Parameters: {"user"=>{"email"=>"wrong@email.com", "password"=>"[FILTERED]"}}
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/shared/_links.html.erb (0.4ms)
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/sessions/new.html.erb (1.9ms)
+Completed 200 OK in 215ms (Views: 2.4ms | MongoDB: 0.0ms | ActiveRecord: 0.0ms)
+MONGODB | localhost:27017 req:491 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:491 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:492 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:492 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:493 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:493 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:494 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:494 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+----------------------------------------------------------------
+TestInstallGenerator: test_Assert_all_files_are_properly_created
+----------------------------------------------------------------
+MONGODB | localhost:27017 req:495 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:495 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:496 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:496 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:497 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:497 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:498 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:498 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------
+TestPasswordArchivable: test_cannot_reuse_archived_passwords
+------------------------------------------------------------
+MONGODB | localhost:27017 req:499 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:499 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:500 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:500 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:501 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$l9Ts22QPffHC5fPEj9TvDOZAYj3dL51KpGfb5x.wT..a.h5mpTb.q", "failed_attempts"=...
+MONGODB | localhost:27017 req:501 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 02:17:02 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c5e349a7_162223fc6b6836e1033376@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=sxrAtX2R7VZmEyRFxTzq">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:502 conn:1:1 sconn:12 | devise-test-suite.aggregate | STARTED | {"aggregate"=>"old_passwords", "pipeline"=>[{"$match"=>{}}, {"$group"=>{"_id"=>1, "n"=>{"$sum"=>1}}}], "cursor"=>{}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:502 | devise-test-suite.aggregate | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:503 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:503 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:504 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$l9Ts22QPffHC5fPEj9TvDOZAYj3dL51KpGfb5x.wT..a.h5mpTb.q"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:504 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:505 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c5ff3a8d0622200c85a'), "encrypted_password"=>"$2a$12$l9Ts22QPffHC5fPEj9TvDOZAYj3dL51KpGfb5x.wT..a.h5mpTb.q", "password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8...
+MONGODB | localhost:27017 req:505 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:506 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227226...
+MONGODB | localhost:27017 req:506 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:507 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$pZMiWSA7AmiE12iKEEtRPuh.Gy1gIsls2u1l5TMRKhrTieGpYuUZW", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:507 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:508 conn:1:1 sconn:12 | devise-test-suite.aggregate | STARTED | {"aggregate"=>"old_passwords", "pipeline"=>[{"$match"=>{}}, {"$group"=>{"_id"=>1, "n"=>{"$sum"=>1}}}], "cursor"=>{}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:508 | devise-test-suite.aggregate | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:509 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:509 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:510 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:510 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:511 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$pZMiWSA7AmiE12iKEEtRPuh.Gy1gIsls2u1l5TMRKhrTieGpYuUZW"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:511 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:512 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c62f3a8d0622200c85b'), "encrypted_password"=>"$2a$12$pZMiWSA7AmiE12iKEEtRPuh.Gy1gIsls2u1l5TMRKhrTieGpYuUZW", "password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8...
+MONGODB | localhost:27017 req:512 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:513 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227226...
+MONGODB | localhost:27017 req:513 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:514 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$hLerN.Lpatd5hKNU.jM9reV.1bd5NACuPbBt9qWypsil70vp2uLNe", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:514 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:515 conn:1:1 sconn:12 | devise-test-suite.aggregate | STARTED | {"aggregate"=>"old_passwords", "pipeline"=>[{"$match"=>{}}, {"$group"=>{"_id"=>1, "n"=>{"$sum"=>1}}}], "cursor"=>{}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:515 | devise-test-suite.aggregate | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:516 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:516 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:517 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$hLerN.Lpatd5hKNU.jM9reV.1bd5NACuPbBt9qWypsil70vp2uLNe"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:517 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:518 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c63f3a8d0622200c85c'), "encrypted_password"=>"$2a$12$hLerN.Lpatd5hKNU.jM9reV.1bd5NACuPbBt9qWypsil70vp2uLNe", "password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8...
+MONGODB | localhost:27017 req:518 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:519 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227226...
+MONGODB | localhost:27017 req:519 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:520 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5ff3a8d0622200c85a')}, "limit"=>1}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:520 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:521 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$G4dYAEIW4PlqQ/cBPbcfNu5Aec8.5uH2bUXU3tpRbRp99TrebshuW", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:521 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:522 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:522 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:523 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$G4dYAEIW4PlqQ/cBPbcfNu5Aec8.5uH2bUXU3tpRbRp99TrebshuW"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:523 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:524 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c65f3a8d0622200c85d'), "encrypted_password"=>"$2a$12$G4dYAEIW4PlqQ/cBPbcfNu5Aec8.5uH2bUXU3tpRbRp99TrebshuW", "password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8...
+MONGODB | localhost:27017 req:524 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:525 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227226...
+MONGODB | localhost:27017 req:525 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:526 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c62f3a8d0622200c85b')}, "limit"=>1}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:526 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:527 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$B0wUzDMP13L8tXL3b2QIseOHawsphXI9l4INNOItzTGlkE/E/PBJ6", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:527 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:528 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:528 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:529 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$B0wUzDMP13L8tXL3b2QIseOHawsphXI9l4INNOItzTGlkE/E/PBJ6"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:529 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:530 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c66f3a8d0622200c85e'), "encrypted_password"=>"$2a$12$B0wUzDMP13L8tXL3b2QIseOHawsphXI9l4INNOItzTGlkE/E/PBJ6", "password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8...
+MONGODB | localhost:27017 req:530 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:531 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859'), "password_archivable_type"=>"User"}, "skip"=>2, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227226...
+MONGODB | localhost:27017 req:531 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:532 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c63f3a8d0622200c85c')}, "limit"=>1}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:532 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:533 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c5ef3a8d0622200c859')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$IQcv4Z2LzNnKgZ431P73fuHOQlpIt6Pvyd.HCTnN/xnfId.uahijq", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:533 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:534 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:534 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:535 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:535 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:536 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:536 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:537 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:537 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------
+TestPasswordArchivable: test_cannot_use_same_password
+-----------------------------------------------------
+MONGODB | localhost:27017 req:538 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:538 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:539 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c67f3a8d0622200c85f'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:539 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:540 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c67f3a8d0622200c85f'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$QsD4lBTX8pWFiQIpEup0pOeJdTOqoWNSFAxKul86EGsK.D6SSjMK2", "failed_attempts"=...
+MONGODB | localhost:27017 req:540 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 22.5ms
+Sent mail to bob@microsoft.com (1.8ms)
+Date: Fri, 26 Mar 2021 02:17:11 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c67b0fd4_162223fc6b6836e1033472@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=_LPC_hJvqozBMAyote8m">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:541 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c67f3a8d0622200c85f'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:541 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:542 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:542 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:543 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:543 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:544 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:544 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:545 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:545 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_does_not_save_an_OldPassword_if_user_password_was_originally_nil
+---------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:546 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:546 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:547 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c69f3a8d0622200c860'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:547 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:548 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c69f3a8d0622200c860'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$Ua41ZMczenb83Rp6oOyEnuWKnvoZOOrBRpLdZEbuEHN12Pr6lw4FK", "failed_attempts"=...
+MONGODB | localhost:27017 req:548 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Fri, 26 Mar 2021 02:17:13 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c69bbae3_162223fc6b6836e103352b@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=z2WFFnkz9rEzBaTH4pCt">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:549 conn:1:1 sconn:12 | devise-test-suite.aggregate | STARTED | {"aggregate"=>"old_passwords", "pipeline"=>[{"$match"=>{}}, {"$group"=>{"_id"=>1, "n"=>{"$sum"=>1}}}], "cursor"=>{}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:549 | devise-test-suite.aggregate | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:550 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:550 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:551 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:551 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:552 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:552 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:553 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:553 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.2ms)[0m [1m[36mbegin transaction[0m
+-----------------------------------------------------
+TestPasswordArchivable: test_does_nothing_if_disabled
+-----------------------------------------------------
+MONGODB | localhost:27017 req:554 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:554 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:555 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c6af3a8d0622200c861'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:555 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:556 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c6af3a8d0622200c861'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$ehCWsBmfUWu1EbLNidufc.YoUzXx1XmjjkcaRk/7n1/jFYPO1R2q2", "failed_attempts"=...
+MONGODB | localhost:27017 req:556 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.8ms)
+Date: Fri, 26 Mar 2021 02:17:14 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c6a87e76_162223fc6b6836e103368@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=MsmArHDrgDVhUjh3XV5Y">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:557 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:557 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:558 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:558 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:559 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:559 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:560 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:560 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_indirectly_saving_associated_user_does_not_cause_deprecation_warning
+-------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:561 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:561 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:562 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c6bf3a8d0622200c863'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:562 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:563 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c6af3a8d0622200c862'), "user_id"=>BSON::ObjectId('605d7c6bf3a8d0622200c863'), "_type"=>"Widget"}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0...
+MONGODB | localhost:27017 req:563 | devise-test-suite.insert | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:564 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:564 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:565 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:565 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:566 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:566 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:567 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:567 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------
+TestPasswordArchivable: test_override_expire_after_at_runtime
+-------------------------------------------------------------
+MONGODB | localhost:27017 req:568 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:568 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:569 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c6cf3a8d0622200c864'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:569 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:570 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c6cf3a8d0622200c864'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$Uik/LRPJ8DrFZ6Zmie3v3eUFHQnyO0SpffbN1Z1xn7loE3tQ/hFQa", "failed_attempts"=...
+MONGODB | localhost:27017 req:570 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.6ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 02:17:16 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c6c637c_162223fc6b6836e10337cf@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=91s94Ti5tG6LG17NTPz4">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:571 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:571 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:572 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:572 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:573 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:573 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:574 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:574 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------
+TestPasswordArchivable: test_password_change_can_be_requested
+-------------------------------------------------------------
+MONGODB | localhost:27017 req:575 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:575 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:576 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c6cf3a8d0622200c865'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:576 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:577 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c6cf3a8d0622200c865'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$RYJ9gWM75Wdr2Eq2a9ZU3.GRN5L2aqerR9Ir7beDnq8x25L4TIR6u", "failed_attempts"=...
+MONGODB | localhost:27017 req:577 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Fri, 26 Mar 2021 02:17:16 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c6cc4be1_162223fc6b6836e103384b@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=tzy9TcsQNiQe6Gzbes4E">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:578 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c6cf3a8d0622200c865')}, "u"=>{"$set"=>{"password_changed_at"=>nil, "updated_at"=>2021-03-26 06:17:16 UTC}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=>...
+MONGODB | localhost:27017 req:578 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:579 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:579 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:580 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:580 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:581 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:581 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:582 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:582 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------
+TestPasswordArchivable: test_password_expires
+---------------------------------------------
+MONGODB | localhost:27017 req:583 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:583 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:584 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c6df3a8d0622200c866'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:584 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:585 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c6df3a8d0622200c866'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$9Abh2/OJFepmE1jTM9D5w.2cM/JZ6dDw19WPO9./vatkFpCDJOzua", "failed_attempts"=...
+MONGODB | localhost:27017 req:585 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.3ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 2.7ms
+Sent mail to bob@microsoft.com (2.8ms)
+Date: Fri, 26 Mar 2021 02:17:17 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c6d92a0b_162223fc6b6836e10339ea@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=zvqBQwoqiYy_C1e_7yDz">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:586 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c6df3a8d0622200c866')}, "u"=>{"$set"=>{"password_changed_at"=>2020-12-26 07:17:17 UTC, "updated_at"=>2021-03-26 06:17:17 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:586 | devise-test-suite.update | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:587 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:587 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:588 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:588 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:589 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:589 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:590 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:590 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.0ms)[0m [1m[36mbegin transaction[0m
+--------------------------------------------------------------------------------------
+TestPasswordArchivable: test_saving_a_record_records_the_time_the_password_was_changed
+--------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:591 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:591 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:592 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c6ef3a8d0622200c867'), "password_archivable_type"=>"User"}, "limit"=>2, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:592 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:593 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c6ef3a8d0622200c867'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$7Ko5OETF1LlWYrKgxqTapesJpTwT1YqVXZgraPLR7E6tGnhJndLS2", "failed_attempts"=...
+MONGODB | localhost:27017 req:593 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.4ms
+Sent mail to bob@microsoft.com (1.7ms)
+Date: Fri, 26 Mar 2021 02:17:18 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c6e67ed5_162223fc6b6836e10340fa@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=AnsuGgj5ZNrMh4L1Dcrr">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:594 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:594 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:595 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:595 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:596 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:596 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:597 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:597 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+------------------------------------------------------------------------
+TestPasswordArchivable: test_the_option_should_be_dynamic_during_runtime
+------------------------------------------------------------------------
+MONGODB | localhost:27017 req:598 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:598 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:599 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c6ff3a8d0622200c868'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:599 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:600 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c6ff3a8d0622200c868'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$0C4GpQX0Fym.OjJoWb34uObByxtQt0oCY7LQ0UjMy9k659w.QXlpu", "failed_attempts"=...
+MONGODB | localhost:27017 req:600 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 02:17:19 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c6f3645b_162223fc6b6836e1034161@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=uaG_CDCis9hSL_GAGkPk">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:601 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c6ff3a8d0622200c868'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:601 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:602 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c6ff3a8d0622200c868'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$0C4GpQX0Fym.OjJoWb34uObByxtQt0oCY7LQ0UjMy9k659w.QXlpu"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:602 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:603 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c70f3a8d0622200c869'), "encrypted_password"=>"$2a$12$0C4GpQX0Fym.OjJoWb34uObByxtQt0oCY7LQ0UjMy9k659w.QXlpu", "password_archivable_id"=>BSON::ObjectId('605d7c6ff3a8...
+MONGODB | localhost:27017 req:603 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:604 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c6ff3a8d0622200c868'), "password_archivable_type"=>"User"}, "skip"=>1, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227226...
+MONGODB | localhost:27017 req:604 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:605 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c6ff3a8d0622200c868')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$jctJMZYN5Ngng/h7RnpGmeduokTRyDz5VIe.RRnOY71T6UCKmEpYe", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:605 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:606 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c6ff3a8d0622200c868'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:606 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:607 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c6ff3a8d0622200c868'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:607 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:608 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:608 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:609 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:609 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:610 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:610 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:611 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:611 | devise-test-suite.delete | SUCCEEDED | 0.001s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+---------------------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_does_not_updates_the_time_the_password_was_changed_if_the_password_was_not_changed
+---------------------------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:612 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:612 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:613 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c73f3a8d0622200c86a'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:613 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:614 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c73f3a8d0622200c86a'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$8hYIwBZocVAchyn3NIOtZ.HWPjvPVURdd7S1kXaxUPAhtMrN1l.za", "failed_attempts"=...
+MONGODB | localhost:27017 req:614 | devise-test-suite.insert | SUCCEEDED | 0.001s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.4ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 2.2ms
+Sent mail to bob@microsoft.com (2.2ms)
+Date: Fri, 26 Mar 2021 02:17:23 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c73ce625_162223fc6b6836e103427e@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=qD82osPdVHjP3UxizUQ1">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:615 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c73f3a8d0622200c86a')}, "u"=>{"$set"=>{"password_changed_at"=>nil, "updated_at"=>2021-03-26 06:17:23 UTC}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=>...
+MONGODB | localhost:27017 req:615 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:616 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:616 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:617 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:617 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:618 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:618 | devise-test-suite.delete | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:619 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:619 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (0.1ms)[0m [1m[36mbegin transaction[0m
+-------------------------------------------------------------------------------------------------------------------
+TestPasswordArchivable: test_updating_a_record_updates_the_time_the_password_was_changed_if_the_password_is_changed
+-------------------------------------------------------------------------------------------------------------------
+MONGODB | localhost:27017 req:620 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"application_records", "filter"=>{"email"=>"bob@microsoft.com", "_type"=>{"$in"=>["TestSessionLimitable::ModifiedUser", "TestSessionLimitable::SessionLimitableUser", "User"]}}, "projection"=>{"_id"=>1}, "limit"=>1, "$db"=>"devise-test-suite",...
+MONGODB | localhost:27017 req:620 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:621 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c74f3a8d0622200c86b'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:621 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:622 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"application_records", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c74f3a8d0622200c86b'), "email"=>"bob@microsoft.com", "encrypted_password"=>"$2a$12$twWhKRtfJHuVIFrVVno01eNPSa9qWdyJOZznJOgP2pa7aVkaXhV2y", "failed_attempts"=...
+MONGODB | localhost:27017 req:622 | devise-test-suite.insert | SUCCEEDED | 0.000s
+ Rendering /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb
+ Rendered /Users/dillonwelch/Code/devise-security/vendor/bundle/gems/devise-4.7.3/app/views/devise/mailer/confirmation_instructions.html.erb (0.2ms)
+Devise::Mailer#confirmation_instructions: processed outbound mail in 1.3ms
+Sent mail to bob@microsoft.com (1.6ms)
+Date: Fri, 26 Mar 2021 02:17:24 -0400
+From: please-change-me-at-config-initializers-devise@example.com
+Reply-To: please-change-me-at-config-initializers-devise@example.com
+To: bob@microsoft.com
+Message-ID: <605d7c749cf0e_162223fc6b6836e103434f@Dillons-MBP.mail>
+Subject: Confirmation instructions
+Mime-Version: 1.0
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+
+<p>Welcome bob@microsoft.com!</p>
+
+<p>You can confirm your account email through the link below:</p>
+
+<p><a href="http://test.host/users/confirmation?confirmation_token=hDdUMfQUi5G7Y8nB1Rjt">Confirm my account</a></p>
+
+MONGODB | localhost:27017 req:623 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c74f3a8d0622200c86b')}, "u"=>{"$set"=>{"password_changed_at"=>2020-12-26 07:17:24 UTC, "updated_at"=>2021-03-26 06:17:24 UTC}}}], "$db"=>"devise-test-sui...
+MONGODB | localhost:27017 req:623 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:624 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c74f3a8d0622200c86b')}, "u"=>{"$set"=>{"password_changed_at"=>nil, "updated_at"=>2021-03-26 06:17:24 UTC}}}], "$db"=>"devise-test-suite", "lsid"=>{"id"=>...
+MONGODB | localhost:27017 req:624 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:625 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c74f3a8d0622200c86b'), "password_archivable_type"=>"User"}, "limit"=>1, "sort"=>{"created_at"=>-1}, "projection"=>{"encrypted_password"=>1}, "$db"=>"devise-test-suite"...
+MONGODB | localhost:27017 req:625 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:626 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c74f3a8d0622200c86b'), "password_archivable_type"=>"User", "encrypted_password"=>"$2a$12$twWhKRtfJHuVIFrVVno01eNPSa9qWdyJOZznJOgP2pa7aVkaXhV2y"}, "projection"=>{"_id"=...
+MONGODB | localhost:27017 req:626 | devise-test-suite.find | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:627 conn:1:1 sconn:12 | devise-test-suite.insert | STARTED | {"insert"=>"old_passwords", "ordered"=>true, "documents"=>[{"_id"=>BSON::ObjectId('605d7c75f3a8d0622200c86c'), "encrypted_password"=>"$2a$12$twWhKRtfJHuVIFrVVno01eNPSa9qWdyJOZznJOgP2pa7aVkaXhV2y", "password_archivable_id"=>BSON::ObjectId('605d7c74f3a8...
+MONGODB | localhost:27017 req:627 | devise-test-suite.insert | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:628 conn:1:1 sconn:12 | devise-test-suite.find | STARTED | {"find"=>"old_passwords", "filter"=>{"password_archivable_id"=>BSON::ObjectId('605d7c74f3a8d0622200c86b'), "password_archivable_type"=>"User"}, "skip"=>1, "sort"=>{"created_at"=>-1}, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x701227226...
+MONGODB | localhost:27017 req:628 | devise-test-suite.find | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:629 conn:1:1 sconn:12 | devise-test-suite.update | STARTED | {"update"=>"application_records", "ordered"=>true, "updates"=>[{"q"=>{"_id"=>BSON::ObjectId('605d7c74f3a8d0622200c86b')}, "u"=>{"$set"=>{"encrypted_password"=>"$2a$12$CbbMODb6ISuL9vdIitSxLOpH2jMJ6tK7Tx.8yCQoD4r4yUFjxxde6", "password_changed_at"=>2021-...
+MONGODB | localhost:27017 req:629 | devise-test-suite.update | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:630 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:630 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:631 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:631 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:632 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:632 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:633 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:633 | devise-test-suite.delete | SUCCEEDED | 0.000s
+ [1m[35m (0.1ms)[0m [1m[31mrollback transaction[0m
+MONGODB | localhost:27017 req:634 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:634 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:635 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:635 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:636 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:636 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:637 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:637 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:638 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:638 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:639 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:639 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:640 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:640 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:641 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:641 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:642 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:642 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:643 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:643 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:644 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:644 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:645 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:645 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:646 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:646 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:647 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:647 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:648 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:648 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:649 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:649 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:650 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:650 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:651 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:651 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:652 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:652 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:653 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:653 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:654 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:654 | devise-test-suite.listCollections | SUCCEEDED | 0.001s
+MONGODB | localhost:27017 req:655 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:655 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:656 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:656 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:657 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:657 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:658 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:658 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:659 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:659 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:660 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:660 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:661 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:661 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:662 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:662 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:663 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:663 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:664 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:664 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:665 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:665 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:666 conn:1:1 sconn:12 | devise-test-suite.listCollections | STARTED | {"listCollections"=>1, "cursor"=>{}, "nameOnly"=>true, "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:666 | devise-test-suite.listCollections | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:667 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"users", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:667 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:668 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"old_passwords", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:668 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:669 conn:1:1 sconn:12 | devise-test-suite.delete | STARTED | {"delete"=>"application_records", "ordered"=>true, "deletes"=>[{"q"=>{}, "limit"=>0}], "$db"=>"devise-test-suite", "lsid"=>{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}}
+MONGODB | localhost:27017 req:669 | devise-test-suite.delete | SUCCEEDED | 0.000s
+MONGODB | localhost:27017 req:671 conn:1:2 sconn:13 | admin.endSessions | STARTED | {"endSessions"=>[{"id"=><BSON::Binary:0x70122722610380 type=uuid data=0x0222cd4b861e4b65...>}], "$db"=>"admin"}
+MONGODB | localhost:27017 req:671 | admin.endSessions | SUCCEEDED | 0.000s