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 UserModel($this->container); $provider = new DatabaseAuth($this->container); $this->assertFalse($provider->isValidSession()); $this->assertEquals(2, $userModel->create(array('username' => 'user1'))); $this->assertEquals(3, $userModel->create(array('username' => 'user2'))); $_SESSION['user'] = array('id' => 2, 'role' => 'app-user'); $this->assertTrue($provider->isValidSession()); $_SESSION['user'] = array('id' => 4, 'role' => 'app-user'); $this->assertFalse($provider->isValidSession()); $this->assertTrue($userModel->disable(2)); $_SESSION['user'] = array('id' => 2, 'role' => 'app-user'); $this->assertFalse($provider->isValidSession()); $_SESSION['user'] = array('id' => 3, 'role' => 'app-user'); $this->assertTrue($provider->isValidSession()); $_SESSION['user'] = array('id' => 3, 'role' => 'app-admin'); $this->assertFalse($provider->isValidSession()); } }