function DbLogTest::testDBLogAddAndClear
Same name in other branches
- 8.9.x core/modules/dblog/tests/src/Functional/DbLogTest.php \Drupal\Tests\dblog\Functional\DbLogTest::testDBLogAddAndClear()
- 10 core/modules/dblog/tests/src/Functional/DbLogTest.php \Drupal\Tests\dblog\Functional\DbLogTest::testDBLogAddAndClear()
- 11.x core/modules/dblog/tests/src/Functional/DbLogTest.php \Drupal\Tests\dblog\Functional\DbLogTest::testDBLogAddAndClear()
Tests the addition and clearing of log events through the admin interface.
Logs in the admin user, creates a database log event, and tests the functionality of clearing the database log through the admin interface.
File
-
core/
modules/ dblog/ tests/ src/ Functional/ DbLogTest.php, line 627
Class
- DbLogTest
- Verifies log entries and user access based on permissions.
Namespace
Drupal\Tests\dblog\FunctionalCode
public function testDBLogAddAndClear() {
global $base_root;
$connection = Database::getConnection();
// Get a count of how many watchdog entries already exist.
$count = $connection->select('watchdog')
->countQuery()
->execute()
->fetchField();
$log = [
'channel' => 'system',
'message' => 'Log entry added to test the doClearTest clear down.',
'variables' => [],
'severity' => RfcLogLevel::NOTICE,
'link' => NULL,
'uid' => $this->adminUser
->id(),
'request_uri' => $base_root . \Drupal::request()->getRequestUri(),
'referer' => \Drupal::request()->server
->get('HTTP_REFERER'),
'ip' => '127.0.0.1',
'timestamp' => REQUEST_TIME,
];
// Add a watchdog entry.
$this->container
->get('logger.dblog')
->log($log['severity'], $log['message'], $log);
// Make sure the table count has actually been incremented.
$this->assertEquals($count + 1, (int) $connection->select('watchdog')
->countQuery()
->execute()
->fetchField(), new FormattableMarkup('\\Drupal\\dblog\\Logger\\DbLog->log() added an entry to the dblog :count', [
':count' => $count,
]));
// Log in the admin user.
$this->drupalLogin($this->adminUser);
// Post in order to clear the database table.
$this->clearLogsEntries();
// Confirm that the logs should be cleared.
$this->submitForm([], 'Confirm');
// Count the rows in watchdog that previously related to the deleted user.
$count = $connection->select('watchdog')
->countQuery()
->execute()
->fetchField();
$this->assertEquals(0, $count, new FormattableMarkup('DBLog contains :count records after a clear.', [
':count' => $count,
]));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.