/
04-database.php
72 lines (65 loc) · 2.42 KB
/
04-database.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
global $testsuite_file, $test_static_dir;
/*
* 1/ create test database with altered name and owner
* 2/ alter its owner
* 3/ alter its name, owner and comment back to normal
* NB: droping database is in the cleantests.php tests
*/
$t = new TestBuilder($server['desc'],
'Database tests',
'Create and Alter database.'
);
$t->login($admin_user, $admin_user_pass);
/** 1 **/
$t->addComment('1. create test database with altered name and owner');
$t->clickAndWait("link={$lang['strdatabases']}");
$t->clickAndWait("link={$lang['strcreatedatabase']}");
/* db name */
if ($data->hasAlterDatabaseRename())
$t->type('formName', "{$testdb}toalter");
else $t->type('formName', $testdb);
/* template */
$t->select('formTemplate', 'template0');
/* encoding*/
$t->select('formEncoding', 'SQL_ASCII');
/* comment*/
if ($data->hasSharedComments())
$t->type('formComment', "database comment to alter");
/* create */
$t->clickAndWait("//input[@value='{$lang['strcreate']}']");
$t->assertText("//p[@class='message']", $lang['strdatabasecreated']);
/** 2 **/
$t->addComment('2. alter DB\'s owner');
if ($data->hasAlterDatabaseOwner()) {
$t->clickAndWait("link={$lang['strdatabases']}");
/* we don't need to check if hasAlterDatabaseRename here because
* hasAlterDatabase is actually calling it */
$t->clickAndWait("//tr/td/a[text()='{$testdb}toalter']/../../td/a[text()='{$lang['stralter']}']");
if ($data->hasAlterDatabaseOwner())
$t->select('owner', $super_user[$server['desc']]);
$t->clickAndWait('alter');
$t->assertText("//p[@class='message']", $lang['strdatabasealtered']);
}
/** 3 **/
$t->addComment('3. alter DB\'s name, owner and comment back to normal');
if ($data->hasAlterDatabase()) {
$t->clickAndWait("link={$lang['strdatabases']}");
/* we don't need to check if hasAlterDatabaseRename here because
* hasAlterDatabase is actually calling it */
$t->clickAndWait("//tr/td/a[text()='{$testdb}toalter']/../../td/a[text()='{$lang['stralter']}']");
$t->type('newname', $testdb);
/* owner */
if ($data->hasAlterDatabaseOwner())
$t->select('owner', $admin_user);
/* comment */
if ($data->hasSharedComments())
$t->type('dbcomment', "database comment");
/* alter */
$t->clickAndWait('alter');
$t->assertText("//p[@class='message']", $lang['strdatabasealtered']);
}
$t->logout();
$t->writeTests("{$test_static_dir}/{$server['desc']}/database.html", $testsuite_file);
unset($t);
?>