!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_binlog_test.php (7.13 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * tests for server_bin_log.lib.php
 *
 * @package PhpMyAdmin-test
 */

/*
 * Include to test.
 */
require_once 'libraries/Util.class.php';
require_once 
'libraries/php-gettext/gettext.inc';
require_once 
'libraries/url_generating.lib.php';
require_once 
'libraries/server_bin_log.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/database_interface.inc.php';

/**
 * PMA_ServerBinlog_Test class
 *
 * this class is for testing server_bin_log.lib.php functions
 *
 * @package PhpMyAdmin-test
 */
class PMA_ServerBinlog_Test extends PHPUnit_Framework_TestCase
{
    
/**
     * Prepares environment for the test.
     *
     * @return void
     */
    
public function setUp()
    {
        
//$_REQUEST
        
$_REQUEST['log'] = "index1";
        
$_REQUEST['pos'] = 3;

        
//$GLOBALS
        
$GLOBALS['cfg']['MaxRows'] = 10;
        
$GLOBALS['server'] = 1;
        
$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['table'] = "table";
        
$GLOBALS['pmaThemeImage'] = 'image';

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

    
/**
     * Test for PMA_getLogSelector
     *
     * @return void
     */
    
public function testPMAGetLogSelector()
    {
        
$binary_log_file_names = array();
        
$binary_log_file_names[] = array("Log_name"=>"index1""File_size"=>100);
        
$binary_log_file_names[] = array("Log_name"=>"index2""File_size"=>200);

        
$url_params = array();
        
$url_params['log'] = "log";
        
$url_params['dontlimitchars'] = 1;

        
$html PMA_getLogSelector($binary_log_file_names$url_params);
        
$this->assertContains(
            
'Select binary log to view',
            
$html
        
);
        
$this->assertContains(
            
'<option value="index1" selected="selected">index1 (100 B)</option>',
            
$html
        
);
        
$this->assertContains(
            
'<option value="index2">index2 (200 B)</option>',
            
$html
        
);
    }

    
/**
     * Test for PMA_getLogInfo
     *
     * @return void
     * @group medium
     */
    
public function testPMAGetLogInfo()
    {
        
$url_params = array();
        
$url_params['log'] = "log";
        
$url_params['dontlimitchars'] = 1;

        
//Mock DBI
        
$dbi $this->getMockBuilder('PMA_DatabaseInterface')
            ->
disableOriginalConstructor()
            ->
getMock();

        
//expects return value
        
$result = array(
            array(
                
"SHOW BINLOG EVENTS IN 'index1' LIMIT 3, 10",
                
null,
                
1,
                
true,
                array(
"log1"=>"logd")
            ),
            array(
                array(
"log2"=>"logb"),
                
null,
                
0,
                
false,
                
'executed'
            
)
        );
        
$value = array(
                
'Info' => "index1_Info",
                
'Log_name' => "index1_Log_name",
                
'Pos' => "index1_Pos",
                
'Event_type' => "index1_Event_type",
                
'End_log_pos' => "index1_End_log_pos",
                
'Server_id' => "index1_Server_id",
        );
        
$count 3;

        
//expects functions
        
$dbi->expects($this->once())->method('query')
            ->
will($this->returnValue($result));

        
$dbi->expects($this->once())->method('numRows')
            ->
will($this->returnValue($count));

        
$dbi->expects($this->at(0))->method('fetchAssoc')
            ->
will($this->returnValue($value));

        
$dbi->expects($this->at(1))->method('fetchAssoc')
            ->
will($this->returnValue(false));

        
$GLOBALS['dbi'] = $dbi;

        
//Call the test function
        
$html PMA_getLogInfo($url_params);

        
//validate 1: the sql has been executed
        
$this->assertContains(
            
'Your SQL query has been executed successfully',
            
$html
        
);
        
//validate 2: SQL
        
$this->assertContains(
            
"SHOW BINLOG EVENTS IN 'index1' LIMIT 3, 10",
            
$html
        
);
        
//validate 3: BINLOG HTML
        
$this->assertContains(
            
'<table cellpadding="2" cellspacing="1" id="binlogTable">',
            
$html
        
);
        
//validate 4: PMA_getNavigationRow is right
        
$urlNavigation 'server_binlog.php?log=log&amp;dontlimitchars=1&amp;'
            
'pos=3&amp;server=1&amp';
        
$this->assertContains(
            
$urlNavigation,
            
$html
        
);
        
$this->assertContains(
            
'title="Previous"',
            
$html
        
);
        
//validate 5: Log Item
        
$this->assertContains(
            
'Log name',
            
$html
        
);
        
$this->assertContains(
            
'Position',
            
$html
        
);
        
$this->assertContains(
            
'Event type',
            
$html
        
);
        
$this->assertContains(
            
'Server ID',
            
$html
        
);
        
$this->assertContains(
            
'Original position',
            
$html
        
);
    }

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

        
$fetchAssoc = array(
            
'Info' => 'Info',
            
'Log_name' => 'Log_name',
            
'Pos' => 'Pos',
            
'Event_type' => 'Event_type',
            
'Server_id' => 'Server_id',
            
'Orig_log_pos' => 'Orig_log_pos',
            
'End_log_pos' => 'End_log_pos',
        );
        
$dbi->expects($this->at(0))->method('fetchAssoc')
            ->
will($this->returnValue($fetchAssoc));

        
$dbi->expects($this->at(1))->method('fetchAssoc')
            ->
will($this->returnValue(false));

        
$GLOBALS['dbi'] = $dbi;
        
$GLOBALS['cfg']['LimitChars'] = 2;

        
$result = array();
        
$dontlimitchars ";";

        
$html PMA_getAllLogItemInfo($result$dontlimitchars);
        
$value $fetchAssoc;
        
$this->assertContains(
            
$value['Log_name'],
            
$html
        
);
        
$this->assertContains(
            
$value['Pos'],
            
$html
        
);
        
$this->assertContains(
            
$value['Event_type'],
            
$html
        
);
        
$this->assertContains(
            
$value['Server_id'],
            
$html
        
);
        
$this->assertContains(
            
$value['Orig_log_pos'],
            
$html
        
);
        
$this->assertContains(
            
htmlspecialchars($value['Info']),
            
$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.0054 ]--