public function testGetterSetter() { $db = (require __DIR__ . "/config.php"); $connection = new Mysqltcs($db['host'], $db['user'], $db['psw'], $db['db']); $usersManagement = new UsersManagement($connection, $db['tables']['users']); $this->assertEquals($connection, $usersManagement->getConnection()); $connection2 = clone $connection; $this->assertNotEquals($connection, $connection2); $usersManagement->setConnection($connection2); $this->assertEquals($connection2, $usersManagement->getConnection()); $this->assertEquals($db['tables']['users'], $usersManagement->getUsersTable()); $thrown = false; try { $usersManagement->setUsersTable("err"); } catch (UsersManagementException $e) { $thrown = true; } $this->assertTrue($thrown); $thrown = false; try { $usersManagement->setUsersTable($db['tables']['users']); } catch (UsersManagementException $e) { $thrown = true; } $this->assertFalse($thrown); $this->assertEquals($db['tables']['users'], $usersManagement->getUsersTable()); $this->assertEquals($db['tables']['users'], $usersManagement->getOperations()->getDefaultFrom()); $this->assertEquals("thecsea", $usersManagement->getSalt()); $usersManagement->setSalt("test"); $this->assertEquals("test", $usersManagement->getSalt()); $psw1 = $usersManagement->encrypt("psw"); $usersManagement = new UsersManagement($connection, $db['tables']['users'], "test2"); $this->assertEquals("test2", $usersManagement->getSalt()); $psw2 = $usersManagement->encrypt("psw"); $this->assertNotEquals($psw1, $psw2); $this->assertNotEquals($psw1, $usersManagement->hash("psw")); $this->assertNotEquals($psw2, $usersManagement->hash("psw")); $usersManagement->setSalt(""); $psw3 = $usersManagement->encrypt("psw"); $this->assertNotEquals($psw3, $psw2); $this->assertEquals($usersManagement->hash("psw"), $psw3); }
/** * check if the id is valid * @param UsersManagement $usersManagement * @param int|null $id * @throws UsersManagementException */ private static function checkId(UsersManagement $usersManagement, $id) { $id = $usersManagement->getConnection()->getEscapedString($id); if (!is_numeric($id) || $id <= 0 || $usersManagement->getOperations()->getValue("id", "id = {$id}") != $id) { throw new UsersManagementException("User is not valid"); } }