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


Viewing file:     PmaSeleniumExportTest.php (5.15 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Selenium TestCase for export related tests
 *
 * @package    PhpMyAdmin-test
 * @subpackage Selenium
 */

require_once 'TestBase.php';

/**
 * PmaSeleniumExportTest class
 *
 * @package    PhpMyAdmin-test
 * @subpackage Selenium
 * @group      selenium
 */
class PMA_SeleniumExportTest extends PMA_SeleniumBase
{
    
/**
     * Setup the browser environment to run the selenium test case
     *
     * @return void
     */
    
public function setUp()
    {
        
parent::setUp();
        
$this->dbQuery(
            
"CREATE TABLE `test_table` ("
            
" `id` int(11) NOT NULL AUTO_INCREMENT,"
            
" `val` int(11) NOT NULL,"
            
" PRIMARY KEY (`id`)"
            
")"
        
);
        
$this->dbQuery(
            
"INSERT INTO `test_table` (val) VALUES (2);"
        
);
    }

    
/**
     * setUp function that can use the selenium session (called before each test)
     *
     * @return void
     */
    
public function setUpPage()
    {
        
$this->login();
    }

    
/**
     * Test for server level export
     *
     * @param string $plugin   Export format
     * @param array  $expected Array of expected strings
     *
     * @return void
     * @dataProvider exportDataProvider
     *
     * @group large
     */
    
public function testServerImport($plugin$expected)
    {
        
$text $this->_doExport('server'$plugin);

        foreach (
$expected as $str) {
            
$this->assertContains($str$text);
        }

    }

    
/**
     * Test for db level export
     *
     * @param string $plugin   Export format
     * @param array  $expected Array of expected strings
     *
     * @return void
     * @dataProvider exportDataProvider
     *
     * @group large
     */
    
public function testDbExport($plugin$expected)
    {
        
$this->waitForElement("byLinkText"$this->database_name)->click();
        
$this->waitForElement(
            
"byXPath",
            
"//a[@class='item' and contains(., 'Database: "
            
$this->database_name "')]"
        
);

        
$text $this->_doExport('db'$plugin);

        foreach (
$expected as $str) {
            
$this->assertContains($str$text);
        }
    }

    
/**
     * Test for table level export
     *
     * @param string $plugin   Export format
     * @param array  $expected Array of expected strings
     *
     * @return void
     * @dataProvider exportDataProvider
     *
     * @group large
     */
    
public function testTableExport($plugin$expected)
    {
        
$this->dbQuery("INSERT INTO `test_table` (val) VALUES (3);");

        
$this->navigateTable('test_table');

        
$text $this->_doExport('table'$plugin);

        foreach (
$expected as $str) {
            
$this->assertContains($str$text);
        }
    }


    
/**
     * Data provider for testServerExport
     *
     * @return array Test cases data
     */
    
public function exportDataProvider()
    {
        return array(
            array(
                
'CSV',
                array(
'"1","2"')
            ),
            array(
                
'SQL',
                array(
                    
"CREATE TABLE IF NOT EXISTS `test_table`",
                    
"INSERT INTO `test_table` (`id`, `val`) VALUES",
                    
"(1, 2);"
                
)
            ),
            array(
                
'JSON',
                array(
'[{"id":"1","val":"2"}]')
            )
        );
    }

    
/**
     * Function that goes to the import page, uploads a file and submit form
     *
     * @param string $type   level: server, db or import
     * @param string $plugin format: csv, json, etc
     *
     * @return string export string
     */
    
private function _doExport($type$plugin)
    {
        
$this->expandMore();

        
$this->waitForElement('byLinkText'"Export")->click();
        
$this->sleep();

        
$this->waitForElement("byId""quick_or_custom");
        
/*
         * FIXME: There should be better way to wait for javascript to be executed
         */
        
$this->sleep();
        
$this->byCssSelector("label[for=radio_custom_export]")->click();

        if (
$type == 'server') {
            
$this->byLinkText('Unselect All')->click();
            
$this->byCssSelector(
                
"option[value=" $this->database_name "]"
            
)->click();
        }

        if (
$type == 'table') {
            
$this->byCssSelector("label[for=radio_allrows_0]")->click();
            
$this->sleep();
            
$this->byName("limit_to")->clear();
            
$this->byName("limit_to")->value("1");
        }

        
$this->select($this->byId("plugins"))->selectOptionByLabel($plugin);
        
$this->byCssSelector("label[for=radio_view_as_text]")->click();

        if (
$plugin == "SQL") {
            
$this->byCssSelector(
                
"label[for=radio_sql_structure_or_data_structure_and_data]"
            
)->click();

            if (
$type != "table") {
                
$this->byCssSelector(
                    
"label[for=checkbox_sql_create_database]"
                
)->click();
            }
        }

        
$this->byId("buttonGo")->click();

        
$text $this->waitForElement("byId""textSQLDUMP")->text();

        return 
$text;
    }
}

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