public function testErrorsConnectToDatabasePage() { parent::navigateConnetToDatabasePage(); // Verify warning mesage for invalid database host $this->type("mysql_wgDBserver", INVALID_DB_HOST); parent::clickContinueButton(); $this->assertEquals("DB connection error: php_network_getaddresses: getaddrinfo failed: No such host is known. (" . INVALID_DB_HOST . ").", $this->getText(LINK_DIV . "div[2]/div[2]/p[1]")); $this->assertEquals("Check the host, username and password below and try again.", $this->getText(LINK_DIV . "div[2]/div[2]/p[2]")); // Verify warning message for the blank database host $this->type("mysql_wgDBserver", ""); parent::clickContinueButton(); $this->assertEquals("MySQL 4.0.14 or later is required, you have .", $this->getText(LINK_DIV . "div[2]/div[2]")); // Valid Database Host $this->type("mysql_wgDBserver", VALID_DB_HOST); // Verify warning message for the invalid database name $this->type("mysql_wgDBname", INVALID_DB_NAME); parent::clickContinueButton(); $this->assertEquals("Invalid database name \"" . INVALID_DB_NAME . "\". Use only ASCII letters (a-z, A-Z), numbers (0-9) and underscores (_).", $this->getText(LINK_DIV . "div[2]/div[2]/p")); // Verify warning message for the blank database name $this->type("mysql_wgDBname", ""); parent::clickContinueButton(); $this->assertEquals("You must enter a value for \"Database name\"", $this->getText(LINK_DIV . "div[2]/div[2]")); // valid Database name $this->type("mysql_wgDBname", VALID_DB_NAME); // Verify warning message for the invalid databaase prefix $this->type("mysql_wgDBprefix", INVALID_DB_PREFIX); parent::clickContinueButton(); $this->assertEquals("Invalid database prefix \"" . INVALID_DB_PREFIX . "\". Use only ASCII letters (a-z, A-Z), numbers (0-9) and underscores (_).", $this->getText(LINK_DIV . "div[2]/div[2]")); // Valid Database prefix $this->type("mysql_wgDBprefix", VALID_DB_PREFIX); // Verify warning message for the invalid database user name $this->type("mysql__InstallUser", INVALID_DB_USER_NAME); parent::clickContinueButton(); $this->assertEquals("DB connection error: Access denied for user '" . INVALID_DB_USER_NAME . "'@'localhost' (using password: NO) (localhost).", $this->getText(LINK_DIV . "div[2]/div[2]/p[1]")); $this->assertEquals("Check the host, username and password below and try again.", $this->getText(LINK_DIV . "div[2]/div[2]/p[2]")); // Verify warning message for the blank database user name $this->type("mysql__InstallUser", ""); parent::clickContinueButton(); $this->assertEquals("DB connection error: Access denied for user 'SYSTEM'@'localhost' (using password: NO) (localhost).", $this->getText(LINK_DIV . "div[2]/div[2]/p[1]")); $this->assertEquals("Check the host, username and password below and try again.", $this->getText(LINK_DIV . "div[2]/div[2]/p[2]")); // Valid Database username $this->type("mysql__InstallUser", VALID_DB_USER_NAME); // Verify warning message for the invalid password $this->type("mysql__InstallPassword", INVALID_DB_PASSWORD); parent::clickContinueButton(); $this->assertEquals("DB connection error: Access denied for user 'root'@'localhost' (using password: YES) (localhost).", $this->getText(LINK_DIV . "div[2]/div[2]/p[1]")); $this->assertEquals("Check the host, username and password below and try again.", $this->getText(LINK_DIV . "div[2]/div[2]/p[2]")); // Verify warning message for the invalid username and password $this->type("mysql__InstallUser", INVALID_DB_USER_NAME); $this->type("mysql__InstallPassword", INVALID_DB_PASSWORD); parent::clickContinueButton(); $this->assertEquals("DB connection error: Access denied for user '" . INVALID_DB_USER_NAME . "'@'localhost' (using password: YES) (localhost).", $this->getText(LINK_DIV . "div[2]/div[2]/p[1]")); $this->assertEquals("Check the host, username and password below and try again.", $this->getText(LINK_DIV . "div[2]/div[2]/p[2]")); // Valid username and valid password $this->type("mysql__InstallUser", VALID_DB_USER_NAME); $this->type("mysql__InstallPassword", ""); parent::clickContinueButton(); // successfully completes the 'Connect to database' page $this->assertEquals("Database settings", $this->getText(LINK_DIV . "h2")); }
public function testMySQLDatabaseSuccess() { $databaseName = DB_NAME_PREFIX . "_sqlite_db"; parent::navigateConnetToDatabasePage(); $this->click("DBType_sqlite"); // Select 'SQLite' database type $this->assertEquals("SQLite settings", $this->getText("//div[@id='DB_wrapper_sqlite']/h3")); // Change database name $defaultDbName = $this->getText("sqlite_wgDBname"); $this->type("sqlite_wgDBname", " "); $this->type("sqlite_wgDBname", $databaseName); $this->assertNotEquals($defaultDbName, $databaseName); // 'Database settings' page parent::clickContinueButton(); // 'Name' page parent::clickContinueButton(); parent::completeNamePage(); // 'Options page parent::clickContinueButton(); // 'Install' page parent::clickContinueButton(); // 'Complete' page parent::completePageSuccessfull(); parent::restartInstallation(); }
public function testSQLiteConnectToDatabaseFieldHint() { parent::navigateConnetToDatabasePage(); $this->click("DBType_sqlite"); // Verify help field for 'SQLite data directory' $this->click("//div[@id='DB_wrapper_sqlite']/div[1]/div[1]/div/span[1]"); $this->assertEquals(SQLITE_DATA_DIRECTORY_HELP, $this->getText("//div[@id='DB_wrapper_sqlite']/div[1]/div[1]/div/span[2]")); // Verify help field for 'Database name' $this->click("//div[@id='DB_wrapper_sqlite']/div[2]/div[1]/div/span[1]"); $this->assertEquals(SQLITE_DATABASE_NAME_HELP, $this->getText("//div[@id='DB_wrapper_sqlite']/div[2]/div[1]/div/span[2]/p")); }
public function testBothButtonsAvailability() { // Verify buttons availability on 'Welcome to MediaWiki' page parent::navigateWelcometoMediaWikiPage(); $this->assertTrue($this->isElementPresent("submit-back")); $this->assertTrue($this->isElementPresent("submit-continue")); parent::restartInstallation(); // Verify buttons availability on 'Connect to Database' page parent::navigateConnetToDatabasePage(); $this->assertTrue($this->isElementPresent("submit-back")); $this->assertTrue($this->isElementPresent("submit-continue")); parent::restartInstallation(); // Verify buttons availability on 'Database settings' page $databaseName = DB_NAME_PREFIX . "_db_settings"; parent::navigateDatabaseSettingsPage($databaseName); $this->assertTrue($this->isElementPresent("submit-back")); $this->assertTrue($this->isElementPresent("submit-continue")); parent::restartInstallation(); // Verify buttons availability on 'Name' page $databaseName = DB_NAME_PREFIX . "_name"; parent::navigateNamePage($databaseName); $this->assertTrue($this->isElementPresent("submit-back")); $this->assertTrue($this->isElementPresent("submit-continue")); parent::restartInstallation(); // Verify buttons availability on 'Options' page $databaseName = DB_NAME_PREFIX . "_options"; parent::navigateOptionsPage($databaseName); $this->assertTrue($this->isElementPresent("submit-back")); $this->assertTrue($this->isElementPresent("submit-continue")); parent::restartInstallation(); // Verify buttons availability on 'Install' page $databaseName = DB_NAME_PREFIX . "_install"; parent::navigateInstallPage($databaseName); $this->assertTrue($this->isElementPresent("submit-back")); $this->assertTrue($this->isElementPresent("submit-continue")); }
public function testMySQLDatabaseSuccess() { $databaseName = DB_NAME_PREFIX . "_sql_db"; parent::navigateConnetToDatabasePage(); // Verify 'MySQL" is selected as the default database type $this->assertEquals("MySQL settings", $this->getText("//div[@id='DB_wrapper_mysql']/h3")); // Change 'Database name' $defaultDbName = $this->getText("mysql_wgDBname"); $this->type("mysql_wgDBname", " "); $this->type("mysql_wgDBname", $databaseName); $this->assertNotEquals($defaultDbName, $databaseName); // 'Database settings' page parent::clickContinueButton(); // 'Name' page parent::clickContinueButton(); parent::completeNamePage(); // 'Options page parent::clickContinueButton(); // 'Install' page parent::clickContinueButton(); // 'Complete' page parent::completePageSuccessfull(); parent::restartInstallation(); }
public function testRestartInstallation() { parent::navigateConnetToDatabasePage(); $this->click("link=Restart installation"); $this->waitForPageToLoad(PAGE_LOAD_TIME); // Restart installation' label should be available. $this->assertEquals("Restart installation", $this->getText(LINK_DIV . "h2")); //'Do you want to clear all saved data that you have entered and restart the installation process?' label available $this->assertEquals("Do you want to clear all saved data that you have entered and restart the installation process?", $this->getText("//*[@id='bodyContent']/div/div/div[2]/form/div[1]/div[2]")); // 'Back' button available $this->assertTrue($this->isElementPresent("submit-back")); // 'Restart' button available $this->assertTrue($this->isElementPresent("submit-restart")); }