diff --git a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsAdminTest.php b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsAdminTest.php index a24ec95..0575971 100644 --- a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsAdminTest.php +++ b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsAdminTest.php @@ -62,18 +62,15 @@ class StatisticsAdminTest extends WebTestBase { */ function testStatisticsSettings() { $config = config('statistics.settings'); - $this->assertFalse($config->get('access_log.enabled'), t('Access log is disabled by default.')); $this->assertFalse($config->get('count_content_views'), t('Count content view log is disabled by default.')); $this->drupalGet('admin/reports/pages'); $this->assertRaw(t('No statistics available.'), t('Verifying text shown when no statistics is available.')); - // Enable access log and counter on content view. - $edit['statistics_enable_access_log'] = 1; + // Enable counter on content view. $edit['statistics_count_content_views'] = 1; $this->drupalPost('admin/config/system/statistics', $edit, t('Save configuration')); $config = config('statistics.settings'); - $this->assertTrue($config->get('access_log.enabled'), t('Access log is enabled.')); $this->assertTrue($config->get('count_content_views'), t('Count content view log is enabled.')); // Hit the node. @@ -133,44 +130,11 @@ class StatisticsAdminTest extends WebTestBase { } /** - * Tests that accesslog reflects when a user is deleted. - */ - function testDeleteUser() { - config('statistics.settings')->set('access_log.enabled', 1)->save(); - - variable_set('user_cancel_method', 'user_cancel_delete'); - $this->drupalLogout($this->privileged_user); - $account = $this->drupalCreateUser(array('access content', 'cancel account')); - $this->drupalLogin($account); - $this->drupalGet('node/' . $this->test_node->nid); - - $account = user_load($account->uid, TRUE); - - $this->drupalGet('user/' . $account->uid . '/edit'); - $this->drupalPost(NULL, NULL, t('Cancel account')); - - $timestamp = time(); - $this->drupalPost(NULL, NULL, t('Cancel account')); - // Confirm account cancellation request. - $mails = $this->drupalGetMails(); - $mail = end($mails); - preg_match('@http.+?(user/\d+/cancel/confirm/\d+/[^\s]+)@', $mail['body'], $matches); - $path = $matches[1]; - $this->drupalGet($path); - $this->assertFalse(user_load($account->uid, TRUE), t('User is not found in the database.')); - - $this->drupalGet('admin/reports/visitors'); - $this->assertNoText($account->name, t('Did not find user in visitor statistics.')); - } - - /** * Tests that cron clears day counts and expired access logs. */ function testExpiredLogs() { config('statistics.settings') - ->set('access_log.enabled', 1) ->set('count_content_views', 1) - ->set('access_log.max_lifetime', 1) ->save(); variable_set('statistics_day_timestamp', 8640000); diff --git a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsBlockVisitorsTest.php b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsBlockVisitorsTest.php deleted file mode 100644 index c8786ce..0000000 --- a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsBlockVisitorsTest.php +++ /dev/null @@ -1,58 +0,0 @@ - 'Top visitor blocking', - 'description' => 'Tests blocking of IP addresses via the top visitors report.', - 'group' => 'Statistics' - ); - } - - /** - * Blocks an IP address via the top visitors report and then unblocks it. - */ - function testIPAddressBlocking() { - // IP address for testing. - $test_ip_address = '192.168.1.1'; - - // Verify the IP address from accesslog appears on the top visitors page - // and that a 'block IP address' link is displayed. - $this->drupalLogin($this->blocking_user); - $this->drupalGet('admin/reports/visitors'); - $this->assertText($test_ip_address, t('IP address found.')); - $this->assertText(t('block IP address'), t('Block IP link displayed')); - - // Block the IP address. - $this->clickLink('block IP address'); - $this->assertText(t('IP address blocking'), t('IP blocking page displayed.')); - $edit = array(); - $edit['ip'] = $test_ip_address; - $this->drupalPost('admin/config/people/ip-blocking', $edit, t('Add')); - $ip = db_query("SELECT iid from {blocked_ips} WHERE ip = :ip", array(':ip' => $edit['ip']))->fetchField(); - $this->assertNotEqual($ip, FALSE, t('IP address found in database')); - $this->assertRaw(t('The IP address %ip has been blocked.', array('%ip' => $edit['ip'])), t('IP address was blocked.')); - - // Verify that the block/unblock link on the top visitors page has been - // altered. - $this->drupalGet('admin/reports/visitors'); - $this->assertText(t('unblock IP address'), t('Unblock IP address link displayed')); - - // Unblock the IP address. - $this->clickLink('unblock IP address'); - $this->assertRaw(t('Are you sure you want to delete %ip?', array('%ip' => $test_ip_address)), t('IP address deletion confirmation found.')); - $edit = array(); - $this->drupalPost('admin/config/people/ip-blocking/delete/1', NULL, t('Delete')); - $this->assertRaw(t('The IP address %ip was deleted.', array('%ip' => $test_ip_address)), t('IP address deleted.')); - } -} diff --git a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsLoggingTest.php b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsLoggingTest.php index 7526afb..fbe54f3 100644 --- a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsLoggingTest.php +++ b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsLoggingTest.php @@ -53,12 +53,10 @@ class StatisticsLoggingTest extends WebTestBase { // Enable access logging. config('statistics.settings') - ->set('access_log.enabled', 1) ->set('count_content_views', 1) ->save(); // Clear the logs. - db_truncate('accesslog'); db_truncate('node_counter'); } @@ -82,9 +80,6 @@ class StatisticsLoggingTest extends WebTestBase { $stats_path = $base_url . '/' . drupal_get_path('module', 'statistics'). '/statistics.php'; drupal_http_request($stats_path, array('method' => 'POST', 'data' => $post, 'headers' => $headers, 'timeout' => 10000)); $this->assertIdentical($this->drupalGetHeader('X-Drupal-Cache'), 'MISS', t('Testing an uncached page.')); - $log = db_query('SELECT * FROM {accesslog}')->fetchAll(PDO::FETCH_ASSOC); - $this->assertTrue(is_array($log) && count($log) == 1, t('Page request was logged.')); - $this->assertEqual(array_intersect_key($log[0], $expected), $expected); $node_counter = statistics_get($this->node->nid); $this->assertIdentical($node_counter['totalcount'], '1'); @@ -93,9 +88,6 @@ class StatisticsLoggingTest extends WebTestBase { // Manually calling statistics.php, simulating ajax behavior. drupal_http_request($stats_path, array('method' => 'POST', 'data' => $post, 'headers' => $headers, 'timeout' => 10000)); $this->assertIdentical($this->drupalGetHeader('X-Drupal-Cache'), 'HIT', t('Testing a cached page.')); - $log = db_query('SELECT * FROM {accesslog}')->fetchAll(PDO::FETCH_ASSOC); - $this->assertTrue(is_array($log) && count($log) == 2, t('Page request was logged.')); - $this->assertEqual(array_intersect_key($log[1], $expected), $expected); $node_counter = statistics_get($this->node->nid); $this->assertIdentical($node_counter['totalcount'], '2'); @@ -104,37 +96,8 @@ class StatisticsLoggingTest extends WebTestBase { $this->drupalGet($path); // Manually calling statistics.php, simulating ajax behavior. drupal_http_request($stats_path, array('method' => 'POST', 'data' => $post, 'headers' => $headers, 'timeout' => 10000)); - $log = db_query('SELECT * FROM {accesslog}')->fetchAll(PDO::FETCH_ASSOC); - // Check the 6th item since login and account pages are also logged - $this->assertTrue(is_array($log) && count($log) == 6, t('Page request was logged.')); - $this->assertEqual(array_intersect_key($log[5], $expected), $expected); $node_counter = statistics_get($this->node->nid); $this->assertIdentical($node_counter['totalcount'], '3'); - // Visit edit page to generate a title greater than 255. - $path = 'node/' . $this->node->nid . '/edit'; - $expected = array( - 'title' => truncate_utf8(t('Edit Basic page') . ' ' . $this->node->label(), 255), - 'path' => $path, - ); - $this->drupalGet($path); - $log = db_query('SELECT * FROM {accesslog}')->fetchAll(PDO::FETCH_ASSOC); - $this->assertTrue(is_array($log) && count($log) == 7, t('Page request was logged.')); - $this->assertEqual(array_intersect_key($log[6], $expected), $expected); - - // Create a path longer than 255 characters. Drupal's .htaccess file - // instructs Apache to test paths against the file system before routing to - // index.php. Many file systems restrict file names to 255 characters - // (http://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits), and - // Apache returns a 403 when testing longer file names, but the total path - // length is not restricted. - $long_path = $this->randomName(127) . '/' . $this->randomName(128); - - // Test that the long path is properly truncated when logged. - $this->drupalGet($long_path); - $log = db_query('SELECT * FROM {accesslog}')->fetchAll(PDO::FETCH_ASSOC); - $this->assertTrue(is_array($log) && count($log) == 8, 'Page request was logged for a path over 255 characters.'); - $this->assertEqual($log[7]['path'], truncate_utf8($long_path, 255)); - } } diff --git a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsReportsTest.php b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsReportsTest.php index 184af5d..53fdb71 100644 --- a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsReportsTest.php +++ b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsReportsTest.php @@ -14,59 +14,12 @@ class StatisticsReportsTest extends StatisticsTestBase { public static function getInfo() { return array( 'name' => 'Statistics reports tests', - 'description' => 'Tests display of statistics report pages and access logging.', + 'description' => 'Tests display of statistics report blocks.', 'group' => 'Statistics' ); } /** - * Verifies that 'Recent hits' renders properly and displays the added hit. - */ - function testRecentHits() { - $this->drupalGet('admin/reports/hits'); - $this->assertText('test', t('Hit title found.')); - $this->assertText('node/1', t('Hit URL found.')); - $this->assertText('Anonymous', t('Hit user found.')); - } - - /** - * Verifies that 'Top pages' renders properly and displays the added hit. - */ - function testTopPages() { - $this->drupalGet('admin/reports/pages'); - $this->assertText('test', t('Hit title found.')); - $this->assertText('node/1', t('Hit URL found.')); - } - - /** - * Verifies that 'Top referrers' renders properly and displays the added hit. - */ - function testTopReferrers() { - $this->drupalGet('admin/reports/referrers'); - $this->assertText('http://example.com', t('Hit referrer found.')); - } - - /** - * Verifies that 'Details' page renders properly and displays the added hit. - */ - function testDetails() { - $this->drupalGet('admin/reports/access/1'); - $this->assertText('test', t('Hit title found.')); - $this->assertText('node/1', t('Hit URL found.')); - $this->assertText('Anonymous', t('Hit user found.')); - } - - /** - * Verifies that access logging is working and is reported correctly. - */ - function testAccessLogging() { - $this->drupalGet('admin/reports/referrers'); - $this->drupalGet('admin/reports/hits'); - $this->assertText('Top referrers in the past 3 days', t('Hit title found.')); - $this->assertText('admin/reports/referrers', t('Hit URL found.')); - } - - /** * Tests the "popular content" block. */ function testPopularContentBlock() { diff --git a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsTestBase.php b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsTestBase.php index b7e2d31..57bb6d9 100644 --- a/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsTestBase.php +++ b/core/modules/statistics/lib/Drupal/statistics/Tests/StatisticsTestBase.php @@ -41,23 +41,9 @@ abstract class StatisticsTestBase extends WebTestBase { )); $this->drupalLogin($this->blocking_user); - // Enable access logging. + // Enable logging. config('statistics.settings') - ->set('access_log.enabled', 1) ->set('count_content_views', 1) ->save(); - // Insert dummy access by anonymous user into access log. - db_insert('accesslog') - ->fields(array( - 'title' => 'test', - 'path' => 'node/1', - 'url' => 'http://example.com', - 'hostname' => '192.168.1.1', - 'uid' => 0, - 'sid' => 10, - 'timer' => 10, - 'timestamp' => REQUEST_TIME, - )) - ->execute(); } }