/** * Test for PMA_addUser * * @return void */ public function testPMAAddUser() { $dbname = 'pma_dbname'; $username = '******'; $hostname = 'pma_hostname'; $_REQUEST['adduser_submit'] = true; $_POST['pred_username'] = '******'; $_POST['pred_hostname'] = 'localhost'; $_POST['pred_password'] = '******'; $_REQUEST['createdb-3'] = true; $_REQUEST['userGroup'] = "username"; $_REQUEST['authentication_plugin'] = 'mysql_native_password'; list($ret_message, , , $sql_query, $_add_user_error) = PMA_addUser($dbname, $username, $hostname, $dbname, true); $this->assertEquals('You have added a new user.', $ret_message->getMessage()); $this->assertEquals("CREATE USER ''@'localhost' IDENTIFIED WITH mysql_native_password AS '***';" . "GRANT USAGE ON *.* TO ''@'localhost' REQUIRE NONE;" . "GRANT ALL PRIVILEGES ON `pma_dbname`.* TO ''@'localhost';", $sql_query); $this->assertEquals(false, $_add_user_error); }
* only to update the password */ if (isset($_REQUEST['change_copy']) && $username == $_REQUEST['old_username'] && $hostname == $_REQUEST['old_hostname']) { $response->addHTML(PMA_Message::error(__('Username and hostname didn\'t change.'))->getDisplay()); $response->isSuccess(false); exit; } /** * Changes / copies a user, part I */ list($queries, $password) = PMA_getDataForChangeOrCopyUser(); /** * Adds a user * (Changes / copies a user, part II) */ list($ret_message, $ret_queries, $queries_for_display, $sql_query, $_add_user_error) = PMA_addUser(isset($dbname) ? $dbname : null, isset($username) ? $username : null, isset($hostname) ? $hostname : null, isset($password) ? $password : null, $cfgRelation['menuswork']); //update the old variables if (isset($ret_queries)) { $queries = $ret_queries; unset($ret_queries); } if (isset($ret_message)) { $message = $ret_message; unset($ret_message); } /** * Changes / copies a user, part III */ if (isset($_REQUEST['change_copy'])) { $queries = PMA_getDbSpecificPrivsQueriesForChangeOrCopyUser($queries, $username, $hostname); }
/** * Test for PMA_addUser * * @return void */ public function testPMAAddUser() { // Case 1 : Test with Newer version $restoreMySQLVersion = "PMANORESTORE"; if (! PMA_HAS_RUNKIT) { $this->markTestSkipped( 'Cannot redefine constant. Missing runkit extension' ); } else { $restoreMySQLVersion = PMA_MYSQL_INT_VERSION; runkit_constant_redefine('PMA_MYSQL_INT_VERSION', 50706); } $dbname = 'pma_dbname'; $username = '******'; $hostname = 'pma_hostname'; $_REQUEST['adduser_submit'] = true; $_POST['pred_username'] = '******'; $_POST['pred_hostname'] = 'localhost'; $_POST['pred_password'] = '******'; $_REQUEST['createdb-3'] = true; $_REQUEST['userGroup'] = "username"; $_REQUEST['authentication_plugin'] = 'mysql_native_password'; list( $ret_message,,, $sql_query, $_add_user_error ) = PMA_addUser( $dbname, $username, $hostname, $dbname, true ); $this->assertEquals( 'You have added a new user.', $ret_message->getMessage() ); $this->assertEquals( "CREATE USER ''@'localhost' IDENTIFIED WITH mysql_native_password AS '***';" . "GRANT USAGE ON *.* TO ''@'localhost' REQUIRE NONE;" . "GRANT ALL PRIVILEGES ON `pma_dbname`.* TO ''@'localhost';", $sql_query ); $this->assertEquals( false, $_add_user_error ); if ($restoreMySQLVersion !== "PMANORESTORE") { runkit_constant_redefine('PMA_MYSQL_INT_VERSION', $restoreMySQLVersion); } // Case 2 : Test with older versions $restoreMySQLVersion = "PMANORESTORE"; if (! PMA_HAS_RUNKIT) { $this->markTestSkipped( 'Cannot redefine constant. Missing runkit extension' ); } else { $restoreMySQLVersion = PMA_MYSQL_INT_VERSION; runkit_constant_redefine('PMA_MYSQL_INT_VERSION', 50506); } list( $ret_message,,, $sql_query, $_add_user_error ) = PMA_addUser( $dbname, $username, $hostname, $dbname, true ); $this->assertEquals( 'You have added a new user.', $ret_message->getMessage() ); $this->assertEquals( "CREATE USER ''@'localhost';" . "GRANT USAGE ON *.* TO ''@'localhost' REQUIRE NONE;" . "SET PASSWORD FOR ''@'localhost' = '***';" . "GRANT ALL PRIVILEGES ON `pma_dbname`.* TO ''@'localhost';", $sql_query ); $this->assertEquals( false, $_add_user_error ); if ($restoreMySQLVersion !== "PMANORESTORE") { runkit_constant_redefine('PMA_MYSQL_INT_VERSION', $restoreMySQLVersion); } }
} /** * Changes / copies a user, part I */ list($queries, $password) = PMA_getDataForChangeOrCopyUser(); /** * Adds a user * (Changes / copies a user, part II) */ list($ret_message, $ret_queries, $queries_for_display, $sql_query, $_add_user_error) = PMA_addUser( isset($dbname)? $dbname : null, isset($username)? $username : null, isset($hostname)? $hostname : null, isset($password)? $password : null, $cfgRelation['menuswork'] ); //update the old variables if (isset($ret_queries)) { $queries = $ret_queries; unset($ret_queries); } if (isset($ret_message)) { $message = $ret_message; unset($ret_message); } /** * Changes / copies a user, part III
/** * Test for PMA_addUser * * @return void */ public function testPMAAddUser() { $dbname = 'pma_dbname'; $username = '******'; $hostname = 'pma_hostname'; $tablename = 'pma_tablename'; $password = '******'; $_REQUEST['adduser_submit'] = true; $_POST['pred_username'] = '******'; $_POST['pred_hostname'] = 'localhost'; $_REQUEST['createdb-3'] = true; $_REQUEST['userGroup'] = "username"; list($ret_message, $ret_queries, $queries_for_display, $sql_query, $_add_user_error) = PMA_addUser($dbname, $username, $hostname, $dbname, true); $this->assertEquals('You have added a new user.', $ret_message->getMessage()); $this->assertEquals("CREATE USER ''@'localhost';GRANT USAGE ON *.* TO ''@'localhost';" . "GRANT ALL PRIVILEGES ON `pma_dbname`.* TO ''@'localhost';", $sql_query); $this->assertEquals(false, $_add_user_error); }