summaryrefslogtreecommitdiff
path: root/modules/dblog/dblog.test
diff options
context:
space:
mode:
Diffstat (limited to 'modules/dblog/dblog.test')
-rw-r--r--modules/dblog/dblog.test32
1 files changed, 32 insertions, 0 deletions
diff --git a/modules/dblog/dblog.test b/modules/dblog/dblog.test
index 49e5138f7..902417387 100644
--- a/modules/dblog/dblog.test
+++ b/modules/dblog/dblog.test
@@ -354,4 +354,36 @@ class DBLogTestCase extends DrupalWebTestCase {
}
return $content;
}
+
+ /**
+ * Login an admin user, create dblog event, and test clearing dblog functionality through the admin interface.
+ */
+ protected function testDBLogAddAndClear() {
+ global $base_root;
+ // Get a count of how many watchdog entries there are.
+ $count = db_query('SELECT COUNT(*) FROM {watchdog}')->fetchField();
+ $log = array(
+ 'type' => 'custom',
+ 'message' => 'Log entry added to test the doClearTest clear down.',
+ 'variables' => array(),
+ 'severity' => WATCHDOG_NOTICE,
+ 'link' => NULL,
+ 'user' => $this->big_user,
+ 'request_uri' => $base_root . request_uri(),
+ 'referer' => $_SERVER['HTTP_REFERER'],
+ 'ip' => ip_address(),
+ 'timestamp' => REQUEST_TIME,
+ );
+ // Add a watchdog entry.
+ dblog_watchdog($log);
+ // Make sure the table count has actually incremented.
+ $this->assertEqual($count + 1, db_query('SELECT COUNT(*) FROM {watchdog}')->fetchField(), t('dblog_watchdog() added an entry to the dblog %count', array('%count' => $count)));
+ // Login the admin user.
+ $this->drupalLogin($this->big_user);
+ // Now post to clear the db table.
+ $this->drupalPost('admin/reports/dblog', array(), t('Clear log messages'));
+ // Count rows in watchdog that previously related to the deleted user.
+ $count = db_query('SELECT COUNT(*) FROM {watchdog}')->fetchField();
+ $this->assertEqual($count, 0, t('DBLog contains %count records after a clear.', array('%count' => $count)));
+ }
}