From b8f7532e5c7e8b8be3ab199fca3dadd0d22be4cd Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 3 Dec 2016 15:43:36 -0500 Subject: Add personal API access token --- tests/units/Auth/ApiAccessTokenAuthTest.php | 71 +++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 tests/units/Auth/ApiAccessTokenAuthTest.php (limited to 'tests') diff --git a/tests/units/Auth/ApiAccessTokenAuthTest.php b/tests/units/Auth/ApiAccessTokenAuthTest.php new file mode 100644 index 00000000..22852805 --- /dev/null +++ b/tests/units/Auth/ApiAccessTokenAuthTest.php @@ -0,0 +1,71 @@ +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() + { + $this->container['sessionStorage']->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()); + } +} -- cgit v1.2.3