| Index: net/tools/quic/end_to_end_test.cc
|
| diff --git a/net/tools/quic/end_to_end_test.cc b/net/tools/quic/end_to_end_test.cc
|
| index 416f0ee47d53cbed1a308a34a3bf7b09bf546c45..b759847c4ac602f6c2f39457d03e9ac8243adea2 100644
|
| --- a/net/tools/quic/end_to_end_test.cc
|
| +++ b/net/tools/quic/end_to_end_test.cc
|
| @@ -655,7 +655,7 @@ TEST_P(EndToEndTest, SimpleRequestResponse) {
|
| ASSERT_TRUE(Initialize());
|
|
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| EXPECT_EQ(2, client_->client()->GetNumSentClientHellos());
|
| }
|
|
|
| @@ -664,7 +664,7 @@ TEST_P(EndToEndTest, SimpleRequestResponseWithLargeReject) {
|
| ASSERT_TRUE(Initialize());
|
|
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| EXPECT_EQ(3, client_->client()->GetNumSentClientHellos());
|
| }
|
|
|
| @@ -676,7 +676,7 @@ TEST_P(EndToEndTest, DISABLED_SimpleRequestResponsev6) {
|
| ASSERT_TRUE(Initialize());
|
|
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| }
|
|
|
| TEST_P(EndToEndTest, SeparateFinPacket) {
|
| @@ -690,7 +690,7 @@ TEST_P(EndToEndTest, SeparateFinPacket) {
|
| client_->SendData("", true);
|
| client_->WaitForResponse();
|
| EXPECT_EQ(kFooResponseBody, client_->response_body());
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| // Now do the same thing but with a content length.
|
| request.AddBody("foo", true);
|
| @@ -698,16 +698,16 @@ TEST_P(EndToEndTest, SeparateFinPacket) {
|
| client_->SendData("", true);
|
| client_->WaitForResponse();
|
| EXPECT_EQ(kFooResponseBody, client_->response_body());
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| }
|
|
|
| TEST_P(EndToEndTest, MultipleRequestResponse) {
|
| ASSERT_TRUE(Initialize());
|
|
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| EXPECT_EQ(kBarResponseBody, client_->SendSynchronousRequest("/bar"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| }
|
|
|
| TEST_P(EndToEndTest, MultipleClients) {
|
| @@ -724,12 +724,12 @@ TEST_P(EndToEndTest, MultipleClients) {
|
| client_->SendData("bar", true);
|
| client_->WaitForResponse();
|
| EXPECT_EQ(kFooResponseBody, client_->response_body());
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| client2->SendData("eep", true);
|
| client2->WaitForResponse();
|
| EXPECT_EQ(kFooResponseBody, client2->response_body());
|
| - EXPECT_EQ(200u, client2->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client2->response_headers()->find(":status")->second);
|
| }
|
|
|
| TEST_P(EndToEndTest, RequestOverMultiplePackets) {
|
| @@ -740,7 +740,7 @@ TEST_P(EndToEndTest, RequestOverMultiplePackets) {
|
| ASSERT_TRUE(Initialize());
|
|
|
| EXPECT_EQ(kBarResponseBody, client_->SendSynchronousRequest(huge_request));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| }
|
|
|
| TEST_P(EndToEndTest, MultiplePacketsRandomOrder) {
|
| @@ -753,7 +753,7 @@ TEST_P(EndToEndTest, MultiplePacketsRandomOrder) {
|
| SetReorderPercentage(50);
|
|
|
| EXPECT_EQ(kBarResponseBody, client_->SendSynchronousRequest(huge_request));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| }
|
|
|
| TEST_P(EndToEndTest, PostMissingBytes) {
|
| @@ -769,7 +769,7 @@ TEST_P(EndToEndTest, PostMissingBytes) {
|
| client_->SendCustomSynchronousRequest(request);
|
| EXPECT_EQ(QuicSimpleServerStream::kErrorResponseBody,
|
| client_->response_body());
|
| - EXPECT_EQ(500u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("500", client_->response_headers()->find(":status")->second);
|
| }
|
|
|
| TEST_P(EndToEndTest, LargePostNoPacketLoss) {
|
| @@ -1202,7 +1202,7 @@ TEST_P(EndToEndTest, LargeHeaders) {
|
| } else {
|
| EXPECT_EQ(QUIC_STREAM_NO_ERROR, client_->stream_error());
|
| EXPECT_EQ(kFooResponseBody, client_->response_body());
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| }
|
| EXPECT_EQ(QUIC_NO_ERROR, client_->connection_error());
|
| }
|
| @@ -1224,7 +1224,7 @@ TEST_P(EndToEndTest, EarlyResponseWithQuicStreamNoError) {
|
| request.set_skip_message_validation(true);
|
| client_->SendCustomSynchronousRequest(request);
|
| EXPECT_EQ("bad", client_->response_body());
|
| - EXPECT_EQ(500u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("500", client_->response_headers()->find(":status")->second);
|
| EXPECT_EQ(QUIC_STREAM_NO_ERROR, client_->stream_error());
|
| EXPECT_EQ(QUIC_NO_ERROR, client_->connection_error());
|
| }
|
| @@ -1506,7 +1506,7 @@ TEST_P(EndToEndTest, 0ByteConnectionId) {
|
| ASSERT_TRUE(Initialize());
|
|
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader(
|
| client_->client()->session()->connection());
|
| @@ -1519,7 +1519,7 @@ TEST_P(EndToEndTest, 8ByteConnectionId) {
|
| ASSERT_TRUE(Initialize());
|
|
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader(
|
| client_->client()->session()->connection());
|
| EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID,
|
| @@ -1532,7 +1532,7 @@ TEST_P(EndToEndTest, 15ByteConnectionId) {
|
|
|
| // Our server is permissive and allows for out of bounds values.
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader(
|
| client_->client()->session()->connection());
|
| EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID,
|
| @@ -1544,10 +1544,10 @@ TEST_P(EndToEndTest, ResetConnection) {
|
| client_->client()->WaitForCryptoHandshakeConfirmed();
|
|
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| client_->ResetConnection();
|
| EXPECT_EQ(kBarResponseBody, client_->SendSynchronousRequest("/bar"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| }
|
|
|
| TEST_P(EndToEndTest, MaxStreamsUberTest) {
|
| @@ -1631,7 +1631,7 @@ TEST_P(EndToEndTest, ConnectionMigrationClientIPChanged) {
|
| ASSERT_TRUE(Initialize());
|
|
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| // Store the client IP address which was used to send the first request.
|
| IPAddress old_host = client_->client()->GetLatestClientAddress().address();
|
| @@ -1643,7 +1643,7 @@ TEST_P(EndToEndTest, ConnectionMigrationClientIPChanged) {
|
|
|
| // Send a request using the new socket.
|
| EXPECT_EQ(kBarResponseBody, client_->SendSynchronousRequest("/bar"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| }
|
|
|
| TEST_P(EndToEndTest, ConnectionMigrationClientPortChanged) {
|
| @@ -1653,7 +1653,7 @@ TEST_P(EndToEndTest, ConnectionMigrationClientPortChanged) {
|
| ASSERT_TRUE(Initialize());
|
|
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| // Store the client address which was used to send the first request.
|
| IPEndPoint old_address = client_->client()->GetLatestClientAddress();
|
| @@ -1689,7 +1689,7 @@ TEST_P(EndToEndTest, ConnectionMigrationClientPortChanged) {
|
|
|
| // Send a second request, using the new FD.
|
| EXPECT_EQ(kBarResponseBody, client_->SendSynchronousRequest("/bar"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| // Verify that the client's ephemeral port is different.
|
| IPEndPoint new_address = client_->client()->GetLatestClientAddress();
|
| @@ -1849,7 +1849,7 @@ TEST_P(EndToEndTest, RequestWithNoBodyWillNeverSendStreamFrameWithFIN) {
|
|
|
| // Send a simple headers only request, and receive response.
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| // Now verify that the server is not waiting for a final FIN or RST.
|
| server_thread_->Pause();
|
| @@ -1931,7 +1931,7 @@ TEST_P(EndToEndTest, AckNotifierWithPacketLossAndBlockedSocket) {
|
| client_->SendData(request_string, true, delegate.get());
|
| client_->WaitForResponse();
|
| EXPECT_EQ(kFooResponseBody, client_->response_body());
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| // Send another request to flush out any pending ACKs on the server.
|
| client_->SendSynchronousRequest("/bar");
|
| @@ -1972,7 +1972,7 @@ TEST_P(EndToEndTest, ServerSendPublicReset) {
|
|
|
| // The request should fail.
|
| EXPECT_EQ("", client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(0u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_TRUE(client_->response_headers()->empty());
|
| EXPECT_EQ(QUIC_PUBLIC_RESET, client_->connection_error());
|
| }
|
|
|
| @@ -2009,7 +2009,7 @@ TEST_P(EndToEndTest, ServerSendPublicResetWithDifferentConnectionId) {
|
|
|
| // The connection should be unaffected.
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| client_->client()->session()->connection()->set_debug_visitor(nullptr);
|
| }
|
| @@ -2038,7 +2038,7 @@ TEST_P(EndToEndTest, ClientSendPublicResetWithDifferentConnectionId) {
|
|
|
| // The connection should be unaffected.
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| }
|
|
|
| // Send a version negotiation packet from the server for a different
|
| @@ -2068,7 +2068,7 @@ TEST_P(EndToEndTest, ServerSendVersionNegotiationWithDifferentConnectionId) {
|
|
|
| // The connection should be unaffected.
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| client_->client()->session()->connection()->set_debug_visitor(nullptr);
|
| }
|
| @@ -2080,7 +2080,7 @@ TEST_P(EndToEndTest, BadPacketHeaderTruncated) {
|
|
|
| // Start the connection.
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| // Packet with invalid public flags.
|
| char packet[] = {// public flags (8 byte connection_id)
|
| @@ -2103,7 +2103,7 @@ TEST_P(EndToEndTest, BadPacketHeaderTruncated) {
|
|
|
| // The connection should not be terminated.
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| }
|
|
|
| // A bad header shouldn't tear down the connection, because the receiver can't
|
| @@ -2113,7 +2113,7 @@ TEST_P(EndToEndTest, BadPacketHeaderFlags) {
|
|
|
| // Start the connection.
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| // Packet with invalid public flags.
|
| char packet[] = {
|
| @@ -2142,7 +2142,7 @@ TEST_P(EndToEndTest, BadPacketHeaderFlags) {
|
|
|
| // The connection should not be terminated.
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| }
|
|
|
| // Send a packet from the client with bad encrypted data. The server should not
|
| @@ -2152,7 +2152,7 @@ TEST_P(EndToEndTest, BadEncryptedData) {
|
|
|
| // Start the connection.
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
|
|
| std::unique_ptr<QuicEncryptedPacket> packet(ConstructEncryptedPacket(
|
| client_->client()->session()->connection()->connection_id(), false, false,
|
| @@ -2180,7 +2180,7 @@ TEST_P(EndToEndTest, BadEncryptedData) {
|
|
|
| // The connection should not be terminated.
|
| EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| }
|
|
|
| // A test stream that gives |response_body_| as an error response body.
|
| @@ -2448,7 +2448,7 @@ TEST_P(EndToEndTest, EarlyResponseFinRecording) {
|
| // Send the request.
|
| client_->SendMessage(request);
|
| client_->WaitForResponse();
|
| - EXPECT_EQ(500u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("500", client_->response_headers()->find(":status")->second);
|
|
|
| // Pause the server so we can access the server's internals without races.
|
| server_thread_->Pause();
|
| @@ -2494,7 +2494,7 @@ TEST_P(EndToEndTest, LargePostEarlyResponse) {
|
| client_->SendMessage(request);
|
| // Receive the response and let the server close writing.
|
| client_->WaitForInitialResponse();
|
| - EXPECT_EQ(500u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("500", client_->response_headers()->find(":status")->second);
|
|
|
| // Receive the reset stream from server on early response.
|
| ReliableQuicStream* stream =
|
| @@ -2528,7 +2528,7 @@ TEST_P(EndToEndTest, Trailers) {
|
| trailers.Clone());
|
|
|
| EXPECT_EQ(kBody, client_->SendSynchronousRequest("/trailer_url"));
|
| - EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + EXPECT_EQ("200", client_->response_headers()->find(":status")->second);
|
| EXPECT_EQ(trailers, client_->response_trailers());
|
| }
|
|
|
|
|