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

Unified Diff: net/http/http_network_transaction_unittest.cc

Issue 333113002: Move data reduction proxy to Chrome-Proxy header for authentication (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@flywheel-refactor-net-fake-a-redirect-response-headers-chrome-proxy-auth
Patch Set: Created 6 years, 6 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
Index: net/http/http_network_transaction_unittest.cc
diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc
index 01756a196547574976bdbc50bf10eb4a0318a3dd..e4bff1b9f42ad6df62b70c9ccdd0db76eb92c093 100644
--- a/net/http/http_network_transaction_unittest.cc
+++ b/net/http/http_network_transaction_unittest.cc
@@ -433,6 +433,31 @@ class BeforeNetworkStartHandler {
DISALLOW_COPY_AND_ASSIGN(BeforeNetworkStartHandler);
};
+class BeforeProxyHeadersSentHandler {
+ public:
+ BeforeProxyHeadersSentHandler()
+ : observed_before_proxy_headers_sent_(false) {}
+
+ void OnBeforeProxyHeadersSent(const ProxyInfo* proxy_info) {
+ observed_before_proxy_headers_sent_ = true;
+ observed_proxy_server_uri_ = proxy_info->proxy_server().ToURI();
+ }
+
+ bool observed_before_proxy_headers_sent() const {
+ return observed_before_proxy_headers_sent_;
+ }
+
+ std::string observed_proxy_server_uri() const {
+ return observed_proxy_server_uri_;
+ }
+
+ private:
+ bool observed_before_proxy_headers_sent_;
+ std::string observed_proxy_server_uri_;
+
+ DISALLOW_COPY_AND_ASSIGN(BeforeProxyHeadersSentHandler);
+};
+
// Fill |str| with a long header list that consumes >= |size| bytes.
void FillLargeHeadersString(std::string* str, int size) {
const char* row =
@@ -974,6 +999,10 @@ TEST_P(HttpNetworkTransactionTest, Head) {
scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps_));
scoped_ptr<HttpTransaction> trans(
new HttpNetworkTransaction(DEFAULT_PRIORITY, session));
+ BeforeProxyHeadersSentHandler proxy_headers_handler;
+ trans->SetBeforeProxyHeadersSentCallback(
+ base::Bind(&BeforeProxyHeadersSentHandler::OnBeforeProxyHeadersSent,
+ base::Unretained(&proxy_headers_handler)));
MockWrite data_writes1[] = {
MockWrite("HEAD / HTTP/1.1\r\n"
@@ -1010,6 +1039,7 @@ TEST_P(HttpNetworkTransactionTest, Head) {
EXPECT_EQ(1234, response->headers->GetContentLength());
EXPECT_EQ("HTTP/1.1 404 Not Found", response->headers->GetStatusLine());
EXPECT_TRUE(response->proxy_server.IsEmpty());
+ EXPECT_FALSE(proxy_headers_handler.observed_before_proxy_headers_sent());
std::string server_header;
void* iter = NULL;
@@ -10340,6 +10370,10 @@ TEST_P(HttpNetworkTransactionTest, ProxyGet) {
scoped_ptr<HttpTransaction> trans(
new HttpNetworkTransaction(DEFAULT_PRIORITY, session.get()));
+ BeforeProxyHeadersSentHandler proxy_headers_handler;
+ trans->SetBeforeProxyHeadersSentCallback(
+ base::Bind(&BeforeProxyHeadersSentHandler::OnBeforeProxyHeadersSent,
+ base::Unretained(&proxy_headers_handler)));
int rv = trans->Start(&request, callback1.callback(), log.bound());
EXPECT_EQ(ERR_IO_PENDING, rv);
@@ -10356,6 +10390,8 @@ TEST_P(HttpNetworkTransactionTest, ProxyGet) {
EXPECT_TRUE(response->was_fetched_via_proxy);
EXPECT_TRUE(
response->proxy_server.Equals(HostPortPair::FromString("myproxy:70")));
+ EXPECT_TRUE(proxy_headers_handler.observed_before_proxy_headers_sent());
+ EXPECT_EQ("myproxy:70", proxy_headers_handler.observed_proxy_server_uri());
EXPECT_TRUE(HttpVersion(1, 1) == response->headers->GetHttpVersion());
LoadTimingInfo load_timing_info;

Powered by Google App Engine
This is Rietveld 408576698