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

Unified Diff: net/spdy/spdy_network_transaction_unittest.cc

Issue 344253008: Stop using SpdySynReplyIR for SPDY 4. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Additional test fix & SpdyTestUtil cleanup. Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/spdy/spdy_framer_test.cc ('k') | net/spdy/spdy_proxy_client_socket_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/spdy/spdy_network_transaction_unittest.cc
diff --git a/net/spdy/spdy_network_transaction_unittest.cc b/net/spdy/spdy_network_transaction_unittest.cc
index f11cb656a9c372d94858c70ed960ad29a97e504a..a1971ecceea89ec7516118e9f2cf73fb1e56da7a 100644
--- a/net/spdy/spdy_network_transaction_unittest.cc
+++ b/net/spdy/spdy_network_transaction_unittest.cc
@@ -1699,27 +1699,8 @@ TEST_P(SpdyNetworkTransactionTest, Put) {
CreateMockWrite(*req),
};
+ scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1));
scoped_ptr<SpdyFrame> body(spdy_util_.ConstructSpdyBodyFrame(1, true));
- const SpdyHeaderInfo kSynReplyHeader = {
- SYN_REPLY, // Kind = SynReply
- 1, // Stream ID
- 0, // Associated stream ID
- ConvertRequestPriorityToSpdyPriority(
- LOWEST, spdy_util_.spdy_version()),
- kSpdyCredentialSlotUnused,
- CONTROL_FLAG_NONE, // Control Flags
- false, // Compressed
- RST_STREAM_INVALID, // Status
- NULL, // Data
- 0, // Length
- DATA_FLAG_NONE // Data Flags
- };
- scoped_ptr<SpdyHeaderBlock> reply_headers(new SpdyHeaderBlock());
- (*reply_headers)[spdy_util_.GetStatusKey()] = "200";
- (*reply_headers)[spdy_util_.GetVersionKey()] = "HTTP/1.1";
- (*reply_headers)["content-length"] = "1234";
- scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyFrame(
- kSynReplyHeader, reply_headers.Pass()));
MockRead reads[] = {
CreateMockRead(*resp),
CreateMockRead(*body),
@@ -1766,28 +1747,8 @@ TEST_P(SpdyNetworkTransactionTest, Head) {
CreateMockWrite(*req),
};
+ scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1));
scoped_ptr<SpdyFrame> body(spdy_util_.ConstructSpdyBodyFrame(1, true));
- const SpdyHeaderInfo kSynReplyHeader = {
- SYN_REPLY, // Kind = SynReply
- 1, // Stream ID
- 0, // Associated stream ID
- ConvertRequestPriorityToSpdyPriority(
- LOWEST, spdy_util_.spdy_version()),
- kSpdyCredentialSlotUnused,
- CONTROL_FLAG_NONE, // Control Flags
- false, // Compressed
- RST_STREAM_INVALID, // Status
- NULL, // Data
- 0, // Length
- DATA_FLAG_NONE // Data Flags
- };
- scoped_ptr<SpdyHeaderBlock> reply_headers(new SpdyHeaderBlock());
- (*reply_headers)[spdy_util_.GetStatusKey()] = "200";
- (*reply_headers)[spdy_util_.GetVersionKey()] = "HTTP/1.1";
- (*reply_headers)["content-length"] = "1234";
- scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyFrame(
- kSynReplyHeader,
- reply_headers.Pass()));
MockRead reads[] = {
CreateMockRead(*resp),
CreateMockRead(*body),
@@ -3371,23 +3332,8 @@ TEST_P(SpdyNetworkTransactionTest, SynReplyHeaders) {
// Verify that various SynReply headers parse vary fields correctly
// through the HTTP layer, and the response matches the request.
TEST_P(SpdyNetworkTransactionTest, SynReplyHeadersVary) {
- static const SpdyHeaderInfo syn_reply_info = {
- SYN_REPLY, // Syn Reply
- 1, // Stream ID
- 0, // Associated Stream ID
- ConvertRequestPriorityToSpdyPriority(
- LOWEST, spdy_util_.spdy_version()),
- kSpdyCredentialSlotUnused,
- CONTROL_FLAG_NONE, // Control Flags
- false, // Compressed
- RST_STREAM_INVALID, // Status
- NULL, // Data
- 0, // Data Length
- DATA_FLAG_NONE // Data Flags
- };
// Modify the following data to change/add test cases:
struct SynReplyTests {
- const SpdyHeaderInfo* syn_reply;
bool vary_matches;
int num_headers[2];
const char* extra_headers[2][16];
@@ -3395,7 +3341,6 @@ TEST_P(SpdyNetworkTransactionTest, SynReplyHeadersVary) {
// Test the case of a multi-valued cookie. When the value is delimited
// with NUL characters, it needs to be unfolded into multiple headers.
{
- &syn_reply_info,
true,
{ 1, 4 },
{ { "cookie", "val1,val2",
@@ -3409,7 +3354,6 @@ TEST_P(SpdyNetworkTransactionTest, SynReplyHeadersVary) {
}
}
}, { // Multiple vary fields.
- &syn_reply_info,
true,
{ 2, 5 },
{ { "friend", "barney",
@@ -3425,7 +3369,6 @@ TEST_P(SpdyNetworkTransactionTest, SynReplyHeadersVary) {
}
}
}, { // Test a '*' vary field.
- &syn_reply_info,
false,
{ 1, 4 },
{ { "cookie", "val1,val2",
@@ -3439,7 +3382,6 @@ TEST_P(SpdyNetworkTransactionTest, SynReplyHeadersVary) {
}
}
}, { // Multiple comma-separated vary fields.
- &syn_reply_info,
true,
{ 2, 4 },
{ { "friend", "barney",
@@ -3468,12 +3410,12 @@ TEST_P(SpdyNetworkTransactionTest, SynReplyHeadersVary) {
};
// Construct the reply.
+ SpdyHeaderBlock reply_headers;
+ AppendToHeaderBlock(test_cases[i].extra_headers[1],
+ test_cases[i].num_headers[1],
+ &reply_headers);
scoped_ptr<SpdyFrame> frame_reply(
- spdy_util_.ConstructSpdyFrame(*test_cases[i].syn_reply,
- test_cases[i].extra_headers[1],
- test_cases[i].num_headers[1],
- NULL,
- 0));
+ spdy_util_.ConstructSpdyReply(1, reply_headers));
scoped_ptr<SpdyFrame> body(spdy_util_.ConstructSpdyBodyFrame(1, true));
MockRead reads[] = {
@@ -3528,10 +3470,6 @@ TEST_P(SpdyNetworkTransactionTest, SynReplyHeadersVary) {
}
// Construct the expected header reply string.
- SpdyHeaderBlock reply_headers;
- AppendToHeaderBlock(test_cases[i].extra_headers[1],
- test_cases[i].num_headers[1],
- &reply_headers);
std::string expected_reply =
spdy_util_.ConstructSpdyReplyString(reply_headers);
EXPECT_EQ(expected_reply, lines) << i;
@@ -3540,21 +3478,6 @@ TEST_P(SpdyNetworkTransactionTest, SynReplyHeadersVary) {
// Verify that we don't crash on invalid SynReply responses.
TEST_P(SpdyNetworkTransactionTest, InvalidSynReply) {
- const SpdyHeaderInfo kSynStartHeader = {
- SYN_REPLY, // Kind = SynReply
- 1, // Stream ID
- 0, // Associated stream ID
- ConvertRequestPriorityToSpdyPriority(
- LOWEST, spdy_util_.spdy_version()),
- kSpdyCredentialSlotUnused,
- CONTROL_FLAG_NONE, // Control Flags
- false, // Compressed
- RST_STREAM_INVALID, // Status
- NULL, // Data
- 0, // Length
- DATA_FLAG_NONE // Data Flags
- };
-
struct InvalidSynReplyTests {
int num_headers;
const char* headers[10];
@@ -3589,12 +3512,11 @@ TEST_P(SpdyNetworkTransactionTest, InvalidSynReply) {
CreateMockWrite(*rst),
};
- scoped_ptr<SpdyFrame> resp(
- spdy_util_.ConstructSpdyFrame(kSynStartHeader,
- NULL, 0,
- test_cases[i].headers,
- test_cases[i].num_headers));
- scoped_ptr<SpdyFrame> body(spdy_util_.ConstructSpdyBodyFrame(1, true));
+ // Construct the reply.
+ SpdyHeaderBlock reply_headers;
+ AppendToHeaderBlock(
+ test_cases[i].headers, test_cases[i].num_headers, &reply_headers);
+ scoped_ptr<SpdyFrame> resp(spdy_util_.ConstructSpdyReply(1, reply_headers));
MockRead reads[] = {
CreateMockRead(*resp),
MockRead(ASYNC, 0, 0) // EOF
@@ -4131,22 +4053,13 @@ TEST_P(SpdyNetworkTransactionTest, BufferedAll) {
MockWrite writes[] = { CreateMockWrite(*req) };
// 5 data frames in a single read.
- SpdySynReplyIR reply_ir(1);
- reply_ir.SetHeader(spdy_util_.GetStatusKey(), "200");
- reply_ir.SetHeader(spdy_util_.GetVersionKey(), "HTTP/1.1");
-
- scoped_ptr<SpdyFrame> syn_reply(framer.SerializeFrame(reply_ir));
+ scoped_ptr<SpdyFrame> reply(spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1));
scoped_ptr<SpdyFrame> data_frame(
framer.CreateDataFrame(1, "message", 7, DATA_FLAG_NONE));
scoped_ptr<SpdyFrame> data_frame_fin(
framer.CreateDataFrame(1, "message", 7, DATA_FLAG_FIN));
- const SpdyFrame* frames[5] = {
- syn_reply.get(),
- data_frame.get(),
- data_frame.get(),
- data_frame.get(),
- data_frame_fin.get()
- };
+ const SpdyFrame* frames[5] = {reply.get(), data_frame.get(), data_frame.get(),
+ data_frame.get(), data_frame_fin.get()};
char combined_frames[200];
int combined_frames_len =
CombineFrames(frames, arraysize(frames),
@@ -4379,8 +4292,7 @@ TEST_P(SpdyNetworkTransactionTest, BufferedCancelled) {
// the settings in the HttpServerProperties.
TEST_P(SpdyNetworkTransactionTest, SettingsSaved) {
if (spdy_util_.spdy_version() >= SPDY4) {
- // SPDY4 doesn't support flags on individual settings, and
- // has no concept of settings persistence.
+ // SPDY4 doesn't support settings persistence.
return;
}
static const SpdyHeaderInfo kSynReplyInfo = {
@@ -4487,7 +4399,10 @@ TEST_P(SpdyNetworkTransactionTest, SettingsSaved) {
// Test that when there are settings saved that they are sent back to the
// server upon session establishment.
TEST_P(SpdyNetworkTransactionTest, SettingsPlayback) {
- // TODO(jgraettinger): Remove settings persistence mechanisms altogether.
+ if (spdy_util_.spdy_version() >= SPDY4) {
+ // SPDY4 doesn't support settings persistence.
+ return;
+ }
static const SpdyHeaderInfo kSynReplyInfo = {
SYN_REPLY, // Syn Reply
1, // Stream ID
@@ -5615,21 +5530,11 @@ TEST_P(SpdyNetworkTransactionTest, SynReplyWithHeaders) {
scoped_ptr<SpdyFrame> rst(
spdy_util_.ConstructSpdyRstStream(1, RST_STREAM_PROTOCOL_ERROR));
MockWrite writes[] = {
- CreateMockWrite(*req),
- CreateMockWrite(*rst),
- };
+ CreateMockWrite(*req), CreateMockWrite(*rst),
+ };
- scoped_ptr<SpdyHeaderBlock> initial_headers(new SpdyHeaderBlock());
- (*initial_headers)[spdy_util_.GetStatusKey()] = "200 OK";
- (*initial_headers)[spdy_util_.GetVersionKey()] = "HTTP/1.1";
scoped_ptr<SpdyFrame> stream1_reply(
- spdy_util_.ConstructSpdyControlFrame(initial_headers.Pass(),
- false,
- 1,
- LOWEST,
- SYN_REPLY,
- CONTROL_FLAG_NONE,
- 0));
+ spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1));
scoped_ptr<SpdyHeaderBlock> late_headers(new SpdyHeaderBlock());
(*late_headers)["hello"] = "bye";
@@ -5669,17 +5574,8 @@ TEST_P(SpdyNetworkTransactionTest, SynReplyWithLateHeaders) {
CreateMockWrite(*rst),
};
- scoped_ptr<SpdyHeaderBlock> initial_headers(new SpdyHeaderBlock());
- (*initial_headers)[spdy_util_.GetStatusKey()] = "200 OK";
- (*initial_headers)[spdy_util_.GetVersionKey()] = "HTTP/1.1";
scoped_ptr<SpdyFrame> stream1_reply(
- spdy_util_.ConstructSpdyControlFrame(initial_headers.Pass(),
- false,
- 1,
- LOWEST,
- SYN_REPLY,
- CONTROL_FLAG_NONE,
- 0));
+ spdy_util_.ConstructSpdyGetSynReply(NULL, 0, 1));
scoped_ptr<SpdyHeaderBlock> late_headers(new SpdyHeaderBlock());
(*late_headers)["hello"] = "bye";
« no previous file with comments | « net/spdy/spdy_framer_test.cc ('k') | net/spdy/spdy_proxy_client_socket_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698