summaryrefslogtreecommitdiff
path: root/tests/units/Auth/DatabaseAuthTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/units/Auth/DatabaseAuthTest.php')
-rw-r--r--tests/units/Auth/DatabaseAuthTest.php62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/units/Auth/DatabaseAuthTest.php b/tests/units/Auth/DatabaseAuthTest.php
new file mode 100644
index 00000000..ac099a7e
--- /dev/null
+++ b/tests/units/Auth/DatabaseAuthTest.php
@@ -0,0 +1,62 @@
+<?php
+
+require_once __DIR__.'/../Base.php';
+
+use Kanboard\Auth\DatabaseAuth;
+use Kanboard\Model\User;
+
+class DatabaseAuthTest extends Base
+{
+ public function testGetName()
+ {
+ $provider = new DatabaseAuth($this->container);
+ $this->assertEquals('Database', $provider->getName());
+ }
+
+ public function testAuthenticate()
+ {
+ $provider = new DatabaseAuth($this->container);
+
+ $provider->setUsername('admin');
+ $provider->setPassword('admin');
+ $this->assertTrue($provider->authenticate());
+
+ $provider->setUsername('admin');
+ $provider->setPassword('test');
+ $this->assertFalse($provider->authenticate());
+ }
+
+ public function testGetUser()
+ {
+ $provider = new DatabaseAuth($this->container);
+ $this->assertEquals(null, $provider->getUser());
+
+ $provider = new DatabaseAuth($this->container);
+ $provider->setUsername('admin');
+ $provider->setPassword('admin');
+
+ $this->assertTrue($provider->authenticate());
+ $this->assertInstanceOf('Kanboard\User\DatabaseUserProvider', $provider->getUser());
+ }
+
+ public function testIsvalidSession()
+ {
+ $userModel = new User($this->container);
+ $provider = new DatabaseAuth($this->container);
+
+ $this->assertFalse($provider->isValidSession());
+
+ $this->assertEquals(2, $userModel->create(array('username' => 'foobar')));
+
+ $this->container['sessionStorage']->user = array('id' => 2);
+ $this->assertTrue($provider->isValidSession());
+
+ $this->container['sessionStorage']->user = array('id' => 3);
+ $this->assertFalse($provider->isValidSession());
+
+ $this->assertTrue($userModel->disable(2));
+
+ $this->container['sessionStorage']->user = array('id' => 2);
+ $this->assertFalse($provider->isValidSession());
+ }
+}