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

Side by Side Diff: net/spdy/spdy_network_transaction_spdy3_unittest.cc

Issue 9618002: SPDY - integration of spdy/3 code. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 9 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/spdy/spdy_network_transaction_spdy2_unittest.cc ('k') | net/spdy/spdy_protocol.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 "net/http/http_network_transaction.h" 5 #include "net/http/http_network_transaction.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 23 matching lines...) Expand all
34 SPDYNOSSL, 34 SPDYNOSSL,
35 SPDYSSL, 35 SPDYSSL,
36 }; 36 };
37 class SpdyNetworkTransactionSpdy3Test 37 class SpdyNetworkTransactionSpdy3Test
38 : public ::testing::TestWithParam<SpdyNetworkTransactionSpdy3TestTypes> { 38 : public ::testing::TestWithParam<SpdyNetworkTransactionSpdy3TestTypes> {
39 protected: 39 protected:
40 40
41 virtual void SetUp() { 41 virtual void SetUp() {
42 // By default, all tests turn off compression. 42 // By default, all tests turn off compression.
43 EnableCompression(false); 43 EnableCompression(false);
44 SpdySession::set_default_protocol(SSLClientSocket::kProtoSPDY3);
44 google_get_request_initialized_ = false; 45 google_get_request_initialized_ = false;
45 google_post_request_initialized_ = false; 46 google_post_request_initialized_ = false;
46 google_chunked_post_request_initialized_ = false; 47 google_chunked_post_request_initialized_ = false;
47 } 48 }
48 49
49 virtual void TearDown() { 50 virtual void TearDown() {
50 // Empty the current queue. 51 // Empty the current queue.
51 MessageLoop::current()->RunAllPending(); 52 MessageLoop::current()->RunAllPending();
52 } 53 }
53 54
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 session_ = SpdySessionDependencies::SpdyCreateSession( 119 session_ = SpdySessionDependencies::SpdyCreateSession(
119 session_deps_.get()); 120 session_deps_.get());
120 HttpStreamFactory::set_use_alternate_protocols(false); 121 HttpStreamFactory::set_use_alternate_protocols(false);
121 HttpStreamFactory::set_force_spdy_over_ssl(false); 122 HttpStreamFactory::set_force_spdy_over_ssl(false);
122 HttpStreamFactory::set_force_spdy_always(false); 123 HttpStreamFactory::set_force_spdy_always(false);
123 124
124 std::vector<std::string> next_protos; 125 std::vector<std::string> next_protos;
125 next_protos.push_back("http/1.1"); 126 next_protos.push_back("http/1.1");
126 next_protos.push_back("spdy/2"); 127 next_protos.push_back("spdy/2");
127 next_protos.push_back("spdy/2.1"); 128 next_protos.push_back("spdy/2.1");
129 next_protos.push_back("spdy/3");
128 130
129 switch (test_type_) { 131 switch (test_type_) {
130 case SPDYNPN: 132 case SPDYNPN:
131 session_->http_server_properties()->SetAlternateProtocol( 133 session_->http_server_properties()->SetAlternateProtocol(
132 HostPortPair("www.google.com", 80), 443, 134 HostPortPair("www.google.com", 80), 443,
133 NPN_SPDY_21); 135 NPN_SPDY_3);
134 HttpStreamFactory::set_use_alternate_protocols(true); 136 HttpStreamFactory::set_use_alternate_protocols(true);
135 HttpStreamFactory::SetNextProtos(next_protos); 137 HttpStreamFactory::SetNextProtos(next_protos);
136 break; 138 break;
137 case SPDYNOSSL: 139 case SPDYNOSSL:
138 HttpStreamFactory::set_force_spdy_over_ssl(false); 140 HttpStreamFactory::set_force_spdy_over_ssl(false);
139 HttpStreamFactory::set_force_spdy_always(true); 141 HttpStreamFactory::set_force_spdy_always(true);
140 break; 142 break;
141 case SPDYSSL: 143 case SPDYSSL:
142 HttpStreamFactory::set_force_spdy_over_ssl(true); 144 HttpStreamFactory::set_force_spdy_over_ssl(true);
143 HttpStreamFactory::set_force_spdy_always(true); 145 HttpStreamFactory::set_force_spdy_always(true);
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 RunDefaultTest(); 231 RunDefaultTest();
230 VerifyDataConsumed(); 232 VerifyDataConsumed();
231 } 233 }
232 234
233 void AddData(StaticSocketDataProvider* data) { 235 void AddData(StaticSocketDataProvider* data) {
234 DCHECK(!deterministic_); 236 DCHECK(!deterministic_);
235 data_vector_.push_back(data); 237 data_vector_.push_back(data);
236 linked_ptr<SSLSocketDataProvider> ssl_( 238 linked_ptr<SSLSocketDataProvider> ssl_(
237 new SSLSocketDataProvider(ASYNC, OK)); 239 new SSLSocketDataProvider(ASYNC, OK));
238 if (test_type_ == SPDYNPN) { 240 if (test_type_ == SPDYNPN) {
239 ssl_->SetNextProto(SSLClientSocket::kProtoSPDY21); 241 ssl_->SetNextProto(SSLClientSocket::kProtoSPDY3);
240 } 242 }
241 ssl_vector_.push_back(ssl_); 243 ssl_vector_.push_back(ssl_);
242 if (test_type_ == SPDYNPN || test_type_ == SPDYSSL) 244 if (test_type_ == SPDYNPN || test_type_ == SPDYSSL)
243 session_deps_->socket_factory->AddSSLSocketDataProvider(ssl_.get()); 245 session_deps_->socket_factory->AddSSLSocketDataProvider(ssl_.get());
244 session_deps_->socket_factory->AddSocketDataProvider(data); 246 session_deps_->socket_factory->AddSocketDataProvider(data);
245 if (test_type_ == SPDYNPN) { 247 if (test_type_ == SPDYNPN) {
246 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); 248 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING);
247 linked_ptr<StaticSocketDataProvider> 249 linked_ptr<StaticSocketDataProvider>
248 hanging_non_alternate_protocol_socket( 250 hanging_non_alternate_protocol_socket(
249 new StaticSocketDataProvider(NULL, 0, NULL, 0)); 251 new StaticSocketDataProvider(NULL, 0, NULL, 0));
250 hanging_non_alternate_protocol_socket->set_connect_data( 252 hanging_non_alternate_protocol_socket->set_connect_data(
251 never_finishing_connect); 253 never_finishing_connect);
252 session_deps_->socket_factory->AddSocketDataProvider( 254 session_deps_->socket_factory->AddSocketDataProvider(
253 hanging_non_alternate_protocol_socket.get()); 255 hanging_non_alternate_protocol_socket.get());
254 alternate_vector_.push_back(hanging_non_alternate_protocol_socket); 256 alternate_vector_.push_back(hanging_non_alternate_protocol_socket);
255 } 257 }
256 } 258 }
257 259
258 void AddDeterministicData(DeterministicSocketData* data) { 260 void AddDeterministicData(DeterministicSocketData* data) {
259 DCHECK(deterministic_); 261 DCHECK(deterministic_);
260 data_vector_.push_back(data); 262 data_vector_.push_back(data);
261 linked_ptr<SSLSocketDataProvider> ssl_( 263 linked_ptr<SSLSocketDataProvider> ssl_(
262 new SSLSocketDataProvider(ASYNC, OK)); 264 new SSLSocketDataProvider(ASYNC, OK));
263 if (test_type_ == SPDYNPN) { 265 if (test_type_ == SPDYNPN) {
264 ssl_->SetNextProto(SSLClientSocket::kProtoSPDY21); 266 ssl_->SetNextProto(SSLClientSocket::kProtoSPDY3);
265 } 267 }
266 ssl_vector_.push_back(ssl_); 268 ssl_vector_.push_back(ssl_);
267 if (test_type_ == SPDYNPN || test_type_ == SPDYSSL) { 269 if (test_type_ == SPDYNPN || test_type_ == SPDYSSL) {
268 session_deps_->deterministic_socket_factory-> 270 session_deps_->deterministic_socket_factory->
269 AddSSLSocketDataProvider(ssl_.get()); 271 AddSSLSocketDataProvider(ssl_.get());
270 } 272 }
271 session_deps_->deterministic_socket_factory->AddSocketDataProvider(data); 273 session_deps_->deterministic_socket_factory->AddSocketDataProvider(data);
272 if (test_type_ == SPDYNPN) { 274 if (test_type_ == SPDYNPN) {
273 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING); 275 MockConnect never_finishing_connect(SYNCHRONOUS, ERR_IO_PENDING);
274 scoped_refptr<DeterministicSocketData> 276 scoped_refptr<DeterministicSocketData>
(...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after
932 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3)); 934 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3));
933 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(3, false)); 935 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(3, false));
934 scoped_ptr<spdy::SpdyFrame> fbody2(ConstructSpdyBodyFrame(3, true)); 936 scoped_ptr<spdy::SpdyFrame> fbody2(ConstructSpdyBodyFrame(3, true));
935 937
936 scoped_ptr<spdy::SpdyFrame> req3(ConstructSpdyGet(NULL, 0, false, 5, LOWEST)); 938 scoped_ptr<spdy::SpdyFrame> req3(ConstructSpdyGet(NULL, 0, false, 5, LOWEST));
937 scoped_ptr<spdy::SpdyFrame> resp3(ConstructSpdyGetSynReply(NULL, 0, 5)); 939 scoped_ptr<spdy::SpdyFrame> resp3(ConstructSpdyGetSynReply(NULL, 0, 5));
938 scoped_ptr<spdy::SpdyFrame> body3(ConstructSpdyBodyFrame(5, false)); 940 scoped_ptr<spdy::SpdyFrame> body3(ConstructSpdyBodyFrame(5, false));
939 scoped_ptr<spdy::SpdyFrame> fbody3(ConstructSpdyBodyFrame(5, true)); 941 scoped_ptr<spdy::SpdyFrame> fbody3(ConstructSpdyBodyFrame(5, true));
940 942
941 spdy::SpdySettings settings; 943 spdy::SpdySettings settings;
942 spdy::SettingsFlagsAndId id(0); 944 spdy::SettingsFlagsAndId id(0, spdy::SETTINGS_MAX_CONCURRENT_STREAMS);
943 id.set_id(spdy::SETTINGS_MAX_CONCURRENT_STREAMS);
944 const size_t max_concurrent_streams = 1; 945 const size_t max_concurrent_streams = 1;
945 946
946 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams)); 947 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams));
947 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings)); 948 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings));
948 949
949 MockWrite writes[] = { 950 MockWrite writes[] = {
950 CreateMockWrite(*req), 951 CreateMockWrite(*req),
951 CreateMockWrite(*req2), 952 CreateMockWrite(*req2),
952 CreateMockWrite(*req3), 953 CreateMockWrite(*req3),
953 }; 954 };
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1071 scoped_ptr<spdy::SpdyFrame> resp4(ConstructSpdyGetSynReply(NULL, 0, 5)); 1072 scoped_ptr<spdy::SpdyFrame> resp4(ConstructSpdyGetSynReply(NULL, 0, 5));
1072 scoped_ptr<spdy::SpdyFrame> fbody4(ConstructSpdyBodyFrame(5, true)); 1073 scoped_ptr<spdy::SpdyFrame> fbody4(ConstructSpdyBodyFrame(5, true));
1073 1074
1074 scoped_ptr<spdy::SpdyFrame> req3(ConstructSpdyGet(NULL, 0, false, 7, LOWEST)); 1075 scoped_ptr<spdy::SpdyFrame> req3(ConstructSpdyGet(NULL, 0, false, 7, LOWEST));
1075 scoped_ptr<spdy::SpdyFrame> resp3(ConstructSpdyGetSynReply(NULL, 0, 7)); 1076 scoped_ptr<spdy::SpdyFrame> resp3(ConstructSpdyGetSynReply(NULL, 0, 7));
1076 scoped_ptr<spdy::SpdyFrame> body3(ConstructSpdyBodyFrame(7, false)); 1077 scoped_ptr<spdy::SpdyFrame> body3(ConstructSpdyBodyFrame(7, false));
1077 scoped_ptr<spdy::SpdyFrame> fbody3(ConstructSpdyBodyFrame(7, true)); 1078 scoped_ptr<spdy::SpdyFrame> fbody3(ConstructSpdyBodyFrame(7, true));
1078 1079
1079 1080
1080 spdy::SpdySettings settings; 1081 spdy::SpdySettings settings;
1081 spdy::SettingsFlagsAndId id(0); 1082 spdy::SettingsFlagsAndId id(0, spdy::SETTINGS_MAX_CONCURRENT_STREAMS);
1082 id.set_id(spdy::SETTINGS_MAX_CONCURRENT_STREAMS);
1083 const size_t max_concurrent_streams = 1; 1083 const size_t max_concurrent_streams = 1;
1084 1084
1085 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams)); 1085 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams));
1086 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings)); 1086 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings));
1087 1087
1088 MockWrite writes[] = { CreateMockWrite(*req), 1088 MockWrite writes[] = { CreateMockWrite(*req),
1089 CreateMockWrite(*req2), 1089 CreateMockWrite(*req2),
1090 CreateMockWrite(*req4), 1090 CreateMockWrite(*req4),
1091 CreateMockWrite(*req3), 1091 CreateMockWrite(*req3),
1092 }; 1092 };
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
1216 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); 1216 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1));
1217 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, false)); 1217 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, false));
1218 scoped_ptr<spdy::SpdyFrame> fbody(ConstructSpdyBodyFrame(1, true)); 1218 scoped_ptr<spdy::SpdyFrame> fbody(ConstructSpdyBodyFrame(1, true));
1219 1219
1220 scoped_ptr<spdy::SpdyFrame> req2(ConstructSpdyGet(NULL, 0, false, 3, LOWEST)); 1220 scoped_ptr<spdy::SpdyFrame> req2(ConstructSpdyGet(NULL, 0, false, 3, LOWEST));
1221 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3)); 1221 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3));
1222 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(3, false)); 1222 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(3, false));
1223 scoped_ptr<spdy::SpdyFrame> fbody2(ConstructSpdyBodyFrame(3, true)); 1223 scoped_ptr<spdy::SpdyFrame> fbody2(ConstructSpdyBodyFrame(3, true));
1224 1224
1225 spdy::SpdySettings settings; 1225 spdy::SpdySettings settings;
1226 spdy::SettingsFlagsAndId id(0); 1226 spdy::SettingsFlagsAndId id(0, spdy::SETTINGS_MAX_CONCURRENT_STREAMS);
1227 id.set_id(spdy::SETTINGS_MAX_CONCURRENT_STREAMS);
1228 const size_t max_concurrent_streams = 1; 1227 const size_t max_concurrent_streams = 1;
1229 1228
1230 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams)); 1229 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams));
1231 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings)); 1230 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings));
1232 1231
1233 MockWrite writes[] = { CreateMockWrite(*req), 1232 MockWrite writes[] = { CreateMockWrite(*req),
1234 CreateMockWrite(*req2), 1233 CreateMockWrite(*req2),
1235 }; 1234 };
1236 MockRead reads[] = { 1235 MockRead reads[] = {
1237 CreateMockRead(*settings_frame, 1), 1236 CreateMockRead(*settings_frame, 1),
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
1352 // Construct the request. 1351 // Construct the request.
1353 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); 1352 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST));
1354 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); 1353 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1));
1355 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, false)); 1354 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, false));
1356 scoped_ptr<spdy::SpdyFrame> fin_body(ConstructSpdyBodyFrame(1, true)); 1355 scoped_ptr<spdy::SpdyFrame> fin_body(ConstructSpdyBodyFrame(1, true));
1357 1356
1358 scoped_ptr<spdy::SpdyFrame> req2(ConstructSpdyGet(NULL, 0, false, 3, LOWEST)); 1357 scoped_ptr<spdy::SpdyFrame> req2(ConstructSpdyGet(NULL, 0, false, 3, LOWEST));
1359 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3)); 1358 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3));
1360 1359
1361 spdy::SpdySettings settings; 1360 spdy::SpdySettings settings;
1362 spdy::SettingsFlagsAndId id(0); 1361 spdy::SettingsFlagsAndId id(0, spdy::SETTINGS_MAX_CONCURRENT_STREAMS);
1363 id.set_id(spdy::SETTINGS_MAX_CONCURRENT_STREAMS);
1364 const size_t max_concurrent_streams = 1; 1362 const size_t max_concurrent_streams = 1;
1365 1363
1366 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams)); 1364 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams));
1367 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings)); 1365 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings));
1368 1366
1369 MockWrite writes[] = { CreateMockWrite(*req), 1367 MockWrite writes[] = { CreateMockWrite(*req),
1370 CreateMockWrite(*req2), 1368 CreateMockWrite(*req2),
1371 }; 1369 };
1372 MockRead reads[] = { 1370 MockRead reads[] = {
1373 CreateMockRead(*settings_frame, 1), 1371 CreateMockRead(*settings_frame, 1),
(...skipping 3063 matching lines...) Expand 10 before | Expand all | Expand 10 after
4437 ConstructSpdyPacket(kSynReplyInfo, 4435 ConstructSpdyPacket(kSynReplyInfo,
4438 kExtraHeaders, 4436 kExtraHeaders,
4439 arraysize(kExtraHeaders) / 2, 4437 arraysize(kExtraHeaders) / 2,
4440 NULL, 4438 NULL,
4441 0)); 4439 0));
4442 4440
4443 unsigned int kSampleId1 = 0x1; 4441 unsigned int kSampleId1 = 0x1;
4444 unsigned int kSampleValue1 = 0x0a0a0a0a; 4442 unsigned int kSampleValue1 = 0x0a0a0a0a;
4445 unsigned int kSampleId2 = 0x2; 4443 unsigned int kSampleId2 = 0x2;
4446 unsigned int kSampleValue2 = 0x0b0b0b0b; 4444 unsigned int kSampleValue2 = 0x0b0b0b0b;
4447 unsigned int kSampleId3 = 0xababab; 4445 unsigned int kSampleId3 = 0x3;
4448 unsigned int kSampleValue3 = 0x0c0c0c0c; 4446 unsigned int kSampleValue3 = 0x0c0c0c0c;
4449 scoped_ptr<spdy::SpdyFrame> settings_frame; 4447 scoped_ptr<spdy::SpdyFrame> settings_frame;
4450 { 4448 {
4451 // Construct the SETTINGS frame. 4449 // Construct the SETTINGS frame.
4452 spdy::SpdySettings settings; 4450 spdy::SpdySettings settings;
4453 spdy::SettingsFlagsAndId setting(0);
4454 // First add a persisted setting 4451 // First add a persisted setting
4455 setting.set_flags(spdy::SETTINGS_FLAG_PLEASE_PERSIST); 4452 spdy::SettingsFlagsAndId setting1(spdy::SETTINGS_FLAG_PLEASE_PERSIST,
4456 setting.set_id(kSampleId1); 4453 kSampleId1);
4457 settings.push_back(std::make_pair(setting, kSampleValue1)); 4454 settings.push_back(std::make_pair(setting1, kSampleValue1));
4458 // Next add a non-persisted setting 4455 // Next add a non-persisted setting
4459 setting.set_flags(0); 4456 spdy::SettingsFlagsAndId setting2(0, kSampleId2);
4460 setting.set_id(kSampleId2); 4457 settings.push_back(std::make_pair(setting2, kSampleValue2));
4461 settings.push_back(std::make_pair(setting, kSampleValue2));
4462 // Next add another persisted setting 4458 // Next add another persisted setting
4463 setting.set_flags(spdy::SETTINGS_FLAG_PLEASE_PERSIST); 4459 spdy::SettingsFlagsAndId setting3(spdy::SETTINGS_FLAG_PLEASE_PERSIST,
4464 setting.set_id(kSampleId3); 4460 kSampleId3);
4465 settings.push_back(std::make_pair(setting, kSampleValue3)); 4461 settings.push_back(std::make_pair(setting3, kSampleValue3));
4466 settings_frame.reset(ConstructSpdySettings(settings)); 4462 settings_frame.reset(ConstructSpdySettings(settings));
4467 } 4463 }
4468 4464
4469 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); 4465 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true));
4470 MockRead reads[] = { 4466 MockRead reads[] = {
4471 CreateMockRead(*reply), 4467 CreateMockRead(*reply),
4472 CreateMockRead(*body), 4468 CreateMockRead(*body),
4473 CreateMockRead(*settings_frame), 4469 CreateMockRead(*settings_frame),
4474 MockRead(ASYNC, 0, 0) // EOF 4470 MockRead(ASYNC, 0, 0) // EOF
4475 }; 4471 };
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
4539 EXPECT_TRUE(spdy_session_pool->http_server_properties()->GetSpdySettings( 4535 EXPECT_TRUE(spdy_session_pool->http_server_properties()->GetSpdySettings(
4540 host_port_pair).empty()); 4536 host_port_pair).empty());
4541 4537
4542 unsigned int kSampleId1 = 0x1; 4538 unsigned int kSampleId1 = 0x1;
4543 unsigned int kSampleValue1 = 0x0a0a0a0a; 4539 unsigned int kSampleValue1 = 0x0a0a0a0a;
4544 unsigned int kSampleId2 = 0xababab; 4540 unsigned int kSampleId2 = 0xababab;
4545 unsigned int kSampleValue2 = 0x0c0c0c0c; 4541 unsigned int kSampleValue2 = 0x0c0c0c0c;
4546 // Manually insert settings into the SpdySettingsStorage here. 4542 // Manually insert settings into the SpdySettingsStorage here.
4547 { 4543 {
4548 spdy::SpdySettings settings; 4544 spdy::SpdySettings settings;
4549 spdy::SettingsFlagsAndId setting(0);
4550 // First add a persisted setting 4545 // First add a persisted setting
4551 setting.set_flags(spdy::SETTINGS_FLAG_PLEASE_PERSIST); 4546 spdy::SettingsFlagsAndId setting1(spdy::SETTINGS_FLAG_PLEASE_PERSIST,
4552 setting.set_id(kSampleId1); 4547 kSampleId1);
4553 settings.push_back(std::make_pair(setting, kSampleValue1)); 4548 settings.push_back(std::make_pair(setting1, kSampleValue1));
4554 // Next add another persisted setting 4549 // Next add another persisted setting
4555 setting.set_flags(spdy::SETTINGS_FLAG_PLEASE_PERSIST); 4550 spdy::SettingsFlagsAndId setting2(spdy::SETTINGS_FLAG_PLEASE_PERSIST,
4556 setting.set_id(kSampleId2); 4551 kSampleId2);
4557 settings.push_back(std::make_pair(setting, kSampleValue2)); 4552 settings.push_back(std::make_pair(setting2, kSampleValue2));
4558 4553
4559 spdy_session_pool->http_server_properties()->SetSpdySettings( 4554 spdy_session_pool->http_server_properties()->SetSpdySettings(
4560 host_port_pair, settings); 4555 host_port_pair, settings);
4561 } 4556 }
4562 4557
4563 EXPECT_EQ(2u, spdy_session_pool->http_server_properties()->GetSpdySettings( 4558 EXPECT_EQ(2u, spdy_session_pool->http_server_properties()->GetSpdySettings(
4564 host_port_pair).size()); 4559 host_port_pair).size());
4565 4560
4566 // Construct the SETTINGS frame. 4561 // Construct the SETTINGS frame.
4567 const spdy::SpdySettings& settings = 4562 const spdy::SpdySettings& settings =
(...skipping 1327 matching lines...) Expand 10 before | Expand all | Expand 10 after
5895 << " Write index: " 5890 << " Write index: "
5896 << data->write_index(); 5891 << data->write_index();
5897 5892
5898 // Verify the SYN_REPLY. 5893 // Verify the SYN_REPLY.
5899 HttpResponseInfo response = *trans->GetResponseInfo(); 5894 HttpResponseInfo response = *trans->GetResponseInfo();
5900 EXPECT_TRUE(response.headers != NULL); 5895 EXPECT_TRUE(response.headers != NULL);
5901 EXPECT_EQ("HTTP/1.1 200 OK", response.headers->GetStatusLine()); 5896 EXPECT_EQ("HTTP/1.1 200 OK", response.headers->GetStatusLine());
5902 } 5897 }
5903 5898
5904 } // namespace net 5899 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_network_transaction_spdy2_unittest.cc ('k') | net/spdy/spdy_protocol.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698