%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
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:/BK/wwwroot/phpMyAdmin/test/libraries/ |
Upload File : |
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * tests for server_status_processes.lib.php * * @package PhpMyAdmin-test */ /* * Include to test. */ use PMA\libraries\Theme; require_once 'libraries/url_generating.lib.php'; require_once 'libraries/server_status_processes.lib.php'; require_once 'libraries/database_interface.inc.php'; require_once 'libraries/sanitizing.lib.php'; /** * class PMA_ServerStatusProcesses_Test * * this class is for testing server_status_processes.lib.php functions * * @package PhpMyAdmin-test */ class PMA_ServerStatusProcesses_Test extends PHPUnit_Framework_TestCase { /** * Test for setUp * * @return void */ public function setUp() { $GLOBALS['cfg']['Server']['host'] = "localhost"; $GLOBALS['PMA_PHP_SELF'] = PMA_getenv('PHP_SELF'); $GLOBALS['replication_info']['master']['status'] = true; $GLOBALS['replication_info']['slave']['status'] = false; $GLOBALS['replication_types'] = array(); $GLOBALS['pmaThemeImage'] = 'image'; //$_SESSION $_SESSION['PMA_Theme'] = Theme::load('./themes/pmahomme'); $_SESSION['PMA_Theme'] = new Theme(); //Mock DBI $dbi = $this->getMockBuilder('PMA\libraries\DatabaseInterface') ->disableOriginalConstructor() ->getMock(); $GLOBALS['dbi'] = $dbi; } /** * Test for PMA_getHtmlForProcessListAutoRefresh * * @return void * @group medium */ public function testPMAGetHtmlForProcessListAutoRefresh() { $html = PMA_getHtmlForProcessListAutoRefresh(); // Test Notice $this->assertContains( 'Note: Enabling the auto refresh here might cause ' . 'heavy traffic between the web server and the MySQL server.', $html ); // Test tab links $this->assertContains( '<div class="tabLinks">', $html ); $this->assertContains( '<a id="toggleRefresh" href="#">', $html ); $this->assertContains( 'play', $html ); $this->assertContains( 'Start auto refresh</a>', $html ); $this->assertContains( '<label>Refresh rate: <select', $html ); $this->assertContains( '<option value="5" selected="selected">5 seconds</option>', $html ); } /** * Test for PMA_getHtmlForServerProcesslist * * @return void * @group medium */ public function testPMAGetHtmlForServerProcessList() { $process = array( "User" => "User1", "Host" => "Host1", "Id" => "Id1", "db" => "db1", "Command" => "Command1", "Info" => "Info1", "State" => "State1", "Time" => "Time1" ); $GLOBALS['cfg']['MaxCharactersInDisplayedSQL'] = 12; $GLOBALS['dbi']->expects($this->any())->method('fetchAssoc') ->will($this->onConsecutiveCalls($process)); $html = PMA_getHtmlForServerProcesslist(); // Test process table $this->assertContains( '<table id="tableprocesslist" ' . 'class="data clearfloat noclick sortable">', $html ); $this->assertContains( '<th>Processes</th>', $html ); $this->assertContains( 'Show Full Queries', $html ); $this->assertContains( 'server_status_processes.php', $html ); $_REQUEST['full'] = true; $_REQUEST['sort_order'] = 'ASC'; $_REQUEST['order_by_field'] = 'db'; $_REQUEST['column_name'] = 'Database'; $html = PMA_getHtmlForServerProcesslist(); $this->assertContains( 'Truncate Shown Queries', $html ); $this->assertContains( 'Database', $html ); $this->assertContains( 'DESC', $html ); $_REQUEST['sort_order'] = 'DESC'; $_REQUEST['order_by_field'] = 'Host'; $_REQUEST['column_name'] = 'Host'; $html = PMA_getHtmlForServerProcesslist(); $this->assertContains( 'Host', $html ); $this->assertContains( 'ASC', $html ); } /** * Test for PMA_getHtmlForServerProcessItem * * @return void */ public function testPMAGetHtmlForServerProcessItem() { //parameters $process = array( "user" => "User1", "host" => "Host1", "id" => "Id1", "db" => "db1", "command" => "Command1", "info" => "Info1", "state" => "State1", "time" => "Time1", ); $odd_row = true; $show_full_sql = true; $_REQUEST['sort_order'] = "desc"; $_REQUEST['order_by_field'] = "process"; $GLOBALS['cfg']['MaxCharactersInDisplayedSQL'] = 12; //Call the test function $html = PMA_getHtmlForServerProcessItem($process, $odd_row, $show_full_sql); //validate 1: $kill_process $url_params = array( 'kill' => $process['id'], 'ajax_request' => true ); $kill_process = 'server_status_processes.php' . PMA_URL_getCommon($url_params); $this->assertContains( $kill_process, $html ); $this->assertContains( 'ajax kill_process', $html ); $this->assertContains( __('Kill'), $html ); //validate 2: $process['User'] $this->assertContains( htmlspecialchars($process['user']), $html ); //validate 3: $process['Host'] $this->assertContains( htmlspecialchars($process['host']), $html ); //validate 4: $process['db'] $this->assertContains( __('None'), $html ); //validate 5: $process['Command'] $this->assertContains( htmlspecialchars($process['command']), $html ); //validate 6: $process['Time'] $this->assertContains( $process['time'], $html ); //validate 7: $process['state'] $this->assertContains( $process['state'], $html ); //validate 8: $process['info'] $this->assertContains( $process['info'], $html ); unset($process['info']); $html = PMA_getHtmlForServerProcessItem($process, $odd_row, $show_full_sql); $this->assertContains( '---', $html ); } }