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

Unified Diff: net/quic/quic_network_transaction_unittest.cc

Issue 903273002: Update from https://crrev.com/315085 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 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/proxy/proxy_service.cc ('k') | net/quic/quic_stream_factory.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/quic_network_transaction_unittest.cc
diff --git a/net/quic/quic_network_transaction_unittest.cc b/net/quic/quic_network_transaction_unittest.cc
index 5219d1e6ccb3cd4190666290039627b5e6316756..3c85ca4b44002f45a8a71212defb8c278ddbb283 100644
--- a/net/quic/quic_network_transaction_unittest.cc
+++ b/net/quic/quic_network_transaction_unittest.cc
@@ -102,6 +102,21 @@ class MockQuicData {
scoped_ptr<SocketDataProvider> socket_data_;
};
+class ProxyHeadersHandler {
+ public:
+ ProxyHeadersHandler() : was_called_(false) {}
+
+ bool was_called() { return was_called_; }
+
+ void OnBeforeProxyHeadersSent(const ProxyInfo& proxy_info,
+ HttpRequestHeaders* request_headers) {
+ was_called_ = true;
+ }
+
+ private:
+ bool was_called_;
+};
+
class QuicNetworkTransactionTest
: public PlatformTest,
public ::testing::WithParamInterface<QuicVersion> {
@@ -269,11 +284,11 @@ class QuicNetworkTransactionTest
}
void SendRequestAndExpectQuicResponse(const std::string& expected) {
- scoped_ptr<HttpNetworkTransaction> trans(
- new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get()));
- RunTransaction(trans.get());
- CheckWasQuicResponse(trans);
- CheckResponseData(trans.get(), expected);
+ SendRequestAndExpectQuicResponseMaybeFromProxy(expected, false);
+ }
+
+ void SendRequestAndExpectQuicResponseFromProxy(const std::string& expected) {
+ SendRequestAndExpectQuicResponseMaybeFromProxy(expected, true);
}
void AddQuicAlternateProtocolMapping(
@@ -284,17 +299,14 @@ class QuicNetworkTransactionTest
}
void ExpectBrokenAlternateProtocolMapping() {
- ASSERT_TRUE(session_->http_server_properties()->HasAlternateProtocol(
- HostPortPair::FromURL(request_.url)));
const AlternateProtocolInfo alternate =
session_->http_server_properties()->GetAlternateProtocol(
HostPortPair::FromURL(request_.url));
+ EXPECT_NE(UNINITIALIZED_ALTERNATE_PROTOCOL, alternate.protocol);
EXPECT_TRUE(alternate.is_broken);
}
void ExpectQuicAlternateProtocolMapping() {
- ASSERT_TRUE(session_->http_server_properties()->HasAlternateProtocol(
- HostPortPair::FromURL(request_.url)));
const AlternateProtocolInfo alternate =
session_->http_server_properties()->GetAlternateProtocol(
HostPortPair::FromURL(request_.url));
@@ -324,6 +336,22 @@ class QuicNetworkTransactionTest
HttpRequestInfo request_;
CapturingBoundNetLog net_log_;
StaticSocketDataProvider hanging_data_;
+
+ private:
+ void SendRequestAndExpectQuicResponseMaybeFromProxy(
+ const std::string& expected,
+ bool used_proxy) {
+ scoped_ptr<HttpNetworkTransaction> trans(
+ new HttpNetworkTransaction(DEFAULT_PRIORITY, session_.get()));
+ ProxyHeadersHandler proxy_headers_handler;
+ trans->SetBeforeProxyHeadersSentCallback(
+ base::Bind(&ProxyHeadersHandler::OnBeforeProxyHeadersSent,
+ base::Unretained(&proxy_headers_handler)));
+ RunTransaction(trans.get());
+ CheckWasQuicResponse(trans);
+ CheckResponseData(trans.get(), expected);
+ EXPECT_EQ(used_proxy, proxy_headers_handler.was_called());
+ }
};
INSTANTIATE_TEST_CASE_P(Version, QuicNetworkTransactionTest,
@@ -414,7 +442,7 @@ TEST_P(QuicNetworkTransactionTest, QuicProxy) {
CreateSession();
- SendRequestAndExpectQuicResponse("hello!");
+ SendRequestAndExpectQuicResponseFromProxy("hello!");
}
TEST_P(QuicNetworkTransactionTest, ForceQuicWithErrorConnecting) {
« no previous file with comments | « net/proxy/proxy_service.cc ('k') | net/quic/quic_stream_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698