Issue #1679570 by sun: Fixed TestBase does not always use the correct database connection for handling assertions.
parent
f1cd0a51ff
commit
16093b8306
|
@ -184,15 +184,7 @@ abstract class TestBase {
|
|||
);
|
||||
|
||||
// Store assertion for display after the test has completed.
|
||||
try {
|
||||
$connection = Database::getConnection('default', 'simpletest_original_default');
|
||||
}
|
||||
catch (ConnectionNotDefinedException $e) {
|
||||
// If the test was not set up, the simpletest_original_default
|
||||
// connection does not exist.
|
||||
$connection = Database::getConnection('default', 'default');
|
||||
}
|
||||
$connection
|
||||
self::getDatabaseConnection()
|
||||
->insert('simpletest')
|
||||
->fields($assertion)
|
||||
->execute();
|
||||
|
@ -246,7 +238,8 @@ abstract class TestBase {
|
|||
'file' => $caller['file'],
|
||||
);
|
||||
|
||||
return db_insert('simpletest')
|
||||
return self::getDatabaseConnection()
|
||||
->insert('simpletest')
|
||||
->fields($assertion)
|
||||
->execute();
|
||||
}
|
||||
|
@ -262,11 +255,30 @@ abstract class TestBase {
|
|||
* @see Drupal\simpletest\TestBase::insertAssert()
|
||||
*/
|
||||
public static function deleteAssert($message_id) {
|
||||
return (bool) db_delete('simpletest')
|
||||
return (bool) self::getDatabaseConnection()
|
||||
->delete('simpletest')
|
||||
->condition('message_id', $message_id)
|
||||
->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the database connection to the site running Simpletest.
|
||||
*
|
||||
* @return Drupal\Core\Database\Connection
|
||||
* The database connection to use for inserting assertions.
|
||||
*/
|
||||
public static function getDatabaseConnection() {
|
||||
try {
|
||||
$connection = Database::getConnection('default', 'simpletest_original_default');
|
||||
}
|
||||
catch (ConnectionNotDefinedException $e) {
|
||||
// If the test was not set up, the simpletest_original_default
|
||||
// connection does not exist.
|
||||
$connection = Database::getConnection('default', 'default');
|
||||
}
|
||||
return $connection;
|
||||
}
|
||||
|
||||
/**
|
||||
* Cycles through backtrace until the first non-assertion method is found.
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue