!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/libraries/   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_mult_submits_test.php (12.44 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * tests for mult_submits.lib.php
 *
 * @package PhpMyAdmin-test
 */

/*
 * Include to test.
 */
require_once 'libraries/Util.class.php';
require_once 
'libraries/php-gettext/gettext.inc';
require_once 
'libraries/url_generating.lib.php';
require_once 
'libraries/ServerStatusData.class.php';
require_once 
'libraries/mult_submits.lib.php';
require_once 
'libraries/Theme.class.php';
require_once 
'libraries/database_interface.inc.php';
require_once 
'libraries/Message.class.php';
require_once 
'libraries/sanitizing.lib.php';
require_once 
'libraries/sqlparser.lib.php';
require_once 
'libraries/js_escape.lib.php';
require_once 
'libraries/relation_cleanup.lib.php';
require_once 
'libraries/relation.lib.php';
require_once 
'libraries/sql.lib.php';
require_once 
'libraries/Table.class.php';

/**
 * class PMA_MultSubmits_Test
 *
 * this class is for testing mult_submits.lib.php functions
 *
 * @package PhpMyAdmin-test
 */
class PMA_MultSubmits_Test extends PHPUnit_Framework_TestCase
{
    
/**
     * Test for setUp
     *
     * @return void
     */
    
public function setUp()
    {
        
//$GLOBALS
        
$GLOBALS['cfg']['MaxRows'] = 10;
        
$GLOBALS['cfg']['ServerDefault'] = "server";
        
$GLOBALS['cfg']['RememberSorting'] = true;
        
$GLOBALS['cfg']['SQP'] = array();
        
$GLOBALS['cfg']['MaxCharactersInDisplayedSQL'] = 1000;
        
$GLOBALS['cfg']['ShowSQL'] = true;
        
$GLOBALS['cfg']['TableNavigationLinksMode'] = 'icons';
        
$GLOBALS['cfg']['LimitChars'] = 100;
        
$GLOBALS['cfg']['Server']['DisableIS'] = false;
        
$GLOBALS['server'] = 0;
        
$GLOBALS['cfg']['ActionLinksMode'] = "both";
        
$GLOBALS['pmaThemeImage'] = 'image';

        
//_SESSION
        
$_SESSION['relation'][$GLOBALS['server']] = array(
            
'table_coords' => "table_name",
            
'displaywork' => 'displaywork',
            
'db' => "information_schema",
            
'table_info' => 'table_info',
            
'relwork' => 'relwork',
            
'commwork' => 'commwork',
            
'displaywork' => 'displaywork',
            
'pdfwork' => 'pdfwork',
            
'column_info' => 'column_info',
            
'relation' => 'relation',
            
'relwork' => 'relwork',
        );

        
//$_SESSION
        
$_SESSION['PMA_Theme'] = PMA_Theme::load('./themes/pmahomme');
        
$_SESSION['PMA_Theme'] = new PMA_Theme();

        
//Mock DBI
        
$dbi $this->getMockBuilder('PMA_DatabaseInterface')
            ->
disableOriginalConstructor()
            ->
getMock();

        
$dbi->expects($this->any())
            ->
method('query')
            ->
will($this->returnValue(true));

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

    
/**
     * Test for PMA_getHtmlForReplacePrefixTable
     *
     * @return void
     */
    
public function testPMAGetHtmlForReplacePrefixTable()
    {
        
$what 'replace_prefix_tbl';
        
$action 'delete_row';
        
$_url_params = array('url_query'=>'PMA_original_url_query');

        
//Call the test function
        
$html PMA_getHtmlForReplacePrefixTable($what$action$_url_params);

        
//validate 1: form action
        
$this->assertContains(
            
'<form action="' $action '" method="post">',
            
$html
        
);
        
//validate 2: $PMA_URL_getHiddenInputs
        
$this->assertContains(
            
PMA_URL_getHiddenInputs($_url_params),
            
$html
        
);
        
//validate 3: title
        
$this->assertContains(
            
__('Replace table prefix:'),
            
$html
        
);
        
//validate 4: from_prefix
        
$this->assertContains(
            
'<input type="text" name="from_prefix" id="initialPrefix" />',
            
$html
        
);
        
//validate 5: Submit button
        
$this->assertContains(
            
__('Submit'),
            
$html
        
);
    }

    
/**
     * Test for PMA_getHtmlForAddPrefixTable
     *
     * @return void
     */
    
public function testPMAGetHtmlForAddPrefixTable()
    {
        
$action 'delete_row';
        
$_url_params = array('url_query'=>'PMA_original_url_query');

        
//Call the test function
        
$html PMA_getHtmlForAddPrefixTable($action$_url_params);

        
//validate 1: form action
        
$this->assertContains(
            
'<form action="' $action '" method="post">',
            
$html
        
);
        
//validate 2: $_url_params
        
$this->assertContains(
            
PMA_URL_getHiddenInputs($_url_params),
            
$html
        
);
        
//validate 3: title
        
$this->assertContains(
            
'<legend>' __('Add table prefix:') . '</legend>',
            
$html
        
);
        
//validate 4: from_prefix
        
$this->assertContains(
            
__('Add prefix'),
            
$html
        
);
        
//validate 5: Submit
        
$this->assertContains(
            
__('Submit'),
            
$html
        
);
    }

    
/**
     * Test for PMA_getHtmlForOtherActions
     *
     * @return void
     */
    
public function testPMAGetHtmlForOtherActions()
    {
        
$what 'replace_prefix_tbl';
        
$action 'delete_row';
        
$_url_params = array('url_query'=>'PMA_original_url_query');
        
$full_query 'select column from PMA_table';

        
//Call the test function
        
$html PMA_getHtmlForOtherActions(
            
$what$action$_url_params$full_query
        
);

        
//validate 1: form action
        
$this->assertContains(
            
'<form action="' $action '" method="post">',
            
$html
        
);
        
//validate 2: $_url_params
        
$this->assertContains(
            
PMA_URL_getHiddenInputs($_url_params),
            
$html
        
);
        
//validate 3: conform
        
$this->assertContains(
            
__('Do you really want to execute the following query?'),
            
$html
        
);
        
//validate 4: query
        
$this->assertContains(
            
'<code>' $full_query '</code>',
            
$html
        
);
        
//validate 5: button : yes or no
        
$this->assertContains(
            
__('Yes'),
            
$html
        
);
        
$this->assertContains(
            
__('No'),
            
$html
        
);
    }

    
/**
     * Test for PMA_getUrlParams
     *
     * @return void
     */
    
public function testPMAGetUrlParams()
    {
        
$what 'row_delete';
        
$reload true;
        
$action 'db_delete_row';
        
$db "PMA_db";
        
$table "PMA_table";
        
$selected = array(
            
"index1" => "table1"
        
);
        
$views null;
        
$original_sql_query "original_sql_query";
        
$original_url_query "original_url_query";

        
$_url_params PMA_getUrlParams(
            
$what$reload$action$db$table$selected$views,
            
$original_sql_query$original_url_query
        
);
        
$this->assertEquals(
            
$what,
            
$_url_params['query_type']
        );
        
$this->assertEquals(
            
$db,
            
$_url_params['db']
        );
        
$this->assertEquals(
            array(
'DELETE FROM `PMA_db`.`PMA_table` WHERE table1 LIMIT 1;'),
            
$_url_params['selected']
        );
        
$this->assertEquals(
            
$original_sql_query,
            
$_url_params['original_sql_query']
        );
        
$this->assertEquals(
            
$original_url_query,
            
$_url_params['original_url_query']
        );
    }

    
/**
     * Test for PMA_getQueryStrFromSelected
     *
     * @return void
     */
    
public function testPMAGetQueryStrFromSelected()
    {
        
$query_type 'row_delete';
        
$db "PMA_db";
        
$table "PMA_table";
        
$selected = array(
            
"table1""table2"
        
);
        
$views null;
        
$primary null;
        
$from_prefix "from_prefix";
        
$to_prefix "to_prefix";

        
$_REQUEST['pos'] = 1000;
        
$_SESSION['tmpval']['pos'] = 1000;
        
$_SESSION['tmpval']['max_rows'] = 25;

        list(
            
$result$rebuild_database_list$reload_ret,
            
$run_parts$use_sql$sql_query$sql_query_views
        
) = PMA_getQueryStrFromSelected(
            
$query_type$selected$db$table$views,
            
$primary$from_prefix$to_prefix
        
);

        
//validate 1: $run_parts
        
$this->assertEquals(
            
true,
            
$run_parts
        
);

        
//validate 2: $result
        
$this->assertEquals(
            
true,
            
$result
        
);

        
//validate 3: $rebuild_database_list
        
$this->assertEquals(
            
false,
            
$rebuild_database_list
        
);

        
//validate 4: $reload_ret
        
$this->assertEquals(
            
null,
            
$reload_ret
        
);

        
$query_type 'analyze_tbl';
        list(
            
$result$rebuild_database_list$reload_ret,
            
$run_parts$use_sql$sql_query$sql_query_views
        
) = PMA_getQueryStrFromSelected(
            
$query_type$selected$db$table$views,
            
$primary$from_prefix$to_prefix
        
);

        
//validate 5: $use_sql
        
$this->assertEquals(
            
true,
            
$use_sql
        
);

        
//validate 6: $use_sql
        
$this->assertEquals(
            
true,
            
$use_sql
        
);
    }

    
/**
     * Test for PMA_getDataForSubmitMult
     *
     * @return void
     */
    
public function testPMAGetDataForSubmitMult()
    {
        
$submit_mult "index";
        
$db "PMA_db";
        
$table "PMA_table";
        
$selected = array(
            
"table1""table2"
        
);
        
$action 'db_delete_row';

        list(
            
$what$query_type$is_unset_submit_mult$mult_btn$centralColsError
        
)
            = 
PMA_getDataForSubmitMult(
                
$submit_mult$db$table$selected$action
            
);

        
//validate 1: $what
        
$this->assertEquals(
            
null,
            
$what
        
);

        
//validate 2: $query_type
        
$this->assertEquals(
            
'index_fld',
            
$query_type
        
);

        
//validate 3: $is_unset_submit_mult
        
$this->assertEquals(
            
true,
            
$is_unset_submit_mult
        
);

        
//validate 4:
        
$this->assertEquals(
            
__('Yes'),
            
$mult_btn
        
);

        
//validate 5: $centralColsError
        
$this->assertEquals(
            
null,
            
$centralColsError
        
);

        
$submit_mult "unique";

        list(
            
$what$query_type$is_unset_submit_mult$mult_btn$centralColsError
        
)
            = 
PMA_getDataForSubmitMult(
                
$submit_mult$db$table$selected$action
            
);

        
//validate 1: $what
        
$this->assertEquals(
            
null,
            
$what
        
);

        
//validate 2: $query_type
        
$this->assertEquals(
            
'unique_fld',
            
$query_type
        
);

        
//validate 3: $is_unset_submit_mult
        
$this->assertEquals(
            
true,
            
$is_unset_submit_mult
        
);

        
//validate 4: $mult_btn
        
$this->assertEquals(
            
__('Yes'),
            
$mult_btn
        
);

        
//validate 5: $centralColsError
        
$this->assertEquals(
            
null,
            
$centralColsError
        
);
    }

    
/**
     * Test for PMA_getQueryFromSelected
     *
     * @return void
     */
    
public function testPMAGetQueryFromSelected()
    {
        
$what "drop_tbl";
        
$db "PMA_db";
        
$table "PMA_table";
        
$selected = array(
            
"table1""table2"
        
);
        
$views = array(
            
"table1""table2"
        
);

        list(
$full_query$reload$full_query_views)
            = 
PMA_getQueryFromSelected(
                
$what$db$table$selected$views
            
);

        
//validate 1: $full_query
        
$this->assertContains(
            
"DROP VIEW `table1`, `table2`",
            
$full_query
        
);

        
//validate 2: $reload
        
$this->assertEquals(
            
false,
            
$reload
        
);

        
//validate 3: $full_query_views
        
$this->assertEquals(
            
null,
            
$full_query_views
        
);

        
$what "drop_db";

        list(
$full_query$reload$full_query_views)
            = 
PMA_getQueryFromSelected(
                
$what$db$table$selected$views
            
);

        
//validate 1: $full_query
        
$this->assertContains(
            
"DROP DATABASE `table1`;<br />DROP DATABASE `table2`;",
            
$full_query
        
);

        
//validate 2: $reload
        
$this->assertEquals(
            
true,
            
$reload
        
);
    }
}

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