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


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

/*
 * Include to test.
 */
require_once 'libraries/Util.class.php';
require_once 
'libraries/relation.lib.php';
require_once 
'libraries/url_generating.lib.php';
require_once 
'libraries/sqlparser.lib.php';
require_once 
'libraries/php-gettext/gettext.inc';
require_once 
'libraries/Index.class.php';
require_once 
'libraries/database_interface.inc.php';
require_once 
'libraries/dbi/DBIMysql.class.php';

/**
 * Tests for PMA_DBI_Mysql class
 *
 * @package PhpMyAdmin-test
 */
class PMA_DBI_Mysql_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()
    {
        if (! 
extension_loaded('mysql')) {
            
$this->markTestSkipped('The MySQL extension is not available.');
        }
        
$GLOBALS['cfg']['Server']['ssl'] = true;
        
$GLOBALS['cfg']['PersistentConnections'] = false;
        
$GLOBALS['cfg']['Server']['compress'] = true;
        
$this->object = new PMA_DBI_Mysql();
    }

    
/**
     * 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);
    }

    
/**
     * Test for realMultiQuery
     *
     * @return void
     *
     * @group medium
     */
    
public function testRealMultiQuery()
    {
        
//PHP's 'mysql' extension does not support multi_queries
        
$this->assertEquals(
            
false,
            
$this->object->realMultiQuery(null"select * from PMA")
        );
    }

    
/**
     * Test for mysql related functions, using runkit_function_redefine
     *
     * @return void
     *
     * @group medium
     */
    
public function testMysqlDBI()
    {
        if (! 
PMA_HAS_RUNKIT) {
            
$this->markTestSkipped("Cannot redefine function");
        }
        
//FOR UT, we just test the right mysql client API is called
        
runkit_function_redefine('mysql_pconnect''''return "mysql_pconnect";');
        
runkit_function_redefine('mysql_connect''''return "mysql_connect";');
        
runkit_function_redefine('mysql_query''''return "mysql_query";');
        
runkit_function_redefine(
            
'mysql_fetch_array''''return "mysql_fetch_array";'
        
);
        
runkit_function_redefine(
            
'mysql_data_seek''''return "mysql_data_seek";'
        
);
        
runkit_function_redefine(
            
'mysql_get_host_info''''return "mysql_get_host_info";'
        
);
        
runkit_function_redefine(
            
'mysql_get_proto_info''''return "mysql_get_proto_info";'
        
);
        
runkit_function_redefine(
            
'mysql_field_flags''''return "mysql_field_flags";'
        
);
        
runkit_function_redefine(
            
'mysql_field_name''''return "mysql_field_name";'
        
);
        
runkit_function_redefine(
            
'mysql_field_len''''return "mysql_field_len";'
        
);
        
runkit_function_redefine(
            
'mysql_num_fields''''return "mysql_num_fields";'
        
);
        
runkit_function_redefine(
            
'mysql_affected_rows''''return "mysql_affected_rows";'
        
);

        
//test for fieldFlags
        
$result = array("table1""table2");
        
$ret $this->object->numFields($result);
        
$this->assertEquals(
            
'mysql_num_fields',
            
$ret
        
);

        
//test for fetchRow
        
$result = array("table1""table2");
        
$ret $this->object->fetchRow($result);
        
$this->assertEquals(
            
'mysql_fetch_array',
            
$ret
        
);

        
//test for fetchRow
        
$result = array("table1""table2");
        
$ret $this->object->fetchAssoc($result);
        
$this->assertEquals(
            
'mysql_fetch_array',
            
$ret
        
);

        
//test for affectedRows
        
$link "PMA_link";
        
$get_from_cache false;
        
$ret $this->object->affectedRows($link$get_from_cache);
        
$this->assertEquals(
            
"mysql_affected_rows",
            
$ret
        
);

        
//test for connect
        
$user 'PMA_user';
        
$password 'PMA_password';
        
$is_controluser false;
        
$server = array(
            
'port' => 8080,
            
'socket' => 123,
            
'host' => 'locahost',
        );
        
$auxiliary_connection true;

        
//test for connect
        
$ret $this->object->connect(
            
$user$password$is_controluser,
            
$server$auxiliary_connection
        
);
        
$this->assertEquals(
            
'mysql_connect',
            
$ret
        
);

        
$GLOBALS['cfg']['PersistentConnections'] = true;
        
$ret $this->object->connect(
            
$user$password$is_controluser,
            
$server$auxiliary_connection
        
);
        
$this->assertEquals(
            
'mysql_pconnect',
            
$ret
        
);

        
//test for realQuery
        
$query 'select * from DBI';
        
$link $ret;
        
$options 0;
        
$ret $this->object->realQuery($query$link$options);
        
$this->assertEquals(
            
'mysql_query',
            
$ret
        
);

        
//test for fetchArray
        
$result $ret;
        
$ret $this->object->fetchArray($result);
        
$this->assertEquals(
            
'mysql_fetch_array',
            
$ret
        
);

        
//test for dataSeek
        
$result $ret;
        
$offset 12;
        
$ret $this->object->dataSeek($result$offset);
        
$this->assertEquals(
            
'mysql_data_seek',
            
$ret
        
);

        
//test for getHostInfo
        
$ret $this->object->getHostInfo($ret);
        
$this->assertEquals(
            
'mysql_get_host_info',
            
$ret
        
);

        
//test for getProtoInfo
        
$ret $this->object->getProtoInfo($ret);
        
$this->assertEquals(
            
'mysql_get_proto_info',
            
$ret
        
);

        
//test for fieldLen
        
$ret $this->object->fieldLen($ret$offset);
        
$this->assertEquals(
            
'mysql_field_len',
            
$ret
        
);

        
//test for fieldName
        
$ret $this->object->fieldName($ret$offset);
        
$this->assertEquals(
            
'mysql_field_name',
            
$ret
        
);

        
//test for fieldFlags
        
$ret $this->object->fieldFlags($ret$offset);
        
$this->assertEquals(
            
'mysql_field_flags',
            
$ret
        
);
    }

    
/**
     * Test for selectDb
     *
     * @return void
     *
     * @group medium
     */
    
public function testSelectDb()
    {
        
$this->markTestIncomplete('Not testing anything');
        
//$link is empty
        
$GLOBALS['userlink'] = null;
        
$this->assertEquals(
            
false,
            
$this->object->selectDb("PMA"null)
        );
    }

    
/**
     * Test for moreResults
     *
     * @return void
     *
     * @group medium
     */
    
public function testMoreResults()
    {
        
//PHP's 'mysql' extension does not support multi_queries
        
$this->assertEquals(
            
false,
            
$this->object->moreResults(null)
        );
        
//PHP's 'mysql' extension does not support multi_queries
        
$this->assertEquals(
            
false,
            
$this->object->nextResult(null)
        );
    }

    
/**
     * Test for getClientInfo
     *
     * @return void
     *
     * @group medium
     */
    
public function testGetClientInfo()
    {
        
$this->assertEquals(
            
mysql_get_client_info(),
            
$this->object->getClientInfo()
        );
    }

    
/**
     * Test for numRows
     *
     * @return void
     *
     * @group medium
     */
    
public function testNumRows()
    {
        
$this->assertEquals(
            
false,
            
$this->object->numRows(true)
        );
    }

    
/**
     * Test for storeResult
     *
     * @return void
     *
     * @group medium
     */
    
public function testStoreResult()
    {
        
$this->assertEquals(
            
false,
            
$this->object->storeResult(null)
        );
    }
}

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