public function AutoLoginUrlTestCase::testAluFloodCheck in Auto Login URL 7
Test flood.
File
- tests/
auto_login_url.test, line 106 - Test Auto Login URL module works as expected.
Class
- AutoLoginUrlTestCase
- AutoLoginUrlTestCase Class.
Code
public function testAluFloodCheck() {
// Set failed attempts to 5 for easier testing.
variable_set('user_failed_login_ip_limit', 5);
// Create user.
$user = $this
->drupalCreateUser();
// Access 10 false URLs. Essentially triggering flood.
for ($i = 1; $i < 6; $i++) {
$this
->drupalGet('autologinurl/' . $i . '/some-token' . $i);
$this
->assertResponse(403, t('Got access denied page.'));
}
// Generate actual auto login url for this user.
$url = auto_login_url_create($user->uid, 'user/' . $user->uid);
debug('Generated URL is: ' . $url);
// Access url.
$this
->drupalGet($url);
// Make assertions.
$this
->assertResponse(403, t('Got access denied page.'));
$this
->assertText(t('Sorry, too many failed login attempts from your IP address. This IP address is temporarily blocked. Try again later.'), t('Cannot login message visible.'));
// Clear flood table.
db_truncate('flood')
->execute();
// Try to login again.
$this
->drupalGet($url);
$this
->assertResponse(200, t('User logged in successfully.'));
$this
->assertText($user->name, t('User name is visible, hence user is logged in.'));
}