!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/classes/   drwxr-xr-x
Free 9.17 GB of 93.48 GB (9.81%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     PMA_DBQbe_test.php (17.43 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/**
 * Tests for DBQbe.class.php
 *
 * @package PhpMyAdmin-test
 */

/*
 * Include to test.
 */

require_once 'libraries/DBQbe.class.php';
require_once 
'libraries/php-gettext/gettext.inc';
require_once 
'libraries/Util.class.php';
require_once 
'libraries/core.lib.php';
require_once 
'libraries/database_interface.inc.php';
require_once 
'libraries/Tracker.class.php';
require_once 
'libraries/relation.lib.php';
require_once 
'libraries/sqlparser.lib.php';

/**
 * Tests for PMA_DBQbe class
 *
 *  @package PhpMyAdmin-test
 */
class PMA_DBQbe_Test extends PHPUnit_Framework_TestCase
{
    
/**
     * @access protected
     */
    
protected $object;

    
/**
     * Sets up the fixture, for example, opens a network connection.
     * This method is called before a test is executed.
     *
     * @access protected
     * @return void
     */
    
protected function setUp()
    {
        
$this->object = new PMA_DBQbe('pma_test');
        
$GLOBALS['server'] = 0;
        
$GLOBALS['db'] = 'pma_test';
        
//mock DBI
        
$dbi $this->getMockBuilder('PMA_DatabaseInterface')
            ->
disableOriginalConstructor()
            ->
getMock();

        
$create_table 'CREATE TABLE `table1` ('
            
'`id` int(11) NOT NULL,'
            
'`value` int(11) NOT NULL,'
            
'PRIMARY KEY (`id`,`value`),'
            
'KEY `value` (`value`)'
            
') ENGINE=InnoDB DEFAULT CHARSET=latin1';

        
$dbi->expects($this->any())
            ->
method('fetchValue')
            ->
with('SHOW CREATE TABLE `pma_test`.`table1`'01)
            ->
will($this->returnValue($create_table));

        
$dbi->expects($this->any())
            ->
method('getTableIndexes')
            ->
will($this->returnValue(array()));

        
$GLOBALS['dbi'] = $dbi;
    }

    
/**
     * Tears down the fixture, for example, closes a network connection.
     * This method is called after a test is executed.
     *
     * @access protected
     * @return void
     */
    
protected function tearDown()
    {
        unset(
$this->object);
    }

    
/**
     * Call protected functions by setting visibility to public.
     *
     * @param string $name   method name
     * @param array  $params parameters for the invocation
     *
     * @return the output from the protected method.
     */
    
private function _callProtectedFunction($name$params)
    {
        
$class = new ReflectionClass('PMA_DBQbe');
        
$method $class->getMethod($name);
        
$method->setAccessible(true);
        return 
$method->invokeArgs($this->object$params);
    }

    
/**
     * Test for _getSortSelectCell
     *
     * @return void
     */
    
public function testGetSortSelectCell()
    {
        
$this->assertEquals(
            
'<td class="center"><select style="width: 12ex" name="criteriaSort[1]" '
            
'size="1"><option value="">&nbsp;</option><option value="ASC">'
            
'Ascending</option><option value="DESC">Descending</option>'
            
'</select></td>',
            
$this->_callProtectedFunction(
                
'_getSortSelectCell',
                array(
1)
            )
        );
    }

    
/**
     * Test for _getSortRow
     *
     * @return void
     */
    
public function testGetSortRow()
    {
        
$this->assertEquals(
            
'<tr class="even noclick"><th>Sort:</th><td class="center">'
            
'<select style="width: 12ex" name="criteriaSort[0]" size="1">'
            
'<option value="">&nbsp;</option><option value="ASC">Ascending'
            
'</option><option value="DESC">Descending</option></select></td>'
            
'<td class="center"><select style="width: 12ex" '
            
'name="criteriaSort[1]" size="1"><option value="">&nbsp;</option>'
            
'<option value="ASC">Ascending</option><option value="DESC">'
            
'Descending</option></select></td><td class="center">'
            
'<select style="width: 12ex" name="criteriaSort[2]" size="1">'
            
'<option value="">&nbsp;</option><option value="ASC">Ascending'
            
'</option><option value="DESC">Descending</option></select></td></tr>',
            
$this->_callProtectedFunction(
                
'_getSortRow',
                array()
            )
        );
    }

    
/**
     * Test for _getShowRow
     *
     * @return void
     */
    
public function testGetShowRow()
    {
        
$this->assertEquals(
            
'<tr class="odd noclick"><th>Show:</th><td class="center"><input type'
            
'="checkbox" name="criteriaShow[0]" /></td><td class="center">'
            
'<input type="checkbox" name="criteriaShow[1]" /></td><td '
            
'class="center"><input type="checkbox" name="criteriaShow[2]" />'
            
'</td></tr>',
            
$this->_callProtectedFunction(
                
'_getShowRow',
                array()
            )
        );
    }

    
/**
     * Test for _getCriteriaInputboxRow
     *
     * @return void
     */
    
public function testGetCriteriaInputboxRow()
    {
        
$this->assertEquals(
            
'<tr class="even noclick"><th>Criteria:</th><td class="center">'
            
'<input type="hidden" name="prev_criteria[0]" value="" />'
            
'<input type="text" name="criteria[0]" value="" class="textfield" '
            
'style="width: 12ex" size="20" /></td><td class="center">'
            
'<input type="hidden" name="prev_criteria[1]" value="" />'
            
'<input type="text" name="criteria[1]" value="" class="textfield" '
            
'style="width: 12ex" size="20" /></td><td class="center">'
            
'<input type="hidden" name="prev_criteria[2]" value="" />'
            
'<input type="text" name="criteria[2]" value="" class="textfield" '
            
'style="width: 12ex" size="20" /></td></tr>',
            
$this->_callProtectedFunction(
                
'_getCriteriaInputboxRow',
                array()
            )
        );
    }

    
/**
     * Test for _getFootersOptions
     *
     * @return void
     */
    
public function testGetFootersOptions()
    {
        
$this->assertEquals(
            
'<div class="floatleft">Add/Delete criteria rows:<select size="1" '
            
'name="criteriaRowAdd"><option value="-3">-3</option><option '
            
'value="-2">-2</option><option value="-1">-1</option><option '
            
'value="0" selected="selected">0</option><option value="1">1'
            
'</option><option value="2">2</option><option value="3">3</option>'
            
'</select></div>',
            
$this->_callProtectedFunction(
                
'_getFootersOptions',
                array(
'row')
            )
        );
    }

    
/**
     * Test for _getTableFooters
     *
     * @return void
     */
    
public function testGetTableFooters()
    {
        
$this->assertEquals(
            
'<fieldset class="tblFooters"><div class="floatleft">Add/Delete criteria'
            
' rows:<select size="1" name="criteriaRowAdd"><option value="-3">-3'
            
'</option><option value="-2">-2</option><option value="-1">-1</option>'
            
'<option value="0" selected="selected">0</option><option value="1">1'
            
'</option><option value="2">2</option><option value="3">3</option>'
            
'</select></div><div class="floatleft">Add/Delete columns:<select '
            
'size="1" name="criteriaColumnAdd"><option value="-3">-3</option>'
            
'<option value="-2">-2</option><option value="-1">-1</option>'
            
'<option value="0" selected="selected">0</option><option value="1">1'
            
'</option><option value="2">2</option><option value="3">3</option>'
            
'</select></div><div class="floatleft"><input type="submit" '
            
'name="modify"value="Update Query" /></div></fieldset>',
            
$this->_callProtectedFunction(
                
'_getTableFooters',
                array()
            )
        );
    }

    
/**
     * Test for _getAndOrColCell
     *
     * @return void
     */
    
public function testGetAndOrColCell()
    {
        
$this->assertEquals(
            
'<td class="center"><strong>Or:</strong><input type="radio" '
            
'name="criteriaAndOrColumn[1]" value="or" />&nbsp;&nbsp;<strong>And:'
            
'</strong><input type="radio" name="criteriaAndOrColumn[1]" value='
            
'"and" /><br />Ins<input type="checkbox" name="criteriaColumnInsert'
            
'[1]" />&nbsp;&nbsp;Del<input type="checkbox" '
            
'name="criteriaColumnDelete[1]" /></td>',
            
$this->_callProtectedFunction(
                
'_getAndOrColCell',
                array(
1)
            )
        );
    }

    
/**
     * Test for _getModifyColumnsRow
     *
     * @return void
     */
    
public function testGetModifyColumnsRow()
    {
        
$this->assertEquals(
            
'<tr class="even noclick"><th>Modify:</th><td class="center"><strong>'
            
'Or:</strong><input type="radio" name="criteriaAndOrColumn[0]" value'
            
'="or" />&nbsp;&nbsp;<strong>And:</strong><input type="radio" name='
            
'"criteriaAndOrColumn[0]" value="and" checked="checked" /><br />Ins'
            
'<input type="checkbox" name="criteriaColumnInsert[0]" />&nbsp;&nbsp;'
            
'Del<input type="checkbox" name="criteriaColumnDelete[0]" /></td><td '
            
'class="center"><strong>Or:</strong><input type="radio" name="'
            
'criteriaAndOrColumn[1]" value="or" />&nbsp;&nbsp;<strong>And:'
            
'</strong><input type="radio" name="criteriaAndOrColumn[1]" value='
            
'"and" checked="checked" /><br />Ins<input type="checkbox" name='
            
'"criteriaColumnInsert[1]" />&nbsp;&nbsp;Del<input type="checkbox" '
            
'name="criteriaColumnDelete[1]" /></td><td class="center"><strong>Or:'
            
'</strong><input type="radio" name="criteriaAndOrColumn[2]" value="or"'
            
' />&nbsp;&nbsp;<strong>And:</strong><input type="radio" name="criter'
            
'iaAndOrColumn[2]" value="and" checked="checked" /><br />Ins<input '
            
'type="checkbox" name="criteriaColumnInsert[2]" />&nbsp;&nbsp;Del'
            
'<input type="checkbox" name="criteriaColumnDelete[2]" /></td></tr>',
            
$this->_callProtectedFunction(
                
'_getModifyColumnsRow',
                array()
            )
        );
    }

    
/**
     * Test for _getInsDelAndOrCell
     *
     * @return void
     */
    
public function testGetInsDelAndOrCell()
    {
        
$GLOBALS['cell_align_right'] = 'cellAlign';
        
$this->assertEquals(
            
'<td class="cellAlign nowrap"><!-- Row controls --><table class="nospac'
            
'ing nopadding"><tr><td class="cellAlign nowrap"><small>Ins:</small>'
            
'<input type="checkbox" name="criteriaRowInsert[3]" /></td><td '
            
'class="cellAlign"><strong>And:</strong></td><td><input type="radio" '
            
'name="criteriaAndOrRow[3]" value="and" /></td></tr><tr><td class="'
            
'cellAlign nowrap"><small>Del:</small><input type="checkbox" '
            
'name="criteriaRowDelete[3]" /></td><td class="cellAlign"><strong>'
            
'Or:</strong></td><td><input type="radio" name="criteriaAndOrRow[3]" '
            
'value="or" checked="checked" /></td></tr></table></td>',
            
$this->_callProtectedFunction(
                
'_getInsDelAndOrCell',
                array(
3, array('and' => '''or' => ' checked="checked"'))
            )
        );
    }

    
/**
     * Test for _getInputboxRow
     *
     * @return void
     */
    
public function testGetInputboxRow()
    {
        
$this->assertEquals(
            
'<td class="center"><input type="text" name="Or2[0]" value="" class='
            
'"textfield" style="width: 12ex" size="20" /></td><td class="center">'
            
'<input type="text" name="Or2[1]" value="" class="textfield" '
            
'style="width: 12ex" size="20" /></td><td class="center"><input '
            
'type="text" name="Or2[2]" value="" class="textfield" style="width: '
            
'12ex" size="20" /></td>',
            
$this->_callProtectedFunction(
                
'_getInputboxRow',
                array(
2)
            )
        );
    }

    
/**
     * Test for _getInsDelAndOrCriteriaRows
     *
     * @return void
     */
    
public function testGetInsDelAndOrCriteriaRows()
    {
        
$GLOBALS['cell_align_right'] = 'cellAlign';
        
$this->assertEquals(
            
'<tr class="odd noclick"><td class="cellAlign nowrap"><!-- Row controls'
            
' --><table class="nospacing nopadding"><tr><td class="cellAlign '
            
'nowrap"><small>Ins:</small><input type="checkbox" name="'
            
'criteriaRowInsert[0]" /></td><td class="cellAlign"><strong>And:'
            
'</strong></td><td><input type="radio" name="criteriaAndOrRow[0]" '
            
'value="and" /></td></tr><tr><td class="cellAlign nowrap"><small>Del:'
            
'</small><input type="checkbox" name="criteriaRowDelete[0]" /></td>'
            
'<td class="cellAlign"><strong>Or:</strong></td><td><input type='
            
'"radio" name="criteriaAndOrRow[0]" value="or" checked="checked" />'
            
'</td></tr></table></td><td class="center"><input type="text" '
            
'name="Or0[0]" value="" class="textfield" style="width: 12ex" '
            
'size="20" /></td><td class="center"><input type="text" name="Or0[1]" '
            
'value="" class="textfield" style="width: 12ex" size="20" /></td><td '
            
'class="center"><input type="text" name="Or0[2]" value="" class='
            
'"textfield" style="width: 12ex" size="20" /></td></tr>',
            
$this->_callProtectedFunction(
                
'_getInsDelAndOrCriteriaRows',
                array(
2,3)
            )
        );
    }

    
/**
     * Test for _getSelectClause
     *
     * @return void
     */
    
public function testGetSelectClause()
    {
        
$this->assertEquals(
            
'',
            
$this->_callProtectedFunction(
                
'_getSelectClause',
                array()
            )
        );
    }

    
/**
     * Test for _getWhereClause
     *
     * @return void
     */
    
public function testGetWhereClause()
    {
        
$this->assertEquals(
            
'',
            
$this->_callProtectedFunction(
                
'_getWhereClause',
                array()
            )
        );
    }

    
/**
     * Test for _getOrderByClause
     *
     * @return void
     */
    
public function testGetOrderByClause()
    {
        
$this->assertEquals(
            
'',
            
$this->_callProtectedFunction(
                
'_getOrderByClause',
                array()
            )
        );
    }

    
/**
     * Test for _getIndexes
     *
     * @return void
     */
    
public function testGetIndexes()
    {
        
$this->assertEquals(
            array(
                
'unique' => array(),
                
'index' => array()
            ),
            
$this->_callProtectedFunction(
                
'_getIndexes',
                array(
                    array(
'`table1`','table2'),
                    array(
'column1''column2''column3'),
                    array(
'column2')
                )
            )
        );
    }

    
/**
     * Test for _getLeftJoinColumnCandidates
     *
     * @return void
     */
    
public function testGetLeftJoinColumnCandidates()
    {
        
$this->assertEquals(
            array(
                
=> 'column2'
            
),
            
$this->_callProtectedFunction(
                
'_getLeftJoinColumnCandidates',
                array(
                    array(
'`table1`','table2'),
                    array(
'column1''column2''column3'),
                    array(
'column2')
                )
            )
        );
    }

    
/**
     * Test for _getMasterTable
     *
     * @return void
     */
    
public function testGetMasterTable()
    {
        
$this->assertEquals(
            
0,
            
$this->_callProtectedFunction(
                
'_getMasterTable',
                array(
                    array(
'table1','table2'),
                    array(
'column1''column2''column3'),
                    array(
'column2'),
                    array(
'qbe_test')
                )
            )
        );
    }

    
/**
     * Test for _getWhereClauseTablesAndColumns
     *
     * @return void
     */
    
public function testGetWhereClauseTablesAndColumns()
    {
        
$_POST['criteriaColumn'] = array(
            
'table1.id',
            
'table1.value',
            
'table1.name',
            
'table1.deleted'
        
);
        
$this->assertEquals(
            array(
                
'where_clause_tables' => array(),
                
'where_clause_columns' => array()
            ),
            
$this->_callProtectedFunction(
                
'_getWhereClauseTablesAndColumns',
                array()
            )
        );
    }

    
/**
     * Test for _getFromClause
     *
     * @return void
     */
    
public function testGetFromClause()
    {
        
$_POST['criteriaColumn'] = array(
            
'table1.id',
            
'table1.value',
            
'table1.name',
            
'table1.deleted'
        
);
        
$this->assertEquals(
            
'`table1`',
            
$this->_callProtectedFunction(
                
'_getFromClause', array()
            )
        );
    }

    
/**
     * Test for _getSQLQuery
     *
     * @return void
     */
    
public function testGetSQLQuery()
    {
        
$_POST['criteriaColumn'] = array(
            
'table1.id',
            
'table1.value',
            
'table1.name',
            
'table1.deleted'
        
);
        
$this->assertEquals(
            
'FROM `table1`
'
,
            
$this->_callProtectedFunction(
                
'_getSQLQuery',
                array()
            )
        );
    }
}

:: 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.0045 ]--