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

Side by Side Diff: net/spdy/spdy_network_transaction_spdy21_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
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 SpdyNetworkTransactionSpdy21Test 37 class SpdyNetworkTransactionSpdy21Test
38 : public ::testing::TestWithParam<SpdyNetworkTransactionSpdy21TestTypes> { 38 : public ::testing::TestWithParam<SpdyNetworkTransactionSpdy21TestTypes> {
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::kProtoSPDY21);
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 878 matching lines...) Expand 10 before | Expand all | Expand 10 after
932 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3)); 933 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3));
933 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(3, false)); 934 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(3, false));
934 scoped_ptr<spdy::SpdyFrame> fbody2(ConstructSpdyBodyFrame(3, true)); 935 scoped_ptr<spdy::SpdyFrame> fbody2(ConstructSpdyBodyFrame(3, true));
935 936
936 scoped_ptr<spdy::SpdyFrame> req3(ConstructSpdyGet(NULL, 0, false, 5, LOWEST)); 937 scoped_ptr<spdy::SpdyFrame> req3(ConstructSpdyGet(NULL, 0, false, 5, LOWEST));
937 scoped_ptr<spdy::SpdyFrame> resp3(ConstructSpdyGetSynReply(NULL, 0, 5)); 938 scoped_ptr<spdy::SpdyFrame> resp3(ConstructSpdyGetSynReply(NULL, 0, 5));
938 scoped_ptr<spdy::SpdyFrame> body3(ConstructSpdyBodyFrame(5, false)); 939 scoped_ptr<spdy::SpdyFrame> body3(ConstructSpdyBodyFrame(5, false));
939 scoped_ptr<spdy::SpdyFrame> fbody3(ConstructSpdyBodyFrame(5, true)); 940 scoped_ptr<spdy::SpdyFrame> fbody3(ConstructSpdyBodyFrame(5, true));
940 941
941 spdy::SpdySettings settings; 942 spdy::SpdySettings settings;
942 spdy::SettingsFlagsAndId id(0); 943 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; 944 const size_t max_concurrent_streams = 1;
945 945
946 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams)); 946 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams));
947 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings)); 947 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings));
948 948
949 MockWrite writes[] = { 949 MockWrite writes[] = {
950 CreateMockWrite(*req), 950 CreateMockWrite(*req),
951 CreateMockWrite(*req2), 951 CreateMockWrite(*req2),
952 CreateMockWrite(*req3), 952 CreateMockWrite(*req3),
953 }; 953 };
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
1071 scoped_ptr<spdy::SpdyFrame> resp4(ConstructSpdyGetSynReply(NULL, 0, 5)); 1071 scoped_ptr<spdy::SpdyFrame> resp4(ConstructSpdyGetSynReply(NULL, 0, 5));
1072 scoped_ptr<spdy::SpdyFrame> fbody4(ConstructSpdyBodyFrame(5, true)); 1072 scoped_ptr<spdy::SpdyFrame> fbody4(ConstructSpdyBodyFrame(5, true));
1073 1073
1074 scoped_ptr<spdy::SpdyFrame> req3(ConstructSpdyGet(NULL, 0, false, 7, LOWEST)); 1074 scoped_ptr<spdy::SpdyFrame> req3(ConstructSpdyGet(NULL, 0, false, 7, LOWEST));
1075 scoped_ptr<spdy::SpdyFrame> resp3(ConstructSpdyGetSynReply(NULL, 0, 7)); 1075 scoped_ptr<spdy::SpdyFrame> resp3(ConstructSpdyGetSynReply(NULL, 0, 7));
1076 scoped_ptr<spdy::SpdyFrame> body3(ConstructSpdyBodyFrame(7, false)); 1076 scoped_ptr<spdy::SpdyFrame> body3(ConstructSpdyBodyFrame(7, false));
1077 scoped_ptr<spdy::SpdyFrame> fbody3(ConstructSpdyBodyFrame(7, true)); 1077 scoped_ptr<spdy::SpdyFrame> fbody3(ConstructSpdyBodyFrame(7, true));
1078 1078
1079 1079
1080 spdy::SpdySettings settings; 1080 spdy::SpdySettings settings;
1081 spdy::SettingsFlagsAndId id(0); 1081 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; 1082 const size_t max_concurrent_streams = 1;
1084 1083
1085 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams)); 1084 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams));
1086 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings)); 1085 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings));
1087 1086
1088 MockWrite writes[] = { CreateMockWrite(*req), 1087 MockWrite writes[] = { CreateMockWrite(*req),
1089 CreateMockWrite(*req2), 1088 CreateMockWrite(*req2),
1090 CreateMockWrite(*req4), 1089 CreateMockWrite(*req4),
1091 CreateMockWrite(*req3), 1090 CreateMockWrite(*req3),
1092 }; 1091 };
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
1216 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); 1215 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1));
1217 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, false)); 1216 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, false));
1218 scoped_ptr<spdy::SpdyFrame> fbody(ConstructSpdyBodyFrame(1, true)); 1217 scoped_ptr<spdy::SpdyFrame> fbody(ConstructSpdyBodyFrame(1, true));
1219 1218
1220 scoped_ptr<spdy::SpdyFrame> req2(ConstructSpdyGet(NULL, 0, false, 3, LOWEST)); 1219 scoped_ptr<spdy::SpdyFrame> req2(ConstructSpdyGet(NULL, 0, false, 3, LOWEST));
1221 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3)); 1220 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3));
1222 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(3, false)); 1221 scoped_ptr<spdy::SpdyFrame> body2(ConstructSpdyBodyFrame(3, false));
1223 scoped_ptr<spdy::SpdyFrame> fbody2(ConstructSpdyBodyFrame(3, true)); 1222 scoped_ptr<spdy::SpdyFrame> fbody2(ConstructSpdyBodyFrame(3, true));
1224 1223
1225 spdy::SpdySettings settings; 1224 spdy::SpdySettings settings;
1226 spdy::SettingsFlagsAndId id(0); 1225 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; 1226 const size_t max_concurrent_streams = 1;
1229 1227
1230 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams)); 1228 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams));
1231 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings)); 1229 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings));
1232 1230
1233 MockWrite writes[] = { CreateMockWrite(*req), 1231 MockWrite writes[] = { CreateMockWrite(*req),
1234 CreateMockWrite(*req2), 1232 CreateMockWrite(*req2),
1235 }; 1233 };
1236 MockRead reads[] = { 1234 MockRead reads[] = {
1237 CreateMockRead(*settings_frame, 1), 1235 CreateMockRead(*settings_frame, 1),
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
1353 // Construct the request. 1351 // Construct the request.
1354 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST)); 1352 scoped_ptr<spdy::SpdyFrame> req(ConstructSpdyGet(NULL, 0, false, 1, LOWEST));
1355 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1)); 1353 scoped_ptr<spdy::SpdyFrame> resp(ConstructSpdyGetSynReply(NULL, 0, 1));
1356 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, false)); 1354 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, false));
1357 scoped_ptr<spdy::SpdyFrame> fin_body(ConstructSpdyBodyFrame(1, true)); 1355 scoped_ptr<spdy::SpdyFrame> fin_body(ConstructSpdyBodyFrame(1, true));
1358 1356
1359 scoped_ptr<spdy::SpdyFrame> req2(ConstructSpdyGet(NULL, 0, false, 3, LOWEST)); 1357 scoped_ptr<spdy::SpdyFrame> req2(ConstructSpdyGet(NULL, 0, false, 3, LOWEST));
1360 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3)); 1358 scoped_ptr<spdy::SpdyFrame> resp2(ConstructSpdyGetSynReply(NULL, 0, 3));
1361 1359
1362 spdy::SpdySettings settings; 1360 spdy::SpdySettings settings;
1363 spdy::SettingsFlagsAndId id(0); 1361 spdy::SettingsFlagsAndId id(0, spdy::SETTINGS_MAX_CONCURRENT_STREAMS);
1364 id.set_id(spdy::SETTINGS_MAX_CONCURRENT_STREAMS);
1365 const size_t max_concurrent_streams = 1; 1362 const size_t max_concurrent_streams = 1;
1366 1363
1367 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams)); 1364 settings.push_back(spdy::SpdySetting(id, max_concurrent_streams));
1368 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings)); 1365 scoped_ptr<spdy::SpdyFrame> settings_frame(ConstructSpdySettings(settings));
1369 1366
1370 MockWrite writes[] = { CreateMockWrite(*req), 1367 MockWrite writes[] = { CreateMockWrite(*req),
1371 CreateMockWrite(*req2), 1368 CreateMockWrite(*req2),
1372 }; 1369 };
1373 MockRead reads[] = { 1370 MockRead reads[] = {
1374 CreateMockRead(*settings_frame, 1), 1371 CreateMockRead(*settings_frame, 1),
(...skipping 3063 matching lines...) Expand 10 before | Expand all | Expand 10 after
4438 ConstructSpdyPacket(kSynReplyInfo, 4435 ConstructSpdyPacket(kSynReplyInfo,
4439 kExtraHeaders, 4436 kExtraHeaders,
4440 arraysize(kExtraHeaders) / 2, 4437 arraysize(kExtraHeaders) / 2,
4441 NULL, 4438 NULL,
4442 0)); 4439 0));
4443 4440
4444 unsigned int kSampleId1 = 0x1; 4441 unsigned int kSampleId1 = 0x1;
4445 unsigned int kSampleValue1 = 0x0a0a0a0a; 4442 unsigned int kSampleValue1 = 0x0a0a0a0a;
4446 unsigned int kSampleId2 = 0x2; 4443 unsigned int kSampleId2 = 0x2;
4447 unsigned int kSampleValue2 = 0x0b0b0b0b; 4444 unsigned int kSampleValue2 = 0x0b0b0b0b;
4448 unsigned int kSampleId3 = 0xababab; 4445 unsigned int kSampleId3 = 0x3;
4449 unsigned int kSampleValue3 = 0x0c0c0c0c; 4446 unsigned int kSampleValue3 = 0x0c0c0c0c;
4450 scoped_ptr<spdy::SpdyFrame> settings_frame; 4447 scoped_ptr<spdy::SpdyFrame> settings_frame;
4451 { 4448 {
4452 // Construct the SETTINGS frame. 4449 // Construct the SETTINGS frame.
4453 spdy::SpdySettings settings; 4450 spdy::SpdySettings settings;
4454 spdy::SettingsFlagsAndId setting(0);
4455 // First add a persisted setting 4451 // First add a persisted setting
4456 setting.set_flags(spdy::SETTINGS_FLAG_PLEASE_PERSIST); 4452 spdy::SettingsFlagsAndId setting1(spdy::SETTINGS_FLAG_PLEASE_PERSIST,
4457 setting.set_id(kSampleId1); 4453 kSampleId1);
4458 settings.push_back(std::make_pair(setting, kSampleValue1)); 4454 settings.push_back(std::make_pair(setting1, kSampleValue1));
4459 // Next add a non-persisted setting 4455 // Next add a non-persisted setting
4460 setting.set_flags(0); 4456 spdy::SettingsFlagsAndId setting2(0, kSampleId2);
4461 setting.set_id(kSampleId2); 4457 settings.push_back(std::make_pair(setting2, kSampleValue2));
4462 settings.push_back(std::make_pair(setting, kSampleValue2));
4463 // Next add another persisted setting 4458 // Next add another persisted setting
4464 setting.set_flags(spdy::SETTINGS_FLAG_PLEASE_PERSIST); 4459 spdy::SettingsFlagsAndId setting3(spdy::SETTINGS_FLAG_PLEASE_PERSIST,
4465 setting.set_id(kSampleId3); 4460 kSampleId3);
4466 settings.push_back(std::make_pair(setting, kSampleValue3)); 4461 settings.push_back(std::make_pair(setting3, kSampleValue3));
4467 settings_frame.reset(ConstructSpdySettings(settings)); 4462 settings_frame.reset(ConstructSpdySettings(settings));
4468 } 4463 }
4469 4464
4470 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true)); 4465 scoped_ptr<spdy::SpdyFrame> body(ConstructSpdyBodyFrame(1, true));
4471 MockRead reads[] = { 4466 MockRead reads[] = {
4472 CreateMockRead(*reply), 4467 CreateMockRead(*reply),
4473 CreateMockRead(*body), 4468 CreateMockRead(*body),
4474 CreateMockRead(*settings_frame), 4469 CreateMockRead(*settings_frame),
4475 MockRead(ASYNC, 0, 0) // EOF 4470 MockRead(ASYNC, 0, 0) // EOF
4476 }; 4471 };
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
4540 EXPECT_TRUE(spdy_session_pool->http_server_properties()->GetSpdySettings( 4535 EXPECT_TRUE(spdy_session_pool->http_server_properties()->GetSpdySettings(
4541 host_port_pair).empty()); 4536 host_port_pair).empty());
4542 4537
4543 unsigned int kSampleId1 = 0x1; 4538 unsigned int kSampleId1 = 0x1;
4544 unsigned int kSampleValue1 = 0x0a0a0a0a; 4539 unsigned int kSampleValue1 = 0x0a0a0a0a;
4545 unsigned int kSampleId2 = 0xababab; 4540 unsigned int kSampleId2 = 0xababab;
4546 unsigned int kSampleValue2 = 0x0c0c0c0c; 4541 unsigned int kSampleValue2 = 0x0c0c0c0c;
4547 // Manually insert settings into the SpdySettingsStorage here. 4542 // Manually insert settings into the SpdySettingsStorage here.
4548 { 4543 {
4549 spdy::SpdySettings settings; 4544 spdy::SpdySettings settings;
4550 spdy::SettingsFlagsAndId setting(0);
4551 // First add a persisted setting 4545 // First add a persisted setting
4552 setting.set_flags(spdy::SETTINGS_FLAG_PLEASE_PERSIST); 4546 spdy::SettingsFlagsAndId setting1(spdy::SETTINGS_FLAG_PLEASE_PERSIST,
4553 setting.set_id(kSampleId1); 4547 kSampleId1);
4554 settings.push_back(std::make_pair(setting, kSampleValue1)); 4548 settings.push_back(std::make_pair(setting1, kSampleValue1));
4555 // Next add another persisted setting 4549 // Next add another persisted setting
4556 setting.set_flags(spdy::SETTINGS_FLAG_PLEASE_PERSIST); 4550 spdy::SettingsFlagsAndId setting2(spdy::SETTINGS_FLAG_PLEASE_PERSIST,
4557 setting.set_id(kSampleId2); 4551 kSampleId2);
4558 settings.push_back(std::make_pair(setting, kSampleValue2)); 4552 settings.push_back(std::make_pair(setting2, kSampleValue2));
4559 4553
4560 spdy_session_pool->http_server_properties()->SetSpdySettings( 4554 spdy_session_pool->http_server_properties()->SetSpdySettings(
4561 host_port_pair, settings); 4555 host_port_pair, settings);
4562 } 4556 }
4563 4557
4564 EXPECT_EQ(2u, spdy_session_pool->http_server_properties()->GetSpdySettings( 4558 EXPECT_EQ(2u, spdy_session_pool->http_server_properties()->GetSpdySettings(
4565 host_port_pair).size()); 4559 host_port_pair).size());
4566 4560
4567 // Construct the SETTINGS frame. 4561 // Construct the SETTINGS frame.
4568 const spdy::SpdySettings& settings = 4562 const spdy::SpdySettings& settings =
(...skipping 1327 matching lines...) Expand 10 before | Expand all | Expand 10 after
5896 << " Write index: " 5890 << " Write index: "
5897 << data->write_index(); 5891 << data->write_index();
5898 5892
5899 // Verify the SYN_REPLY. 5893 // Verify the SYN_REPLY.
5900 HttpResponseInfo response = *trans->GetResponseInfo(); 5894 HttpResponseInfo response = *trans->GetResponseInfo();
5901 EXPECT_TRUE(response.headers != NULL); 5895 EXPECT_TRUE(response.headers != NULL);
5902 EXPECT_EQ("HTTP/1.1 200 OK", response.headers->GetStatusLine()); 5896 EXPECT_EQ("HTTP/1.1 200 OK", response.headers->GetStatusLine());
5903 } 5897 }
5904 5898
5905 } // namespace net 5899 } // namespace net
OLDNEW
« no previous file with comments | « net/spdy/spdy_http_stream_spdy3_unittest.cc ('k') | net/spdy/spdy_network_transaction_spdy2_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698