From 205f3051f91e734f3fbb36360ce213c0f8df78e9 Mon Sep 17 00:00:00 2001 From: xmujay Date: Wed, 10 Jul 2013 21:07:47 +0800 Subject: [PATCH 1/5] UTs for PMA_server_databases.lib.php --- test/libraries/PMA_server_databases_test.php | 206 +++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 test/libraries/PMA_server_databases_test.php diff --git a/test/libraries/PMA_server_databases_test.php b/test/libraries/PMA_server_databases_test.php new file mode 100644 index 0000000000..c169b93277 --- /dev/null +++ b/test/libraries/PMA_server_databases_test.php @@ -0,0 +1,206 @@ +getMockBuilder('PMA_DatabaseInterface') + ->disableOriginalConstructor() + ->getMock(); + + $GLOBALS['dbi'] = $dbi; + + //Call the test function + $databases = array( + array("SCHEMA_NAME" => "pma_bookmark"), + array("SCHEMA_NAME" => "information_schema"), + array("SCHEMA_NAME" => "mysql"), + array("SCHEMA_NAME" => "performance_schema"), + array("SCHEMA_NAME" => "phpmyadmin") + ); + $databases_count = 5; + $pos = 0; + $dbstats = 0; + $sort_by = "SCHEMA_NAME"; + $sort_order = "asc"; + $is_superuser = true; + $cfg = array( + "AllowUserDropDatabase" => false, + "ActionLinksMode" => "both", + ); + $replication_types = array("master", "slave"); + $replication_info = array( + "master" => array( + "status" => true, + "Ignore_DB" => array("DB" => "Ignore_DB"), + "Do_DB" => array(""), + ), + "slave" => array( + "status" => false, + "Ignore_DB" => array("DB" => "Ignore_DB"), + "Do_DB" => array(""), + ), + ); + $url_query = "token=27ae04f0b003a84e5c2796182f361ff1"; + + $html = PMA_getHtmlForDatabase( + $databases, + $databases_count, + $pos, + $dbstats, + $sort_by, + $sort_order, + $is_superuser, + $cfg, + $replication_types, + $replication_info, + $url_query + ); + + + + //validate 1: General info + $this->assertContains( + '
', + $html + ); + + //validate 2:ajax Form + $this->assertContains( + '
assertContains( + '', + $html + ); + + //validate 3: PMA_getHtmlForColumnOrderWithSort + $this->assertContains( + 'assertContains( + 'title="information_schema" value="information_schema"', + $html + ); + $this->assertContains( + 'title="performance_schema" value="performance_schema"', + $html + ); + $this->assertContains( + 'title="phpmyadmin" value="phpmyadmin"', + $html + ); + + //validate 5: PMA_getHtmlForTableFooter + $this->assertContains( + 'Total: 5', + $html + ); + + //validate 6: PMA_getHtmlForTableFooterButtons + $this->assertContains( + 'Check All', + $html + ); + + //validate 7: PMA_getHtmlForNoticeEnableStatistics + $this->assertContains( + 'Note: Enabling the database statistics here might cause heavy traffic', + $html + ); + $this->assertContains( + 'Enable Statistics', + $html + ); + } +} From 197d18b70b95b5fc96fa9ddbed9a01614098b833 Mon Sep 17 00:00:00 2001 From: xmujay Date: Wed, 10 Jul 2013 21:42:36 +0800 Subject: [PATCH 2/5] fix code style --- test/libraries/PMA_server_databases_test.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/test/libraries/PMA_server_databases_test.php b/test/libraries/PMA_server_databases_test.php index c169b93277..c666e41a1e 100644 --- a/test/libraries/PMA_server_databases_test.php +++ b/test/libraries/PMA_server_databases_test.php @@ -23,7 +23,7 @@ require_once 'libraries/sqlparser.lib.php'; require_once 'libraries/js_escape.lib.php'; /** - * PMA_Serverdatabases_Test class + * PMA_ServerDatabases_Test class * * this class is for testing server_databases.lib.php functions * @@ -58,14 +58,13 @@ class PMA_ServerDatabases_Test extends PHPUnit_Framework_TestCase $GLOBALS['cfg']['LimitChars'] = 100; $GLOBALS['cfg']['DBG']['sql'] = false; $GLOBALS['cfg']['ActionLinksMode'] = "both"; + $GLOBALS['cfg']['DefaultTabDatabase'] = 'db_structure.php'; $GLOBALS['table'] = "table"; $GLOBALS['server_master_status'] = false; $GLOBALS['server_slave_status'] = false; $GLOBALS['pmaThemeImage'] = 'image'; $GLOBALS['text_dir'] = "text_dir"; - - $GLOBALS['cfg']['DefaultTabDatabase'] = 'db_structure.php'; //$_SESSION $_SESSION['PMA_Theme'] = PMA_Theme::load('./themes/pmahomme'); @@ -95,6 +94,7 @@ class PMA_ServerDatabases_Test extends PHPUnit_Framework_TestCase array("SCHEMA_NAME" => "performance_schema"), array("SCHEMA_NAME" => "phpmyadmin") ); + $databases_count = 5; $pos = 0; $dbstats = 0; @@ -133,8 +133,6 @@ class PMA_ServerDatabases_Test extends PHPUnit_Framework_TestCase $replication_info, $url_query ); - - //validate 1: General info $this->assertContains( From 6241f0b26e3d097fe5e8ea89b1ccac31bbfd05e4 Mon Sep 17 00:00:00 2001 From: xmujay Date: Wed, 10 Jul 2013 22:16:14 +0800 Subject: [PATCH 3/5] fix the undefined error --- libraries/server_privileges.lib.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/server_privileges.lib.php b/libraries/server_privileges.lib.php index 7b8dc0fad2..c65cfe2823 100644 --- a/libraries/server_privileges.lib.php +++ b/libraries/server_privileges.lib.php @@ -1596,6 +1596,8 @@ function PMA_getHtmlForSpecificDbPrivileges($link_edit, $conditional_class) .' `Db` ASC;'; $res = $GLOBALS['dbi']->query($sql_query); $row = $GLOBALS['dbi']->fetchAssoc($res); + + $found = false; if ($row) { $found = true; } From cb41417a7b935fbc378104c2cdd1ef7d301fe027 Mon Sep 17 00:00:00 2001 From: xmujay Date: Wed, 10 Jul 2013 22:21:15 +0800 Subject: [PATCH 4/5] remove the changes for server_privileges --- libraries/server_privileges.lib.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/libraries/server_privileges.lib.php b/libraries/server_privileges.lib.php index f3340d8a9c..46a35c6970 100644 --- a/libraries/server_privileges.lib.php +++ b/libraries/server_privileges.lib.php @@ -1625,8 +1625,6 @@ function PMA_getHtmlForSpecificDbPrivileges($link_edit, $conditional_class) .' `Db` ASC;'; $res = $GLOBALS['dbi']->query($sql_query); $row = $GLOBALS['dbi']->fetchAssoc($res); - - $found = false; if ($row) { $found = true; } From 4726235ef9ddff392aa3e718df81c21cceb738aa Mon Sep 17 00:00:00 2001 From: xmujay Date: Thu, 11 Jul 2013 13:34:34 +0800 Subject: [PATCH 5/5] remove the browser setting which will cause other cases failed --- test/libraries/PMA_server_databases_test.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/test/libraries/PMA_server_databases_test.php b/test/libraries/PMA_server_databases_test.php index c666e41a1e..2aadf5719e 100644 --- a/test/libraries/PMA_server_databases_test.php +++ b/test/libraries/PMA_server_databases_test.php @@ -29,8 +29,6 @@ require_once 'libraries/js_escape.lib.php'; * * @package PhpMyAdmin-test */ -define("PMA_USR_BROWSER_AGENT", "IE"); -define("PMA_USR_BROWSER_VER", "8.0"); class PMA_ServerDatabases_Test extends PHPUnit_Framework_TestCase {