function UserPasswordResetTestCase::testUserPasswordResetExpired

7.x user.test UserPasswordResetTestCase::testUserPasswordResetExpired()

Attempts login using an expired password reset link.

File

drupal-7.x/modules/user/user.test, line 486
Tests for user.module.

Class

UserPasswordResetTestCase
Tests resetting a user password.

Code

function testUserPasswordResetExpired() {
  // Set password reset timeout variable to 43200 seconds = 12 hours.
  $timeout = 43200;
  variable_set('user_password_reset_timeout', $timeout);

  // Create a user.
  $account = $this->drupalCreateUser();
  $this->drupalLogin($account);
  // Load real user object.
  $account = user_load($account->uid, TRUE);
  $this->drupalLogout();

  // To attempt an expired password reset, create a password reset link as if
  // its request time was 60 seconds older than the allowed limit of timeout.
  $bogus_timestamp = REQUEST_TIME - variable_get('user_password_reset_timeout', 86400) - 60;
  $this->drupalGet("user/reset/$account->uid/$bogus_timestamp/" . user_pass_rehash($account->pass, $bogus_timestamp, $account->login));
  $this->assertText(t('You have tried to use a one-time login link that has expired. Please request a new one using the form below.'), 'Expired password reset request rejected.');
}