|
|
<?php |
|
|
|
|
|
use Kanboard\Auth\ApiAccessTokenAuth; |
|
|
use Kanboard\Model\UserModel; |
|
|
|
|
|
require_once __DIR__.'/../Base.php'; |
|
|
|
|
|
class ApiAccessTokenAuthTest extends Base |
|
|
{ |
|
|
public function testGetName() |
|
|
{ |
|
|
$provider = new ApiAccessTokenAuth($this->container); |
|
|
$this->assertEquals('API Access Token', $provider->getName()); |
|
|
} |
|
|
|
|
|
public function testAuthenticateWithoutToken() |
|
|
{ |
|
|
$provider = new ApiAccessTokenAuth($this->container); |
|
|
|
|
|
$provider->setUsername('admin'); |
|
|
$provider->setPassword('admin'); |
|
|
$this->assertFalse($provider->authenticate()); |
|
|
$this->assertNull($provider->getUser()); |
|
|
} |
|
|
|
|
|
public function testAuthenticateWithEmptyPassword() |
|
|
{ |
|
|
$provider = new ApiAccessTokenAuth($this->container); |
|
|
|
|
|
$provider->setUsername('admin'); |
|
|
$provider->setPassword(''); |
|
|
$this->assertFalse($provider->authenticate()); |
|
|
} |
|
|
|
|
|
public function testAuthenticateWithTokenAndNoScope() |
|
|
{ |
|
|
$provider = new ApiAccessTokenAuth($this->container); |
|
|
$userModel = new UserModel($this->container); |
|
|
|
|
|
$userModel->update(array( |
|
|
'id' => 1, |
|
|
'api_access_token' => 'test', |
|
|
)); |
|
|
|
|
|
$provider->setUsername('admin'); |
|
|
$provider->setPassword('test'); |
|
|
$this->assertFalse($provider->authenticate()); |
|
|
} |
|
|
|
|
|
public function testAuthenticateWithToken() |
|
|
{ |
|
|
$_SESSION['scope'] = 'API'; |
|
|
|
|
|
$provider = new ApiAccessTokenAuth($this->container); |
|
|
$userModel = new UserModel($this->container); |
|
|
|
|
|
$userModel->update(array( |
|
|
'id' => 1, |
|
|
'api_access_token' => 'test', |
|
|
)); |
|
|
|
|
|
$provider->setUsername('admin'); |
|
|
$provider->setPassword('test'); |
|
|
$this->assertTrue($provider->authenticate()); |
|
|
$this->assertInstanceOf('Kanboard\User\DatabaseUserProvider', $provider->getUser()); |
|
|
|
|
|
$provider->setUsername('admin'); |
|
|
$provider->setPassword('something else'); |
|
|
$this->assertFalse($provider->authenticate()); |
|
|
} |
|
|
} |
|
|
|