public function testExpiredRememberMeHashAutologin()
 {
     $m1 = $this->objFromFixture('Member', 'noexpiry');
     $m1->login(true);
     $firstHash = RememberLoginHash::get()->filter('MemberID', $m1->ID)->First();
     $this->assertNotNull($firstHash);
     // re-generates the hash so we can get the token
     $firstHash->Hash = $firstHash->getNewHash($m1);
     $token = $firstHash->getToken();
     $firstHash->ExpiryDate = '2000-01-01 00:00:00';
     $firstHash->write();
     SS_DateTime::set_mock_now('1999-12-31 23:59:59');
     $response = $this->get('Security/login', $this->session(), null, array('alc_enc' => $m1->ID . ':' . $token, 'alc_device' => $firstHash->DeviceID));
     $message = _t('Member.LOGGEDINAS', "You're logged in as {name}.", array('name' => $m1->FirstName));
     $this->assertContains($message, $response->getBody());
     $this->session()->inst_set('loggedInAs', null);
     // re-generates the hash so we can get the token
     $firstHash->Hash = $firstHash->getNewHash($m1);
     $token = $firstHash->getToken();
     $firstHash->ExpiryDate = '2000-01-01 00:00:00';
     $firstHash->write();
     SS_DateTime::set_mock_now('2000-01-01 00:00:01');
     $response = $this->get('Security/login', $this->session(), null, array('alc_enc' => $m1->ID . ':' . $token, 'alc_device' => $firstHash->DeviceID));
     $this->assertNotContains($message, $response->getBody());
     $this->session()->inst_set('loggedInAs', null);
     SS_Datetime::clear_mock_now();
 }