!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.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_TableReplaceSearch_test.php (4.3 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Tests for libraries/TableSearch.class.php with search type replace
 *
 * @package PhpMyAdmin-test
 */

require_once 'libraries/Util.class.php';
/*
 * Include to test.
 */
require_once 'libraries/TableSearch.class.php';
require_once 
'libraries/DatabaseInterface.class.php';
require_once 
'libraries/php-gettext/gettext.inc';
require_once 
'libraries/url_generating.lib.php';

/**
 * Tests for libraries/TableSearch.class.php with search type replace
 *
 * @package PhpMyAdmin-test
 */
class PMA_TableReplaceSearchTest extends PHPUnit_Framework_TestCase
{
    
/**
     * @var PMA_TableSearch
     */
    
private $_object;

    
/**
     * Sets up the environment for tests
     *
     * @return void
     */
    
protected function setup()
    {
        
$this->_object $this->getMock(
            
'PMA_TableSearch',
            array(
'_loadTableInfo'),
            array(),
            
'',
            
false
        
);

        
$reflection = new \ReflectionClass('PMA_TableSearch');

        
// set database, table names
        
$attrDb $reflection->getProperty('_db');
        
$attrDb->setAccessible(true);
        
$attrDb->setValue($this->_object'dbName');
        
$attrTable $reflection->getProperty('_table');
        
$attrTable->setAccessible(true);
        
$attrTable->setValue($this->_object'tableName');

        
// set column names list
        
$attrColNames $reflection->getProperty('_columnNames');
        
$attrColNames->setAccessible(true);
        
$columnNames = array('column1');
        
$attrColNames->setValue($this->_object$columnNames);
    }

    
/**
     * Tests getReplacePreview() method
     *
     * @return void
     * @group medium
     */
    
public function testGetReplacePreview()
    {
        
//mock DBI
        
$dbi $this->getMockBuilder('PMA_DatabaseInterface')
            ->
disableOriginalConstructor()
            ->
getMock();

        
$find 'findValue';
        
$replaceWith 'replaceWithValue';
        
$useRegex false;
        
$charSet 'charSetValue';

        
// set expectations
        
$dbi->expects($this->once())
            ->
method('fetchResult')
            ->
will(
                
$this->returnValue(
                    array(
                        array(
'val1''replace1'5),
                        array(
'va<2''replac<2'1)
                    )
                )
            );
        
$GLOBALS['dbi'] = $dbi;

        
$ret $this->_object->getReplacePreview(
            
0$find$replaceWith$useRegex$charSet
        
);

        
// assert whether hidden values are properly set
        
$this->assertContains(
            
'<input type="hidden" name="replace" value="true" />',
            
$ret
        
);
        
$this->assertContains(
            
'<input type="hidden" name="columnIndex" value="0" />',
            
$ret
        
);
        
$this->assertContains(
            
'<input type="hidden" name="findString"' ' value="' $find '" />',
            
$ret
        
);
        
$this->assertContains(
            
'<input type="hidden" name="replaceWith"' ' value="'
            
$replaceWith '" />',
            
$ret
        
);

        
// assert values displayed in the preview and escaping
        
$this->assertContains(
            
'<td class="right">5</td><td>val1</td><td>replace1</td>',
            
$ret
        
);
        
$this->assertContains(
            
'<td class="right">1</td><td>va&lt;2</td><td>replac&lt;2</td>',
            
$ret
        
);
    }

    
/**
     * Tests replace() method
     *
     * @return void
     */
    
public function testReplace()
    {
        
//mock DBI
        
$dbi $this->getMockBuilder('PMA_DatabaseInterface')
            ->
disableOriginalConstructor()
            ->
getMock();

        
$find 'findValue';
        
$replaceWith 'replaceWithValue';
        
$useRegex false;
        
$charSet 'charSetValue';

        
$expectedQuery "UPDATE `dbName`.`tableName`"
            
" SET `column1` = REPLACE(`column1`, '" $find "', '" $replaceWith
            
"') WHERE `column1` LIKE '%" $find "%' COLLATE "
            
$charSet "_bin";
        
// set expectations
        
$dbi->expects($this->once())
            ->
method('query')
            ->
with($expectedQuery);
        
$GLOBALS['dbi'] = $dbi;

        
$this->_object->replace(0$find$replaceWith$useRegex$charSet);
    }
}
?>

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