| Index: chrome/browser/extensions/api/web_request/web_request_time_tracker_unittest.cc
|
| diff --git a/chrome/browser/extensions/api/web_request/web_request_time_tracker_unittest.cc b/chrome/browser/extensions/api/web_request/web_request_time_tracker_unittest.cc
|
| deleted file mode 100644
|
| index 8bbd8a822dcc1f80df535eede9e04712af431787..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/extensions/api/web_request/web_request_time_tracker_unittest.cc
|
| +++ /dev/null
|
| @@ -1,147 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/extensions/api/web_request/web_request_time_tracker.h"
|
| -
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| -#include "testing/gtest/include/gtest/gtest.h"
|
| -
|
| -namespace {
|
| -const base::TimeDelta kRequestDelta = base::TimeDelta::FromMilliseconds(100);
|
| -const base::TimeDelta kTinyDelay = base::TimeDelta::FromMilliseconds(1);
|
| -const base::TimeDelta kModerateDelay = base::TimeDelta::FromMilliseconds(25);
|
| -const base::TimeDelta kExcessiveDelay = base::TimeDelta::FromMilliseconds(75);
|
| -
|
| -class ExtensionWebRequestTimeTrackerDelegateMock
|
| - : public ExtensionWebRequestTimeTrackerDelegate {
|
| - public:
|
| - MOCK_METHOD4(NotifyExcessiveDelays,
|
| - void (void*, size_t, size_t, const std::set<std::string>&));
|
| - MOCK_METHOD4(NotifyModerateDelays,
|
| - void (void*, size_t, size_t, const std::set<std::string>&));
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -//class ExtensionWebRequestTimeTrackerTest : public testing::Test {};
|
| -
|
| -TEST(ExtensionWebRequestTimeTrackerTest, Basic) {
|
| - ExtensionWebRequestTimeTracker tracker;
|
| - base::Time start;
|
| - void* profile = NULL;
|
| -
|
| - tracker.LogRequestStartTime(42, start, GURL(), profile);
|
| - EXPECT_EQ(1u, tracker.request_time_logs_.size());
|
| - ASSERT_EQ(1u, tracker.request_ids_.size());
|
| - EXPECT_EQ(42, tracker.request_ids_.front());
|
| - tracker.LogRequestEndTime(42, start + kRequestDelta);
|
| - EXPECT_EQ(1u, tracker.request_time_logs_.size());
|
| - EXPECT_EQ(0u, tracker.moderate_delays_.size());
|
| - EXPECT_EQ(0u, tracker.excessive_delays_.size());
|
| -}
|
| -
|
| -TEST(ExtensionWebRequestTimeTrackerTest, CancelOrRedirect) {
|
| - ExtensionWebRequestTimeTracker tracker;
|
| - base::Time start;
|
| - void* profile = NULL;
|
| -
|
| - tracker.LogRequestStartTime(1, start, GURL(), profile);
|
| - EXPECT_EQ(1u, tracker.request_time_logs_.size());
|
| - tracker.SetRequestCanceled(1);
|
| - tracker.LogRequestEndTime(1, start + kRequestDelta);
|
| - EXPECT_EQ(0u, tracker.request_time_logs_.size());
|
| -
|
| - tracker.LogRequestStartTime(2, start, GURL(), profile);
|
| - EXPECT_EQ(1u, tracker.request_time_logs_.size());
|
| - tracker.SetRequestRedirected(2);
|
| - tracker.LogRequestEndTime(2, start + kRequestDelta);
|
| - EXPECT_EQ(0u, tracker.request_time_logs_.size());
|
| -}
|
| -
|
| -TEST(ExtensionWebRequestTimeTrackerTest, Delays) {
|
| - ExtensionWebRequestTimeTracker tracker;
|
| - base::Time start;
|
| - std::string extension1_id("1");
|
| - std::string extension2_id("2");
|
| - void* profile = NULL;
|
| -
|
| - // Start 3 requests with different amounts of delay from 2 extensions.
|
| - tracker.LogRequestStartTime(1, start, GURL(), profile);
|
| - tracker.LogRequestStartTime(2, start, GURL(), profile);
|
| - tracker.LogRequestStartTime(3, start, GURL(), profile);
|
| - tracker.IncrementExtensionBlockTime(extension1_id, 1, kTinyDelay);
|
| - tracker.IncrementExtensionBlockTime(extension1_id, 2, kTinyDelay);
|
| - tracker.IncrementExtensionBlockTime(extension1_id, 3, kTinyDelay);
|
| - tracker.IncrementExtensionBlockTime(extension2_id, 2, kModerateDelay);
|
| - tracker.IncrementExtensionBlockTime(extension2_id, 3, kExcessiveDelay);
|
| - tracker.IncrementTotalBlockTime(1, kTinyDelay);
|
| - tracker.IncrementTotalBlockTime(2, kModerateDelay);
|
| - tracker.IncrementTotalBlockTime(3, kExcessiveDelay);
|
| - tracker.LogRequestEndTime(1, start + kRequestDelta);
|
| - tracker.LogRequestEndTime(2, start + kRequestDelta);
|
| - tracker.LogRequestEndTime(3, start + kRequestDelta);
|
| - EXPECT_EQ(3u, tracker.request_time_logs_.size());
|
| - EXPECT_EQ(1u, tracker.moderate_delays_.size());
|
| - EXPECT_EQ(1u, tracker.moderate_delays_.count(2));
|
| - EXPECT_EQ(1u, tracker.excessive_delays_.size());
|
| - EXPECT_EQ(1u, tracker.excessive_delays_.count(3));
|
| -
|
| - // Now issue a bunch more requests and ensure that the old delays are
|
| - // forgotten.
|
| - for (int64 i = 4; i < 500; ++i) {
|
| - tracker.LogRequestStartTime(i, start, GURL(), profile);
|
| - tracker.LogRequestEndTime(i, start + kRequestDelta);
|
| - }
|
| - EXPECT_EQ(0u, tracker.moderate_delays_.size());
|
| - EXPECT_EQ(0u, tracker.excessive_delays_.size());
|
| -}
|
| -
|
| -TEST(ExtensionWebRequestTimeTrackerTest, Delegate) {
|
| - using testing::Mock;
|
| -
|
| - ExtensionWebRequestTimeTrackerDelegateMock* delegate(
|
| - new ExtensionWebRequestTimeTrackerDelegateMock);
|
| - ExtensionWebRequestTimeTracker tracker;
|
| - tracker.SetDelegate(delegate);
|
| - base::Time start;
|
| - std::string extension1_id("1");
|
| - void* profile = NULL;
|
| - // Set of all extensions that blocked network requests.
|
| - std::set<std::string> extensions;
|
| - extensions.insert(extension1_id);
|
| -
|
| - const int num_moderate_delays = 51;
|
| - const int num_excessive_delays = 11;
|
| - int request_nr = 0;
|
| -
|
| - // Check that (only) the last moderate delay triggers the delegate callback.
|
| - for (int64 i = 0; i < num_moderate_delays; ++i) {
|
| - request_nr++;
|
| - if (i == num_moderate_delays-1) {
|
| - EXPECT_CALL(*delegate,
|
| - NotifyModerateDelays(profile , i+1, request_nr, extensions));
|
| - }
|
| - tracker.LogRequestStartTime(request_nr, start, GURL(), profile);
|
| - tracker.IncrementExtensionBlockTime(extension1_id, request_nr,
|
| - kModerateDelay);
|
| - tracker.IncrementTotalBlockTime(request_nr, kModerateDelay);
|
| - tracker.LogRequestEndTime(request_nr, start + kRequestDelta);
|
| - Mock::VerifyAndClearExpectations(delegate);
|
| - }
|
| -
|
| - // Check that (only) the last excessive delay triggers the delegate callback.
|
| - for (int64 i = 0; i < num_excessive_delays; ++i) {
|
| - request_nr++;
|
| - if (i == num_excessive_delays-1) {
|
| - EXPECT_CALL(*delegate,
|
| - NotifyExcessiveDelays(profile, i+1, request_nr, extensions));
|
| - }
|
| - tracker.LogRequestStartTime(request_nr, start, GURL(), profile);
|
| - tracker.IncrementExtensionBlockTime(extension1_id, request_nr,
|
| - kExcessiveDelay);
|
| - tracker.IncrementTotalBlockTime(request_nr, kExcessiveDelay);
|
| - tracker.LogRequestEndTime(request_nr, start + kRequestDelta);
|
| - Mock::VerifyAndClearExpectations(delegate);
|
| - }
|
| -}
|
|
|