summaryrefslogtreecommitdiff
path: root/tests/selenium/src/04-database.php
blob: 81662a0da97330b25eb5cd444e21b6bc69e54a3e (plain)
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
73
74
75
<?php
	$test_title = 'Database tests';

	if (isset($_GET['run'])) {
		global $lang;
		require('../config.test.php');
		require('../testBuilder.class.php');
		/*
		 * 1/ create test database with altered name and owner
		 * 2/ alter its owner
		 * 3/ alter its name, owner and comment back to normal
		 * NB: dropping database is in the cleantests.php tests
		 */
		$t = new TestBuilder($test_title,
			'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 ($t->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 ($t->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 ($t->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 ($t->data->hasAlterDatabaseOwner())
				$t->select('owner', $super_user[$t->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 ($t->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 ($t->data->hasAlterDatabaseOwner())
				$t->select('owner', $admin_user);
			/* comment */
			if ($t->data->hasSharedComments())
				$t->type('dbcomment', "database comment");
			/* alter */
			$t->clickAndWait('alter');
			$t->assertText("//p[@class='message']", $lang['strdatabasealtered']);
		}

		$t->logout();
		unset($t);
	}
?>