diff options
author | Jehan-Guillaume (ioguix) de Rorthais | 2012-09-21 16:48:16 +0000 |
---|---|---|
committer | Jehan-Guillaume (ioguix) de Rorthais | 2012-09-21 16:48:16 +0000 |
commit | 582d11799210236a80ee06a09daf3a5d44685e2a (patch) | |
tree | af9d855dca4c483da808e1d1e6ae427498d59667 | |
parent | d571ecae7b73bb3bd1acdc2b84c230c9b623154c (diff) |
Add/improves admin tests
-rw-r--r-- | tests/selenium/src/05-admin.php | 59 | ||||
-rw-r--r-- | tests/selenium/src/12-admin.php | 233 |
2 files changed, 233 insertions, 59 deletions
diff --git a/tests/selenium/src/05-admin.php b/tests/selenium/src/05-admin.php deleted file mode 100644 index 0a18e783..00000000 --- a/tests/selenium/src/05-admin.php +++ /dev/null @@ -1,59 +0,0 @@ -<?php - $test_title = 'Admin tests'; - - if (isset($_GET['run'])) { - global $lang; - require('../config.test.php'); - require('../testBuilder.class.php'); - /* - * 1/ swing through the admin panel - */ - $t = new TestBuilder($test_title, - 'Test the admin interfaces.' - ); - - $t->login($admin_user, $admin_user_pass); - - /** 1 **/ - $t->addComment('1. Check Variables'); - $t->clickAndWait("link={$lang['strdatabases']}"); - $t->clickAndWait("link={$testdb}"); - $t->clickAndWait("link={$lang['strvariables']}"); - $t->assertText("//tr/th[text()='{$lang['strname']}' and @class='data']/../../tr/th[1]",$lang['strname']); - $t->assertText("//tr/th[text()='{$lang['strsetting']}' and @class='data']/../../tr/th[2]",$lang['strsetting']); - - /** 2 **/ - $t->addComment('2. Check Processes'); - $t->clickAndWait("link={$lang['strprocesses']}"); - $t->assertText('//h3', $lang['strpreparedxacts']); -/** - $t->assertText('//h3', $lang['strprocesses']); - # this check is a bit fragile, since it relies on new line wrapping -**/ - $t->assertText('//pre[@class=\'data\']', 'SELECT * FROM pg_catalog.pg_stat_activity*WHERE datname=\'ppatests_db\' ORDER BY usename, procpid'); - - - - /** 3 **/ - $t->addComment('3. Check Locks'); - $t->clickAndWait("link={$lang['strlocks']}"); - $t->assertText("//tr/th[text()='{$lang['strvirtualtransaction']}' and @class='data']/../../tr/th[3]",$lang['strvirtualtransaction']); - /* - Would like to assert for text pg_locks and AccessShareLock, - but since they can dynamically be written, - it doesn't seem Selenium can find them - */ - - - /** 4 **/ - $t->addComment('4. Admin Options'); - $t->clickAndWait("link={$lang['stradmin']}"); - $t->clickAndWait("//input[@value='Analyze']"); - $t->clickAndWait("//input[@value='Analyze']"); - $t->assertText('//p[@class=\'message\']', $lang['stranalyzegood']); - - /** 5 **/ - $t->logout(); - unset($t); - } -?> diff --git a/tests/selenium/src/12-admin.php b/tests/selenium/src/12-admin.php new file mode 100644 index 00000000..df03a85f --- /dev/null +++ b/tests/selenium/src/12-admin.php @@ -0,0 +1,233 @@ +<?php + $test_title = 'Admin tests'; + + if (isset($_GET['run'])) { + global $lang; + require('../config.test.php'); + require('../testBuilder.class.php'); + /* + * 1/ swing through the admin panel + */ + $t = new TestBuilder($test_title, + 'Test the admin interfaces.' + ); + + $t->login($admin_user, $admin_user_pass); + + /** 1 **/ + $t->addComment('1. Check Variables'); + $t->clickAndWait("link={$lang['strdatabases']}"); + $t->clickAndWait("link={$testdb}"); + $t->clickAndWait("link={$lang['strvariables']}"); + $t->assertText("//tr/th[text()='{$lang['strname']}' and @class='data']/../th[1]", $lang['strname']); + $t->assertText("//tr/th[text()='{$lang['strname']}' and @class='data']/../th[2]", $lang['strsetting']); + $t->assertText("//tr[contains(@class,'data')]/td[text()='client_encoding']/../td[1]", 'client_encoding'); + $t->assertText("//tr[contains(@class,'data')]/td[text()='client_encoding']/../td[2]", 'UTF*8'); + + /** 2 **/ + $t->addComment('2. Check Processes'); + $t->clickAndWait("link={$lang['strprocesses']}"); + $t->click("//a[@id='control']"); + $t->assertText("//a[@id='control']", $lang['strstart']); + if ($t->data->hasPreparedXacts()) { + $t->assertText('//h3[1]', $lang['strpreparedxacts']); + $t->assertText('//h3[2]', $lang['strprocesses']); + } + else + $t->assertText('//h3[1]', $lang['strprocesses']); + $t->assertText("//tr/th[text()='{$lang['strusername']}' and @class='data']/../th[1]", $lang['strusername']); + $t->assertText("//tr/th[text()='{$lang['strusername']}' and @class='data']/../th[2]", $lang['strprocess']); + $t->assertText("//tr/th[text()='{$lang['strusername']}' and @class='data']/../th[3]", $lang['strsql']); + $t->assertText("//tr/th[text()='{$lang['strusername']}' and @class='data']/../th[4]", $lang['strstarttime']); + $t->assertText("//tr/th[text()='{$lang['strusername']}' and @class='data']/../th[5]", $lang['stractions']); + /* this check is a bit fragile, since it relies on new line wrapping */ + $t->assertText("//tr[contains(@class,'data')]/td[text()='{$admin_user}']/../td[1]", $admin_user); + if ($t->data->major_version > 8.1) + $t->assertText('//tr[contains(@class,\'data\')]/td[3]/pre[@class=\'data\']', 'SELECT datname, usename, *FROM pg_catalog.pg_stat_activity*WHERE datname=\'ppatests_db\'*ORDER BY usename, procpid'); + else + $t->assertText('//tr[contains(@class,\'data\')]/td[3]', '<IDLE>'); + $t->assertText("//tr[contains(@class,'data')]/td[text()='{$admin_user}']/../td[5]", $lang['strcancel']); + if ($t->data->hasQueryKill()) + $t->assertText("//tr[contains(@class,'data')]/td[text()='{$admin_user}']/../td[6]", $lang['strkill']); + + /** 3 **/ + $t->addComment('3. Check Locks'); + $t->clickAndWait("link={$lang['strlocks']}"); + $t->click("//a[@id='control']"); + $t->assertText("//a[@id='control']", $lang['strstart']); + $i = 1; + $t->assertText("//tr/th[text()='{$lang['strschema']}' and @class='data']/../th[{$i}]", $lang['strschema']); $i++; + $t->assertText("//tr/th[text()='{$lang['strschema']}' and @class='data']/../th[{$i}]", $lang['strtablename']); $i++; + if ($t->data->hasVirtualTransactionId()) { + $t->assertText("//tr/th[text()='{$lang['strschema']}' and @class='data']/../th[{$i}]", $lang['strvirtualtransaction']); $i++; + } + $t->assertText("//tr/th[text()='{$lang['strschema']}' and @class='data']/../th[{$i}]", $lang['strtransaction']); $i++; + $t->assertText("//tr/th[text()='{$lang['strschema']}' and @class='data']/../th[{$i}]", $lang['strprocessid']); $i++; + $t->assertText("//tr/th[text()='{$lang['strschema']}' and @class='data']/../th[{$i}]", $lang['strmode']); $i++; + $t->assertText("//tr/th[text()='{$lang['strschema']}' and @class='data']/../th[{$i}]", $lang['strislockheld']); + $t->assertText("//tr/td[1 and text()='pg_catalog']/../td[2 and text()='pg_class']/../td[1]", 'pg_catalog'); + $t->assertText("//tr/td[1 and text()='pg_catalog']/../td[2 and text()='pg_class']/../td[2]", 'pg_class'); + if ($t->data->hasVirtualTransactionId()) { + $t->assertText("//tr/td[1 and text()='pg_catalog']/../td[2 and text()='pg_class']/../td[6]", 'AccessShareLock'); + $t->assertText("//tr/td[1 and text()='pg_catalog']/../td[2 and text()='pg_class']/../td[7]", $lang['stryes']); + } + else { + $t->assertText("//tr/td[1 and text()='pg_catalog']/../td[2 and text()='pg_class']/../td[5]", 'AccessShareLock'); + $t->assertText("//tr/td[1 and text()='pg_catalog']/../td[2 and text()='pg_class']/../td[6]", $lang['stryes']); + } + + /** 4 **/ + $t->addComment('4. Database Admin Options'); + $t->clickAndWait("link={$lang['stradmin']}"); + + $t->assertText("//tr/th[text()='{$lang['strvacuum']}' and @class='data']/../th[1]", "{$lang['strvacuum']}*"); + $t->assertText("//tr/th[text()='{$lang['strvacuum']}' and @class='data']/../th[2]", "{$lang['stranalyze']}*"); + $t->assertText("//tr/th[text()='{$lang['strvacuum']}' and @class='data']/../th[3]", "{$lang['strcluster']}*"); + $t->assertText("//tr/th[text()='{$lang['strvacuum']}' and @class='data']/../th[4]", "{$lang['strreindex']}*"); + + if ($t->data->hasAutovacuum()) + $t->assertText("//h2", $lang['strvacuumpertable']); + + /* vacuum full freeze analyze */ + $t->clickAndWait("//input[@value='{$lang['strvacuum']}']"); + $t->assertText("//h2", "{$lang['strvacuum']}*"); + $t->assertText("//p", sprintf($lang['strconfvacuumdatabase'], $testdb)); + $t->check("//input[@name='vacuum_full']"); + $t->check("//input[@name='vacuum_analyze']"); + $t->check("//input[@name='vacuum_freeze']"); + $t->clickAndWait("//input[@value='{$lang['strvacuum']}']"); + $t->assertText('//p[@class=\'message\']', $lang['strvacuumgood']); + + /* analyze */ + $t->clickAndWait("//input[@value='{$lang['stranalyze']}']"); + $t->assertText("//h2", "{$lang['stranalyze']}*"); + $t->assertText("//p", sprintf($lang['strconfanalyzedatabase'], $testdb)); + $t->clickAndWait("//input[@value='{$lang['stranalyze']}']"); + $t->assertText('//p[@class=\'message\']', $lang['stranalyzegood']); + + /* cluster */ + $t->clickAndWait("//input[@value='{$lang['strcluster']}']"); + $t->assertText("//h2", "{$lang['strcluster']}*"); + $t->assertText("//p", sprintf($lang['strconfclusterdatabase'], $testdb)); + $t->clickAndWait("//input[@value='{$lang['strcluster']}']"); + $t->assertText('//p[@class=\'message\']', $lang['strclusteredgood']); + + /* reindex */ + $t->clickAndWait("//input[@value='{$lang['strreindex']}']"); + $t->assertText("//h2", "{$lang['strreindex']}*"); + $t->assertText("//p", sprintf($lang['strconfreindexdatabase'], $testdb)); + $t->clickAndWait("//input[@value='{$lang['strreindex']}']"); + $t->assertText('//p[@class=\'message\']', $lang['strreindexgood']); + + /** 5 **/ + $t->addComment('5. Table Admin Options'); + $t->clickAndWait("link={$lang['strschemas']}"); + $t->clickAndWait("link=public"); + $t->clickAndWait("link={$lang['strtables']}"); + $t->clickAndWait("link=student"); + $t->clickAndWait("link={$lang['stradmin']}"); + + $t->assertText("//tr/th[text()='{$lang['strvacuum']}' and @class='data']/../th[1]", "{$lang['strvacuum']}*"); + $t->assertText("//tr/th[text()='{$lang['strvacuum']}' and @class='data']/../th[2]", "{$lang['stranalyze']}*"); + $t->assertText("//tr/th[text()='{$lang['strvacuum']}' and @class='data']/../th[3]", "{$lang['strcluster']}*"); + $t->assertText("//tr/th[text()='{$lang['strvacuum']}' and @class='data']/../th[4]", "{$lang['strreindex']}*"); + + /* vacuum freeze analyze full */ + $t->clickAndWait("//input[@value='{$lang['strvacuum']}']"); + $t->assertText("//h2", "{$lang['strvacuum']}*"); + $t->assertText("//p", sprintf($lang['strconfvacuumtable'], 'student')); + $t->check("//input[@name='vacuum_full']"); + $t->check("//input[@name='vacuum_analyze']"); + $t->check("//input[@name='vacuum_freeze']"); + $t->clickAndWait("//input[@value='{$lang['strvacuum']}']"); + $t->assertText('//p[@class=\'message\']', $lang['strvacuumgood']); + + /* analyze */ + $t->clickAndWait("//input[@value='{$lang['stranalyze']}']"); + $t->assertText("//h2", "{$lang['stranalyze']}*"); + $t->assertText("//p", sprintf($lang['strconfanalyzetable'], 'student')); + $t->clickAndWait("//input[@value='{$lang['stranalyze']}']"); + $t->assertText('//p[@class=\'message\']', $lang['stranalyzegood']); + + /* reindex */ + $t->clickAndWait("//input[@value='{$lang['strreindex']}']"); + $t->assertText("//h2", "{$lang['strreindex']}*"); + $t->assertText("//p", sprintf($lang['strconfreindextable'], 'student')); + $t->clickAndWait("//input[@value='{$lang['strreindex']}']"); + $t->assertText('//p[@class=\'message\']', $lang['strreindexgood']); + + /* TODO cluster */ + + /** 6 **/ + if ($t->data->hasAutovacuum()) { + $t->assertText("//h2", $lang['strvacuumpertable']); + $t->addComment('6. Autovacuum setup'); + $t->clickAndWait("link={$lang['straddvacuumtable']}"); + $t->assertText("//h2", sprintf($lang['streditvacuumtable'], 'student')); + $t->check("//tr/td/input[@name='autovacuum_enabled' and @value='off']"); + $t->type("//tr/td/input[@name='autovacuum_vacuum_threshold']", 55); + $t->type("//tr/td/input[@name='autovacuum_vacuum_scale_factor']", 0.25); + $t->type("//tr/td/input[@name='autovacuum_analyze_threshold']", 55); + $t->type("//tr/td/input[@name='autovacuum_analyze_scale_factor']", 0.15); + $t->type("//tr/td/input[@name='autovacuum_vacuum_cost_delay']", 10); + $t->type("//tr/td/input[@name='autovacuum_vacuum_cost_limit']", 200); + $t->clickAndWait("//input[@value='{$lang['strsave']}']"); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../th[1]", $lang['strenabled']); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../th[2]", $lang['strvacuumbasethreshold']); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../th[3]", $lang['strvacuumscalefactor']); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../th[4]", $lang['stranalybasethreshold']); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../th[5]", $lang['stranalyzescalefactor']); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../th[6]", $lang['strvacuumcostdelay']); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../th[7]", $lang['strvacuumcostlimit']); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../th[8]", $lang['stractions']); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[1]", 'off'); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[2]", 55); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[3]", 0.25); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[4]", 55); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[5]", 0.15); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[6]", '10ms'); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[7]", 200); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[8]", $lang['stredit']); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[9]", $lang['strdelete']); + + $t->clickAndWait("//tr/td/a[text()='{$lang['stredit']}']"); + $t->check("//tr/td/input[@name='autovacuum_enabled' and @value='on']"); + $t->clickAndWait("//input[@value='{$lang['strsave']}']"); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[1]", 'on'); + + $t->clickAndWait("//tr/td[@class='crumb']/a[@title='{$lang['strdatabase']}']"); + $t->clickAndWait("link={$lang['stradmin']}"); + $t->assertText("//h2", $lang['strvacuumpertable']); + $t->assertText("//tr/th[3 and text()='{$lang['strenabled']}' and @class='data']/../th[1]", $lang['strschema']); + $t->assertText("//tr/th[3 and text()='{$lang['strenabled']}' and @class='data']/../th[2]", $lang['strtable']); + $t->assertText("//tr/th[3 and text()='{$lang['strenabled']}' and @class='data']/../th[3]", $lang['strenabled']); + $t->assertText("//tr/th[3 and text()='{$lang['strenabled']}' and @class='data']/../th[4]", $lang['strvacuumbasethreshold']); + $t->assertText("//tr/th[3 and text()='{$lang['strenabled']}' and @class='data']/../th[5]", $lang['strvacuumscalefactor']); + $t->assertText("//tr/th[3 and text()='{$lang['strenabled']}' and @class='data']/../th[6]", $lang['stranalybasethreshold']); + $t->assertText("//tr/th[3 and text()='{$lang['strenabled']}' and @class='data']/../th[7]", $lang['stranalyzescalefactor']); + $t->assertText("//tr/th[3 and text()='{$lang['strenabled']}' and @class='data']/../th[8]", $lang['strvacuumcostdelay']); + $t->assertText("//tr/th[3 and text()='{$lang['strenabled']}' and @class='data']/../th[9]", $lang['strvacuumcostlimit']); + $t->assertText("//tr/th[3 and text()='{$lang['strenabled']}' and @class='data']/../th[10]", $lang['stractions']); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[1]", 'public'); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[2]", 'student'); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[3]", 'on'); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[4]", 55); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[5]", 0.25); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[6]", 55); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[7]", 0.15); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[8]", '10ms'); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[9]", 200); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[10]", $lang['stredit']); + $t->assertText("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[11]", $lang['strdelete']); + + $t->clickAndWait("//tr/th[1 and text()='{$lang['strenabled']}' and @class='data']/../../tr[2]/td[11]/a"); + $t->assertText("//p", sprintf($lang['strdelvacuumtable'], '*student*')); + $t->clickAndWait("//input[@value='{$lang['stryes']}']"); + $t->assertText("//p[text()='{$lang['strnovacuumconf']}']", $lang['strnovacuumconf']); + } + + /** 7 **/ + $t->logout(); + unset($t); + } +?> |