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

Side by Side Diff: net/quic/quic_network_transaction_unittest.cc

Issue 12334063: Land recent QUIC changes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more EXPECT_FALSE Created 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/quic/quic_http_stream_test.cc ('k') | net/quic/quic_packet_creator.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/compiler_specific.h" 6 #include "base/compiler_specific.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "net/base/mock_cert_verifier.h" 8 #include "net/base/mock_cert_verifier.h"
9 #include "net/base/mock_host_resolver.h" 9 #include "net/base/mock_host_resolver.h"
10 #include "net/base/ssl_config_service_defaults.h" 10 #include "net/base/ssl_config_service_defaults.h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 84
85 // TODO(rch): factor these Construct* methods out into a test helper class. 85 // TODO(rch): factor these Construct* methods out into a test helper class.
86 scoped_ptr<QuicEncryptedPacket> ConstructChlo() { 86 scoped_ptr<QuicEncryptedPacket> ConstructChlo() {
87 const std::string host = "www.google.com"; 87 const std::string host = "www.google.com";
88 scoped_ptr<QuicPacket> chlo(ConstructClientHelloPacket(0xDEADBEEF, 88 scoped_ptr<QuicPacket> chlo(ConstructClientHelloPacket(0xDEADBEEF,
89 clock_, 89 clock_,
90 &random_generator_, 90 &random_generator_,
91 host)); 91 host));
92 QuicFramer framer(QuicDecrypter::Create(kNULL), 92 QuicFramer framer(QuicDecrypter::Create(kNULL),
93 QuicEncrypter::Create(kNULL)); 93 QuicEncrypter::Create(kNULL));
94 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(*chlo)); 94 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(1, *chlo));
95 } 95 }
96 96
97 scoped_ptr<QuicEncryptedPacket> ConstructShlo() { 97 scoped_ptr<QuicEncryptedPacket> ConstructShlo() {
98 scoped_ptr<QuicPacket> shlo(ConstructHandshakePacket(0xDEADBEEF, kSHLO)); 98 scoped_ptr<QuicPacket> shlo(ConstructHandshakePacket(0xDEADBEEF, kSHLO));
99 QuicFramer framer(QuicDecrypter::Create(kNULL), 99 QuicFramer framer(QuicDecrypter::Create(kNULL),
100 QuicEncrypter::Create(kNULL)); 100 QuicEncrypter::Create(kNULL));
101 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(*shlo)); 101 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(1, *shlo));
102 } 102 }
103 103
104 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket( 104 scoped_ptr<QuicEncryptedPacket> ConstructRstPacket(
105 QuicPacketSequenceNumber num, 105 QuicPacketSequenceNumber num,
106 QuicStreamId stream_id) { 106 QuicStreamId stream_id) {
107 QuicPacketHeader header; 107 QuicPacketHeader header;
108 header.public_header.guid = 0xDEADBEEF; 108 header.public_header.guid = 0xDEADBEEF;
109 header.public_header.flags = PACKET_PUBLIC_FLAGS_NONE; 109 header.public_header.reset_flag = false;
110 header.public_header.version_flag = false;
110 header.packet_sequence_number = num; 111 header.packet_sequence_number = num;
111 header.private_flags = PACKET_PRIVATE_FLAGS_NONE; 112 header.entropy_flag = false;
113 header.fec_flag = false;
114 header.fec_entropy_flag = false;
112 header.fec_group = 0; 115 header.fec_group = 0;
113 116
114 QuicRstStreamFrame rst(stream_id, 0, QUIC_NO_ERROR); 117 QuicRstStreamFrame rst(stream_id, QUIC_NO_ERROR);
115 return scoped_ptr<QuicEncryptedPacket>( 118 return scoped_ptr<QuicEncryptedPacket>(
116 ConstructPacket(header, QuicFrame(&rst))); 119 ConstructPacket(header, QuicFrame(&rst)));
117 } 120 }
118 121
119 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket( 122 scoped_ptr<QuicEncryptedPacket> ConstructAckPacket(
120 QuicPacketSequenceNumber largest_received, 123 QuicPacketSequenceNumber largest_received,
121 QuicPacketSequenceNumber least_unacked) { 124 QuicPacketSequenceNumber least_unacked) {
122 QuicPacketHeader header; 125 QuicPacketHeader header;
123 header.public_header.guid = 0xDEADBEEF; 126 header.public_header.guid = 0xDEADBEEF;
124 header.public_header.flags = PACKET_PUBLIC_FLAGS_NONE; 127 header.public_header.reset_flag = false;
128 header.public_header.version_flag = false;
125 header.packet_sequence_number = 3; 129 header.packet_sequence_number = 3;
126 header.private_flags = PACKET_PRIVATE_FLAGS_NONE; 130 header.entropy_flag = false;
131 header.fec_flag = false;
132 header.fec_entropy_flag = false;
127 header.fec_group = 0; 133 header.fec_group = 0;
128 134
129 QuicAckFrame ack(largest_received, least_unacked); 135 QuicAckFrame ack(largest_received, least_unacked);
130 136
131 QuicCongestionFeedbackFrame feedback; 137 QuicCongestionFeedbackFrame feedback;
132 feedback.type = kTCP; 138 feedback.type = kTCP;
133 feedback.tcp.accumulated_number_of_lost_packets = 0; 139 feedback.tcp.accumulated_number_of_lost_packets = 0;
134 feedback.tcp.receive_window = 256000; 140 feedback.tcp.receive_window = 256000;
135 141
136 QuicFramer framer(QuicDecrypter::Create(kNULL), 142 QuicFramer framer(QuicDecrypter::Create(kNULL),
137 QuicEncrypter::Create(kNULL)); 143 QuicEncrypter::Create(kNULL));
138 QuicFrames frames; 144 QuicFrames frames;
139 frames.push_back(QuicFrame(&ack)); 145 frames.push_back(QuicFrame(&ack));
140 frames.push_back(QuicFrame(&feedback)); 146 frames.push_back(QuicFrame(&feedback));
141 scoped_ptr<QuicPacket> packet( 147 scoped_ptr<QuicPacket> packet(
142 framer.ConstructFrameDataPacket(header, frames)); 148 framer.ConstructFrameDataPacket(header, frames).packet);
143 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(*packet)); 149 return scoped_ptr<QuicEncryptedPacket>(
150 framer.EncryptPacket(header.packet_sequence_number, *packet));
144 } 151 }
145 152
146 std::string GetRequestString(const std::string& method, 153 std::string GetRequestString(const std::string& method,
147 const std::string& path) { 154 const std::string& path) {
148 SpdyHeaderBlock headers; 155 SpdyHeaderBlock headers;
149 headers[":method"] = method; 156 headers[":method"] = method;
150 headers[":host"] = "www.google.com"; 157 headers[":host"] = "www.google.com";
151 headers[":path"] = path; 158 headers[":path"] = path;
152 headers[":scheme"] = "http"; 159 headers[":scheme"] = "http";
153 headers[":version"] = "HTTP/1.1"; 160 headers[":version"] = "HTTP/1.1";
(...skipping 29 matching lines...) Expand all
183 } 190 }
184 191
185 scoped_ptr<QuicEncryptedPacket> ConstructPacket( 192 scoped_ptr<QuicEncryptedPacket> ConstructPacket(
186 const QuicPacketHeader& header, 193 const QuicPacketHeader& header,
187 const QuicFrame& frame) { 194 const QuicFrame& frame) {
188 QuicFramer framer(QuicDecrypter::Create(kNULL), 195 QuicFramer framer(QuicDecrypter::Create(kNULL),
189 QuicEncrypter::Create(kNULL)); 196 QuicEncrypter::Create(kNULL));
190 QuicFrames frames; 197 QuicFrames frames;
191 frames.push_back(frame); 198 frames.push_back(frame);
192 scoped_ptr<QuicPacket> packet( 199 scoped_ptr<QuicPacket> packet(
193 framer.ConstructFrameDataPacket(header, frames)); 200 framer.ConstructFrameDataPacket(header, frames).packet);
194 return scoped_ptr<QuicEncryptedPacket>(framer.EncryptPacket(*packet)); 201 return scoped_ptr<QuicEncryptedPacket>(
202 framer.EncryptPacket(header.packet_sequence_number, *packet));
195 } 203 }
196 204
197 void InitializeHeader(QuicPacketSequenceNumber sequence_number) { 205 void InitializeHeader(QuicPacketSequenceNumber sequence_number) {
198 header_.public_header.guid = random_generator_.RandUint64(); 206 header_.public_header.guid = random_generator_.RandUint64();
199 header_.public_header.flags = PACKET_PUBLIC_FLAGS_NONE; 207 header_.public_header.reset_flag = false;
208 header_.public_header.version_flag = false;
200 header_.packet_sequence_number = sequence_number; 209 header_.packet_sequence_number = sequence_number;
201 header_.fec_group = 0; 210 header_.fec_group = 0;
202 header_.private_flags = PACKET_PRIVATE_FLAGS_NONE; 211 header_.entropy_flag = false;
212 header_.fec_flag = false;
213 header_.fec_entropy_flag = false;
203 } 214 }
204 215
205 void CreateSession() { 216 void CreateSession() {
206 params_.client_socket_factory = &socket_factory_; 217 params_.client_socket_factory = &socket_factory_;
207 params_.host_resolver = &host_resolver_; 218 params_.host_resolver = &host_resolver_;
208 params_.cert_verifier = &cert_verifier_; 219 params_.cert_verifier = &cert_verifier_;
209 params_.proxy_service = proxy_service_.get(); 220 params_.proxy_service = proxy_service_.get();
210 params_.ssl_config_service = ssl_config_service_.get(); 221 params_.ssl_config_service = ssl_config_service_.get();
211 params_.http_auth_handler_factory = auth_handler_factory_.get(); 222 params_.http_auth_handler_factory = auth_handler_factory_.get();
212 params_.http_server_properties = &http_server_properties; 223 params_.http_server_properties = &http_server_properties;
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
321 ASSERT_TRUE(response->headers != NULL); 332 ASSERT_TRUE(response->headers != NULL);
322 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine()); 333 EXPECT_EQ("HTTP/1.1 200 OK", response->headers->GetStatusLine());
323 EXPECT_TRUE(response->was_fetched_via_spdy); 334 EXPECT_TRUE(response->was_fetched_via_spdy);
324 335
325 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data)); 336 ASSERT_EQ(OK, ReadTransaction(trans.get(), &response_data));
326 EXPECT_EQ("hello!", response_data); 337 EXPECT_EQ("hello!", response_data);
327 } 338 }
328 339
329 } // namespace test 340 } // namespace test
330 } // namespace net 341 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_http_stream_test.cc ('k') | net/quic/quic_packet_creator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698