44 lines
1.5 KiB
PHP
44 lines
1.5 KiB
PHP
<?php
|
|
|
|
require_once __DIR__.'/../Base.php';
|
|
|
|
use Kanboard\Model\LastLogin;
|
|
|
|
class LastLoginTest extends Base
|
|
{
|
|
public function testCreate()
|
|
{
|
|
$lastLoginModel = new LastLogin($this->container);
|
|
|
|
$this->assertTrue($lastLoginModel->create('Test1', 1, '127.0.0.1', 'My browser'));
|
|
$this->assertTrue($lastLoginModel->create('Test2', 1, '127.0.0.1', str_repeat('Too long', 50)));
|
|
$this->assertTrue($lastLoginModel->create('Test3', 1, '2001:0db8:0000:0000:0000:ff00:0042:8329', 'My Ipv6 browser'));
|
|
|
|
$connections = $lastLoginModel->getAll(1);
|
|
$this->assertCount(3, $connections);
|
|
|
|
$this->assertEquals('Test3', $connections[0]['auth_type']);
|
|
$this->assertEquals('2001:0db8:0000:0000:0000:ff00:0042:8329', $connections[0]['ip']);
|
|
|
|
$this->assertEquals('Test2', $connections[1]['auth_type']);
|
|
$this->assertEquals('127.0.0.1', $connections[1]['ip']);
|
|
|
|
$this->assertEquals('Test1', $connections[2]['auth_type']);
|
|
$this->assertEquals('127.0.0.1', $connections[2]['ip']);
|
|
}
|
|
|
|
public function testCleanup()
|
|
{
|
|
$lastLoginModel = new LastLogin($this->container);
|
|
|
|
for ($i = 0; $i < $lastLoginModel::NB_LOGINS + 5; $i++) {
|
|
$this->assertTrue($lastLoginModel->create('Test' . $i, 1, '127.0.0.1', 'My browser'));
|
|
}
|
|
|
|
$connections = $lastLoginModel->getAll(1);
|
|
$this->assertCount(10, $connections);
|
|
$this->assertEquals('Test14', $connections[0]['auth_type']);
|
|
$this->assertEquals('Test5', $connections[9]['auth_type']);
|
|
}
|
|
}
|