Index: net/tools/quic/quic_spdy_server_stream_test.cc |
diff --git a/net/tools/quic/quic_spdy_server_stream_test.cc b/net/tools/quic/quic_spdy_server_stream_test.cc |
index 9db838a93b35d00f514d6afd22ffdf6bc8ea6a04..bd9e5578173435713497c13b073e33e570196032 100644 |
--- a/net/tools/quic/quic_spdy_server_stream_test.cc |
+++ b/net/tools/quic/quic_spdy_server_stream_test.cc |
@@ -46,8 +46,8 @@ class QuicSpdyServerStreamPeer : public QuicSpdyServerStream { |
using QuicSpdyServerStream::SendResponse; |
using QuicSpdyServerStream::SendErrorResponse; |
- BalsaHeaders* mutable_headers() { |
- return &headers_; |
+ SpdyHeaderBlock* mutable_headers() { |
+ return &request_headers_; |
} |
static void SendResponse(QuicSpdyServerStream* stream) { |
@@ -62,8 +62,8 @@ class QuicSpdyServerStreamPeer : public QuicSpdyServerStream { |
return stream->body_; |
} |
- static const BalsaHeaders& headers(QuicSpdyServerStream* stream) { |
- return stream->headers_; |
+ static const SpdyHeaderBlock& headers(QuicSpdyServerStream* stream) { |
+ return stream->request_headers_; |
} |
}; |
@@ -77,12 +77,14 @@ class QuicSpdyServerStreamTest : public ::testing::TestWithParam<QuicVersion> { |
SupportedVersions(GetParam()))), |
session_(connection_), |
body_("hello world") { |
- BalsaHeaders request_headers; |
- request_headers.SetRequestFirstlineFromStringPieces( |
- "POST", "https://www.google.com/", "HTTP/1.1"); |
- request_headers.ReplaceOrAppendHeader("content-length", "11"); |
+ SpdyHeaderBlock request_headers; |
+ request_headers[":host"] = ""; |
+ request_headers[":path"] = "/"; |
+ request_headers[":method"] = "POST"; |
+ request_headers[":version"] = "HTTP/1.1"; |
+ request_headers["content-length"] = "11"; |
- headers_string_ = SpdyUtils::SerializeRequestHeaders(request_headers); |
+ headers_string_ = SpdyUtils::SerializeUncompressedHeaders(request_headers); |
// New streams rely on having the peer's flow control receive window |
// negotiated in the config. |
@@ -93,6 +95,7 @@ class QuicSpdyServerStreamTest : public ::testing::TestWithParam<QuicVersion> { |
stream_.reset(new QuicSpdyServerStreamPeer(3, &session_)); |
QuicInMemoryCachePeer::ResetForTests(); |
+ |
string host = ""; |
string path = "/foo"; |
SpdyHeaderBlock response_headers; |
@@ -109,11 +112,11 @@ class QuicSpdyServerStreamTest : public ::testing::TestWithParam<QuicVersion> { |
return QuicSpdyServerStreamPeer::body(stream_.get()); |
} |
- const BalsaHeaders& StreamHeaders() { |
- return QuicSpdyServerStreamPeer::headers(stream_.get()); |
+ const string& StreamHeadersValue(const string& key) { |
+ return (*stream_->mutable_headers())[key]; |
} |
- BalsaHeaders response_headers_; |
+ SpdyHeaderBlock response_headers_; |
EpollServer eps_; |
StrictMock<MockConnection>* connection_; |
StrictMock<MockSession> session_; |
@@ -138,13 +141,12 @@ INSTANTIATE_TEST_CASE_P(Tests, QuicSpdyServerStreamTest, |
TEST_P(QuicSpdyServerStreamTest, TestFraming) { |
EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)).Times(AnyNumber()). |
WillRepeatedly(Invoke(ConsumeAllData)); |
- |
- EXPECT_EQ(headers_string_.size(), stream_->ProcessData( |
- headers_string_.c_str(), headers_string_.size())); |
+ stream_->OnStreamHeaders(headers_string_); |
+ stream_->OnStreamHeadersComplete(false, headers_string_.size()); |
EXPECT_EQ(body_.size(), stream_->ProcessData(body_.c_str(), body_.size())); |
- EXPECT_EQ(11u, StreamHeaders().content_length()); |
- EXPECT_EQ("https://www.google.com/", StreamHeaders().request_uri()); |
- EXPECT_EQ("POST", StreamHeaders().request_method()); |
+ EXPECT_EQ("11", StreamHeadersValue("content-length")); |
+ EXPECT_EQ("/", StreamHeadersValue(":path")); |
+ EXPECT_EQ("POST", StreamHeadersValue(":method")); |
EXPECT_EQ(body_, StreamBody()); |
} |
@@ -152,13 +154,12 @@ TEST_P(QuicSpdyServerStreamTest, TestFramingOnePacket) { |
EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)).Times(AnyNumber()). |
WillRepeatedly(Invoke(ConsumeAllData)); |
- string message = headers_string_ + body_; |
- |
- EXPECT_EQ(message.size(), stream_->ProcessData( |
- message.c_str(), message.size())); |
- EXPECT_EQ(11u, StreamHeaders().content_length()); |
- EXPECT_EQ("https://www.google.com/", StreamHeaders().request_uri()); |
- EXPECT_EQ("POST", StreamHeaders().request_method()); |
+ stream_->OnStreamHeaders(headers_string_); |
+ stream_->OnStreamHeadersComplete(false, headers_string_.size()); |
+ EXPECT_EQ(body_.size(), stream_->ProcessData(body_.c_str(), body_.size())); |
+ EXPECT_EQ("11", StreamHeadersValue("content-length")); |
+ EXPECT_EQ("/", StreamHeadersValue(":path")); |
+ EXPECT_EQ("POST", StreamHeadersValue(":method")); |
EXPECT_EQ(body_, StreamBody()); |
} |
@@ -169,26 +170,27 @@ TEST_P(QuicSpdyServerStreamTest, TestFramingExtraData) { |
EXPECT_CALL(session_, WritevData(_, _, _, _, _, _)).Times(AnyNumber()). |
WillRepeatedly(Invoke(ConsumeAllData)); |
- EXPECT_EQ(headers_string_.size(), stream_->ProcessData( |
- headers_string_.c_str(), headers_string_.size())); |
+ stream_->OnStreamHeaders(headers_string_); |
+ stream_->OnStreamHeadersComplete(false, headers_string_.size()); |
+ EXPECT_EQ(body_.size(), stream_->ProcessData(body_.c_str(), body_.size())); |
// Content length is still 11. This will register as an error and we won't |
// accept the bytes. |
stream_->ProcessData(large_body.c_str(), large_body.size()); |
- EXPECT_EQ(11u, StreamHeaders().content_length()); |
- EXPECT_EQ("https://www.google.com/", StreamHeaders().request_uri()); |
- EXPECT_EQ("POST", StreamHeaders().request_method()); |
+ EXPECT_EQ("11", StreamHeadersValue("content-length")); |
+ EXPECT_EQ("/", StreamHeadersValue(":path")); |
+ EXPECT_EQ("POST", StreamHeadersValue(":method")); |
} |
TEST_P(QuicSpdyServerStreamTest, TestSendResponse) { |
- BalsaHeaders* request_headers = stream_->mutable_headers(); |
- request_headers->SetRequestFirstlineFromStringPieces( |
- "GET", |
- "https://www.google.com/foo", |
- "HTTP/1.1"); |
+ SpdyHeaderBlock* request_headers = stream_->mutable_headers(); |
+ (*request_headers)[":path"] = "/foo"; |
+ (*request_headers)[":host"] = ""; |
+ (*request_headers)[":version"] = "HTTP/1.1"; |
+ (*request_headers)[":method"] = "GET"; |
- response_headers_.SetResponseFirstlineFromStringPieces( |
- "HTTP/1.1", "200", "OK"); |
- response_headers_.ReplaceOrAppendHeader("content-length", "3"); |
+ response_headers_[":version"] = "HTTP/1.1"; |
+ response_headers_[":status"] = "200 OK"; |
+ response_headers_["content-length"] = "3"; |
InSequence s; |
EXPECT_CALL(session_, WritevData(kHeadersStreamId, _, 0, false, _, nullptr)); |
@@ -201,9 +203,9 @@ TEST_P(QuicSpdyServerStreamTest, TestSendResponse) { |
} |
TEST_P(QuicSpdyServerStreamTest, TestSendErrorResponse) { |
- response_headers_.SetResponseFirstlineFromStringPieces( |
- "HTTP/1.1", "500", "Server Error"); |
- response_headers_.ReplaceOrAppendHeader("content-length", "3"); |
+ response_headers_[":version"] = "HTTP/1.1"; |
+ response_headers_[":status"] = "500 Server Error"; |
+ response_headers_["content-length"] = "3"; |
InSequence s; |
EXPECT_CALL(session_, WritevData(kHeadersStreamId, _, 0, false, _, nullptr)); |