| 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 65005f6c96bb2c2ca1aa133b46a9875f0b58f4b6..19a9f5f6319583f084c5e1fbc20914e7979c368d 100644
|
| --- a/net/tools/quic/end_to_end_test.cc
|
| +++ b/net/tools/quic/end_to_end_test.cc
|
| @@ -1017,6 +1017,68 @@ TEST_P(EndToEndTest, MinInitialRTT) {
|
| server_thread_->Resume();
|
| }
|
|
|
| +TEST_P(EndToEndTest, 0ByteConnectionId) {
|
| + client_config_.SetBytesForConnectionIdToSend(0);
|
| + ASSERT_TRUE(Initialize());
|
| +
|
| + EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| + EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| +
|
| + QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader(
|
| + client_->client()->session()->connection());
|
| + EXPECT_EQ(PACKET_0BYTE_CONNECTION_ID,
|
| + header->public_header.connection_id_length);
|
| +}
|
| +
|
| +TEST_P(EndToEndTest, 1ByteConnectionId) {
|
| + client_config_.SetBytesForConnectionIdToSend(1);
|
| + ASSERT_TRUE(Initialize());
|
| +
|
| + EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| + EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader(
|
| + client_->client()->session()->connection());
|
| + EXPECT_EQ(PACKET_1BYTE_CONNECTION_ID,
|
| + header->public_header.connection_id_length);
|
| +}
|
| +
|
| +TEST_P(EndToEndTest, 4ByteConnectionId) {
|
| + client_config_.SetBytesForConnectionIdToSend(4);
|
| + ASSERT_TRUE(Initialize());
|
| +
|
| + EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| + EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader(
|
| + client_->client()->session()->connection());
|
| + EXPECT_EQ(PACKET_4BYTE_CONNECTION_ID,
|
| + header->public_header.connection_id_length);
|
| +}
|
| +
|
| +TEST_P(EndToEndTest, 8ByteConnectionId) {
|
| + client_config_.SetBytesForConnectionIdToSend(8);
|
| + ASSERT_TRUE(Initialize());
|
| +
|
| + EXPECT_EQ(kFooResponseBody, client_->SendSynchronousRequest("/foo"));
|
| + EXPECT_EQ(200u, client_->response_headers()->parsed_response_code());
|
| + QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader(
|
| + client_->client()->session()->connection());
|
| + EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID,
|
| + header->public_header.connection_id_length);
|
| +}
|
| +
|
| +TEST_P(EndToEndTest, 15ByteConnectionId) {
|
| + client_config_.SetBytesForConnectionIdToSend(15);
|
| + ASSERT_TRUE(Initialize());
|
| +
|
| + // 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());
|
| + QuicPacketHeader* header = QuicConnectionPeer::GetLastHeader(
|
| + client_->client()->session()->connection());
|
| + EXPECT_EQ(PACKET_8BYTE_CONNECTION_ID,
|
| + header->public_header.connection_id_length);
|
| +}
|
| +
|
| TEST_P(EndToEndTest, ResetConnection) {
|
| ASSERT_TRUE(Initialize());
|
| client_->client()->WaitForCryptoHandshakeConfirmed();
|
|
|