| 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) {
|
|
|