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

Unified Diff: net/tools/quic/quic_spdy_server_stream_test.cc

Issue 999353005: Land Recent QUIC Changes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: wrap Created 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/tools/quic/quic_spdy_server_stream.cc ('k') | net/tools/quic/quic_time_wait_list_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 0691f113360cebf24d6e529364c24e746907718a..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.
@@ -91,49 +93,30 @@ class QuicSpdyServerStreamTest : public ::testing::TestWithParam<QuicVersion> {
session_.config()->SetInitialSessionFlowControlWindowToSend(
kInitialSessionFlowControlWindowForTest);
stream_.reset(new QuicSpdyServerStreamPeer(3, &session_));
- }
- static void SetUpTestCase() {
QuicInMemoryCachePeer::ResetForTests();
- }
-
- void SetUp() override {
- QuicInMemoryCache* cache = QuicInMemoryCache::GetInstance();
-
- BalsaHeaders response_headers;
- StringPiece body("Yum");
- response_headers.SetRequestFirstlineFromStringPieces("HTTP/1.1",
- "200",
- "OK");
- response_headers.AppendHeader("content-length",
- base::IntToString(body.length()));
string host = "";
string path = "/foo";
- // Check if response already exists and matches.
- const QuicInMemoryCache::Response* cached_response =
- cache->GetResponse(host, path);
- if (cached_response != nullptr) {
- string cached_response_headers_str, response_headers_str;
- cached_response->headers().DumpToString(&cached_response_headers_str);
- response_headers.DumpToString(&response_headers_str);
- CHECK_EQ(cached_response_headers_str, response_headers_str);
- CHECK_EQ(cached_response->body(), body);
- return;
- }
-
- cache->AddResponse(host, path, response_headers, body);
+ SpdyHeaderBlock response_headers;
+ StringPiece body("Yum");
+ QuicInMemoryCache::GetInstance()->AddResponse(host, path, response_headers,
+ body);
+ }
+
+ ~QuicSpdyServerStreamTest() override {
+ QuicInMemoryCachePeer::ResetForTests();
}
const string& StreamBody() {
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_;
@@ -158,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());
}
@@ -172,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());
}
@@ -189,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));
@@ -221,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));
« no previous file with comments | « net/tools/quic/quic_spdy_server_stream.cc ('k') | net/tools/quic/quic_time_wait_list_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698