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

Unified Diff: net/tools/flip_server/spdy_interface_test.cc

Issue 2102253003: Make SpdyHeaderBlock non-copyable. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: iOS fix. Created 4 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/tools/flip_server/spdy_interface.cc ('k') | net/tools/quic/end_to_end_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/tools/flip_server/spdy_interface_test.cc
diff --git a/net/tools/flip_server/spdy_interface_test.cc b/net/tools/flip_server/spdy_interface_test.cc
index d5d657586ecfcaa29013aba7c04ce4950e942f0b..a62da42dd6befeb9fc29249edcac04bafd88bec0 100644
--- a/net/tools/flip_server/spdy_interface_test.cc
+++ b/net/tools/flip_server/spdy_interface_test.cc
@@ -49,15 +49,44 @@ class SpdyFramerVisitor : public BufferedSpdyFramerVisitorInterface {
virtual ~SpdyFramerVisitor() {}
MOCK_METHOD1(OnError, void(SpdyFramer::SpdyError));
MOCK_METHOD2(OnStreamError, void(SpdyStreamId, const std::string&));
- MOCK_METHOD6(OnSynStream,
+ // SaveArg cannot be used on non-copyable types like SpdyHeaderBlock.
+ void OnSynStream(SpdyStreamId stream_id,
+ SpdyStreamId associated_stream_id,
+ SpdyPriority priority,
+ bool fin,
+ bool unidirectional,
+ const SpdyHeaderBlock& headers) override {
+ actual_header_block_ = headers.Clone();
+ OnSynStreamMock(stream_id, associated_stream_id, priority, fin,
+ unidirectional, headers);
+ }
+ MOCK_METHOD6(OnSynStreamMock,
void(SpdyStreamId,
SpdyStreamId,
SpdyPriority,
bool,
bool,
const SpdyHeaderBlock&));
- MOCK_METHOD3(OnSynReply, void(SpdyStreamId, bool, const SpdyHeaderBlock&));
- MOCK_METHOD7(OnHeaders,
+ void OnSynReply(SpdyStreamId stream_id,
+ bool fin,
+ const SpdyHeaderBlock& headers) override {
+ actual_header_block_ = headers.Clone();
+ OnSynReplyMock(stream_id, fin, headers);
+ }
+ MOCK_METHOD3(OnSynReplyMock,
+ void(SpdyStreamId, bool, const SpdyHeaderBlock&));
+ void OnHeaders(SpdyStreamId stream_id,
+ bool has_priority,
+ int weight,
+ SpdyStreamId parent_stream_id,
+ bool exclusive,
+ bool fin,
+ const SpdyHeaderBlock& headers) override {
+ actual_header_block_ = headers.Clone();
+ OnHeadersMock(stream_id, has_priority, weight, parent_stream_id, exclusive,
+ fin, headers);
+ }
+ MOCK_METHOD7(OnHeadersMock,
void(SpdyStreamId stream_id,
bool has_priority,
int weight,
@@ -86,6 +115,8 @@ class SpdyFramerVisitor : public BufferedSpdyFramerVisitorInterface {
base::StringPiece,
const SpdyAltSvcWireFormat::AlternativeServiceVector&));
MOCK_METHOD2(OnUnknownFrame, bool(SpdyStreamId stream_id, int frame_type));
+
+ SpdyHeaderBlock actual_header_block_;
};
class FakeSMConnection : public SMConnection {
@@ -366,7 +397,6 @@ TEST_P(SpdySMProxyTest, AddToOutputOrder) {
TEST_P(SpdySMProxyTest, SendErrorNotFound) {
uint32_t stream_id = 82;
- SpdyHeaderBlock actual_header_block;
const char* actual_data;
size_t actual_size;
testing::MockFunction<void(int)> checkpoint; // NOLINT
@@ -378,14 +408,11 @@ TEST_P(SpdySMProxyTest, SendErrorNotFound) {
{
InSequence s;
if (GetParam() < HTTP2) {
- EXPECT_CALL(*spdy_framer_visitor_,
- OnSynReply(stream_id, false, _))
- .WillOnce(SaveArg<2>(&actual_header_block));
+ EXPECT_CALL(*spdy_framer_visitor_, OnSynReplyMock(stream_id, false, _));
} else {
EXPECT_CALL(*spdy_framer_visitor_,
- OnHeaders(stream_id, /*has_priority=*/false, _, _, _,
- /*fin=*/false, _))
- .WillOnce(SaveArg<6>(&actual_header_block));
+ OnHeadersMock(stream_id, /*has_priority=*/false, _, _, _,
+ /*fin=*/false, _));
}
EXPECT_CALL(checkpoint, Call(0));
EXPECT_CALL(*spdy_framer_visitor_,
@@ -405,16 +432,16 @@ TEST_P(SpdySMProxyTest, SendErrorNotFound) {
spdy_framer_->ProcessInput(df->data, df->size);
ASSERT_EQ(2, spdy_framer_->frames_received());
- ASSERT_EQ(2u, actual_header_block.size());
- ASSERT_EQ("404 Not Found", actual_header_block[":status"]);
- ASSERT_EQ("HTTP/1.1", actual_header_block[":version"]);
+ ASSERT_EQ(2u, spdy_framer_visitor_->actual_header_block_.size());
+ ASSERT_EQ("404 Not Found",
+ spdy_framer_visitor_->actual_header_block_[":status"]);
+ ASSERT_EQ("HTTP/1.1", spdy_framer_visitor_->actual_header_block_[":version"]);
ASSERT_EQ("wtf?", StringPiece(actual_data, actual_size));
}
TEST_P(SpdySMProxyTest, SendSynStream) {
uint32_t stream_id = 82;
BalsaHeaders headers;
- SpdyHeaderBlock actual_header_block;
headers.AppendHeader("key1", "value1");
headers.AppendHeader("Host", "www.example.com");
headers.SetRequestFirstlineFromStringPieces("GET", "/path", "HTTP/1.1");
@@ -428,24 +455,23 @@ TEST_P(SpdySMProxyTest, SendSynStream) {
{
InSequence s;
EXPECT_CALL(*spdy_framer_visitor_,
- OnSynStream(stream_id, 0, _, false, false, _))
- .WillOnce(SaveArg<5>(&actual_header_block));
+ OnSynStreamMock(stream_id, 0, _, false, false, _));
}
spdy_framer_->ProcessInput(df->data, df->size);
ASSERT_EQ(1, spdy_framer_->frames_received());
- ASSERT_EQ(5u, actual_header_block.size());
- ASSERT_EQ("GET", actual_header_block[":method"]);
- ASSERT_EQ("HTTP/1.1", actual_header_block[":version"]);
- ASSERT_EQ("/path", actual_header_block[":path"]);
- ASSERT_EQ("www.example.com", actual_header_block[":host"]);
- ASSERT_EQ("value1", actual_header_block["key1"]);
+ ASSERT_EQ(5u, spdy_framer_visitor_->actual_header_block_.size());
+ ASSERT_EQ("GET", spdy_framer_visitor_->actual_header_block_[":method"]);
+ ASSERT_EQ("HTTP/1.1", spdy_framer_visitor_->actual_header_block_[":version"]);
+ ASSERT_EQ("/path", spdy_framer_visitor_->actual_header_block_[":path"]);
+ ASSERT_EQ("www.example.com",
+ spdy_framer_visitor_->actual_header_block_[":host"]);
+ ASSERT_EQ("value1", spdy_framer_visitor_->actual_header_block_["key1"]);
}
TEST_P(SpdySMProxyTest, SendSynReply) {
uint32_t stream_id = 82;
BalsaHeaders headers;
- SpdyHeaderBlock actual_header_block;
headers.AppendHeader("key1", "value1");
headers.SetResponseFirstlineFromStringPieces("HTTP/1.1", "200", "OK");
@@ -458,22 +484,20 @@ TEST_P(SpdySMProxyTest, SendSynReply) {
{
InSequence s;
if (GetParam() < HTTP2) {
- EXPECT_CALL(*spdy_framer_visitor_, OnSynReply(stream_id, false, _))
- .WillOnce(SaveArg<2>(&actual_header_block));
+ EXPECT_CALL(*spdy_framer_visitor_, OnSynReplyMock(stream_id, false, _));
} else {
EXPECT_CALL(*spdy_framer_visitor_,
- OnHeaders(stream_id, /*has_priority=*/false, _, _, _,
- /*fin=*/false, _))
- .WillOnce(SaveArg<6>(&actual_header_block));
+ OnHeadersMock(stream_id, /*has_priority=*/false, _, _, _,
+ /*fin=*/false, _));
}
}
spdy_framer_->ProcessInput(df->data, df->size);
ASSERT_EQ(1, spdy_framer_->frames_received());
- ASSERT_EQ(3u, actual_header_block.size());
- ASSERT_EQ("200 OK", actual_header_block[":status"]);
- ASSERT_EQ("HTTP/1.1", actual_header_block[":version"]);
- ASSERT_EQ("value1", actual_header_block["key1"]);
+ ASSERT_EQ(3u, spdy_framer_visitor_->actual_header_block_.size());
+ ASSERT_EQ("200 OK", spdy_framer_visitor_->actual_header_block_[":status"]);
+ ASSERT_EQ("HTTP/1.1", spdy_framer_visitor_->actual_header_block_[":version"]);
+ ASSERT_EQ("value1", spdy_framer_visitor_->actual_header_block_["key1"]);
}
TEST_P(SpdySMProxyTest, SendDataFrame) {
@@ -571,7 +595,6 @@ TEST_P(SpdySMServerTest, NewStream) {
TEST_P(SpdySMServerTest, NewStreamError) {
uint32_t stream_id = 82;
- SpdyHeaderBlock actual_header_block;
const char* actual_data;
size_t actual_size;
testing::MockFunction<void(int)> checkpoint; // NOLINT
@@ -583,13 +606,11 @@ TEST_P(SpdySMServerTest, NewStreamError) {
{
InSequence s;
if (GetParam() < HTTP2) {
- EXPECT_CALL(*spdy_framer_visitor_, OnSynReply(stream_id, false, _))
- .WillOnce(SaveArg<2>(&actual_header_block));
+ EXPECT_CALL(*spdy_framer_visitor_, OnSynReplyMock(stream_id, false, _));
} else {
EXPECT_CALL(*spdy_framer_visitor_,
- OnHeaders(stream_id, /*has_priority=*/false, _, _, _,
- /*fin=*/false, _))
- .WillOnce(SaveArg<6>(&actual_header_block));
+ OnHeadersMock(stream_id, /*has_priority=*/false, _, _, _,
+ /*fin=*/false, _));
}
EXPECT_CALL(checkpoint, Call(0));
EXPECT_CALL(*spdy_framer_visitor_,
@@ -609,9 +630,10 @@ TEST_P(SpdySMServerTest, NewStreamError) {
spdy_framer_->ProcessInput(df->data, df->size);
ASSERT_EQ(2, spdy_framer_->frames_received());
- ASSERT_EQ(2u, actual_header_block.size());
- ASSERT_EQ("404 Not Found", actual_header_block["status"]);
- ASSERT_EQ("HTTP/1.1", actual_header_block["version"]);
+ ASSERT_EQ(2u, spdy_framer_visitor_->actual_header_block_.size());
+ ASSERT_EQ("404 Not Found",
+ spdy_framer_visitor_->actual_header_block_["status"]);
+ ASSERT_EQ("HTTP/1.1", spdy_framer_visitor_->actual_header_block_["version"]);
ASSERT_EQ("wtf?", StringPiece(actual_data, actual_size));
}
« no previous file with comments | « net/tools/flip_server/spdy_interface.cc ('k') | net/tools/quic/end_to_end_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698