Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(387)

Unified Diff: net/url_request/url_request_throttler_unittest.cc

Issue 1148603003: Remove X-Chrome-Exponential-Throttling header (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/url_request/url_request_throttler_test_support.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/url_request/url_request_throttler_unittest.cc
diff --git a/net/url_request/url_request_throttler_unittest.cc b/net/url_request/url_request_throttler_unittest.cc
index 3104a6048dadb50f540206e32e5386f82b591304..fcfe6844f6e83e88c32d6f79ad5ccf700d9bbb21 100644
--- a/net/url_request/url_request_throttler_unittest.cc
+++ b/net/url_request/url_request_throttler_unittest.cc
@@ -18,7 +18,6 @@
#include "net/url_request/url_request.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_test_util.h"
-#include "net/url_request/url_request_throttler_header_interface.h"
#include "net/url_request/url_request_throttler_test_support.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -235,30 +234,26 @@ TEST_F(URLRequestThrottlerEntryTest, InterfaceNotDuringExponentialBackoff) {
}
TEST_F(URLRequestThrottlerEntryTest, InterfaceUpdateFailure) {
- MockURLRequestThrottlerHeaderAdapter failure_response(503);
- entry_->UpdateWithResponse(std::string(), &failure_response);
+ entry_->UpdateWithResponse(503);
EXPECT_GT(entry_->GetExponentialBackoffReleaseTime(),
entry_->ImplGetTimeNow())
<< "A failure should increase the release_time";
}
TEST_F(URLRequestThrottlerEntryTest, InterfaceUpdateSuccess) {
- MockURLRequestThrottlerHeaderAdapter success_response(200);
- entry_->UpdateWithResponse(std::string(), &success_response);
+ entry_->UpdateWithResponse(200);
EXPECT_EQ(entry_->GetExponentialBackoffReleaseTime(),
entry_->ImplGetTimeNow())
<< "A success should not add any delay";
}
TEST_F(URLRequestThrottlerEntryTest, InterfaceUpdateSuccessThenFailure) {
- MockURLRequestThrottlerHeaderAdapter failure_response(503);
- MockURLRequestThrottlerHeaderAdapter success_response(200);
- entry_->UpdateWithResponse(std::string(), &success_response);
- entry_->UpdateWithResponse(std::string(), &failure_response);
+ entry_->UpdateWithResponse(200);
+ entry_->UpdateWithResponse(503);
EXPECT_GT(entry_->GetExponentialBackoffReleaseTime(),
entry_->ImplGetTimeNow())
<< "This scenario should add delay";
- entry_->UpdateWithResponse(std::string(), &success_response);
+ entry_->UpdateWithResponse(200);
}
TEST_F(URLRequestThrottlerEntryTest, IsEntryReallyOutdated) {
@@ -283,8 +278,7 @@ TEST_F(URLRequestThrottlerEntryTest, IsEntryReallyOutdated) {
TEST_F(URLRequestThrottlerEntryTest, MaxAllowedBackoff) {
for (int i = 0; i < 30; ++i) {
- MockURLRequestThrottlerHeaderAdapter response_adapter(503);
- entry_->UpdateWithResponse(std::string(), &response_adapter);
+ entry_->UpdateWithResponse(503);
}
TimeDelta delay = entry_->GetExponentialBackoffReleaseTime() - now_;
@@ -293,9 +287,8 @@ TEST_F(URLRequestThrottlerEntryTest, MaxAllowedBackoff) {
}
TEST_F(URLRequestThrottlerEntryTest, MalformedContent) {
- MockURLRequestThrottlerHeaderAdapter response_adapter(503);
for (int i = 0; i < 5; ++i)
- entry_->UpdateWithResponse(std::string(), &response_adapter);
+ entry_->UpdateWithResponse(503);
TimeTicks release_after_failures = entry_->GetExponentialBackoffReleaseTime();
@@ -305,8 +298,7 @@ TEST_F(URLRequestThrottlerEntryTest, MalformedContent) {
// is what happens in practice (if a body is received, then a non-500
// response must also have been received).
entry_->ReceivedContentWasMalformed(200);
- MockURLRequestThrottlerHeaderAdapter success_adapter(200);
- entry_->UpdateWithResponse(std::string(), &success_adapter);
+ entry_->UpdateWithResponse(200);
EXPECT_GT(entry_->GetExponentialBackoffReleaseTime(), release_after_failures);
}
@@ -361,10 +353,8 @@ class URLRequestThrottlerManagerTest : public testing::Test {
const URLRequest& request) {
EXPECT_FALSE(entry->ShouldRejectRequest(request,
context_.network_delegate()));
- MockURLRequestThrottlerHeaderAdapter failure_adapter(503);
for (int i = 0; i < 10; ++i) {
- // Host doesn't really matter in this scenario so we skip it.
- entry->UpdateWithResponse(std::string(), &failure_adapter);
+ entry->UpdateWithResponse(503);
}
EXPECT_NE(opted_out, entry->ShouldRejectRequest(
request, context_.network_delegate()));
@@ -452,40 +442,25 @@ TEST_F(URLRequestThrottlerManagerTest, IsHostBeingRegistered) {
EXPECT_EQ(3, manager.GetNumberOfEntries());
}
-TEST_F(URLRequestThrottlerManagerTest, OptOutHeader) {
+TEST_F(URLRequestThrottlerManagerTest, LocalHostOptedOut) {
MockURLRequestThrottlerManager manager;
- scoped_refptr<URLRequestThrottlerEntryInterface> entry =
- manager.RegisterRequestUrl(GURL("http://www.google.com/yodude"));
-
- // Fake a response with the opt-out header.
- MockURLRequestThrottlerHeaderAdapter response_adapter(
- std::string(),
- MockURLRequestThrottlerEntry::kExponentialThrottlingDisableValue,
- 200);
- entry->UpdateWithResponse("www.google.com", &response_adapter);
-
- // Ensure that the same entry on error always allows everything.
- ExpectEntryAllowsAllOnErrorIfOptedOut(entry.get(), true, *request_);
-
- // Ensure that a freshly created entry (for a different URL on an
- // already opted-out host) also gets "always allow" behavior.
- scoped_refptr<URLRequestThrottlerEntryInterface> other_entry =
- manager.RegisterRequestUrl(GURL("http://www.google.com/bingobob"));
- ExpectEntryAllowsAllOnErrorIfOptedOut(other_entry.get(), true, *request_);
-
- // Fake a response with the opt-out header incorrectly specified.
- scoped_refptr<URLRequestThrottlerEntryInterface> no_opt_out_entry =
- manager.RegisterRequestUrl(GURL("http://www.nike.com/justdoit"));
- MockURLRequestThrottlerHeaderAdapter wrong_adapter(
- std::string(), "yesplease", 200);
- no_opt_out_entry->UpdateWithResponse("www.nike.com", &wrong_adapter);
- ExpectEntryAllowsAllOnErrorIfOptedOut(
- no_opt_out_entry.get(), false, *request_);
-
// A localhost entry should always be opted out.
scoped_refptr<URLRequestThrottlerEntryInterface> localhost_entry =
manager.RegisterRequestUrl(GURL("http://localhost/hello"));
- ExpectEntryAllowsAllOnErrorIfOptedOut(localhost_entry.get(), true, *request_);
+ EXPECT_FALSE(localhost_entry->ShouldRejectRequest(
+ (*request_), context_.network_delegate()));
+ for (int i = 0; i < 10; ++i) {
+ localhost_entry->UpdateWithResponse(503);
+ }
+ EXPECT_FALSE(localhost_entry->ShouldRejectRequest(
+ (*request_), context_.network_delegate()));
+
+ // We're not mocking out GetTimeNow() in this scenario
+ // so add a 100 ms buffer to avoid flakiness (that should always
+ // give enough time to get from the TimeTicks::Now() call here
+ // to the TimeTicks::Now() call in the entry class).
+ EXPECT_GT(TimeTicks::Now() + TimeDelta::FromMilliseconds(100),
+ localhost_entry->GetExponentialBackoffReleaseTime());
}
TEST_F(URLRequestThrottlerManagerTest, ClearOnNetworkChange) {
@@ -493,10 +468,8 @@ TEST_F(URLRequestThrottlerManagerTest, ClearOnNetworkChange) {
MockURLRequestThrottlerManager manager;
scoped_refptr<URLRequestThrottlerEntryInterface> entry_before =
manager.RegisterRequestUrl(GURL("http://www.example.com/"));
- MockURLRequestThrottlerHeaderAdapter failure_adapter(503);
for (int j = 0; j < 10; ++j) {
- // Host doesn't really matter in this scenario so we skip it.
- entry_before->UpdateWithResponse(std::string(), &failure_adapter);
+ entry_before->UpdateWithResponse(503);
}
EXPECT_TRUE(entry_before->ShouldRejectRequest(*request_,
context_.network_delegate()));
« no previous file with comments | « net/url_request/url_request_throttler_test_support.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698