Index: net/http/http_stream_parser_unittest.cc |
diff --git a/net/http/http_stream_parser_unittest.cc b/net/http/http_stream_parser_unittest.cc |
index 00119b3c5147ef0c3f3d4b62e7c7a97c4984a6de..f2a1f13d2983bee3935f4cfa29eaa2da2b81193a 100644 |
--- a/net/http/http_stream_parser_unittest.cc |
+++ b/net/http/http_stream_parser_unittest.cc |
@@ -34,9 +34,14 @@ |
#include "net/http/http_response_info.h" |
#include "net/socket/client_socket_handle.h" |
#include "net/socket/socket_test_util.h" |
+#include "net/test/gtest_util.h" |
+#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "url/gurl.h" |
+using net::test::IsError; |
+using net::test::IsOk; |
+ |
namespace net { |
namespace { |
@@ -56,7 +61,7 @@ std::unique_ptr<ClientSocketHandle> CreateConnectedSocketHandle( |
new MockTCPClientSocket(net::AddressList(), nullptr, data)); |
TestCompletionCallback callback; |
- EXPECT_EQ(OK, socket->Connect(callback.callback())); |
+ EXPECT_THAT(socket->Connect(callback.callback()), IsOk()); |
std::unique_ptr<ClientSocketHandle> socket_handle(new ClientSocketHandle); |
socket_handle->SetSocket(std::move(socket)); |
@@ -107,7 +112,8 @@ TEST(HttpStreamParser, DataReadErrorSynchronous) { |
ReadErrorUploadDataStream upload_data_stream( |
ReadErrorUploadDataStream::FailureMode::SYNC); |
- ASSERT_EQ(OK, upload_data_stream.Init(TestCompletionCallback().callback())); |
+ ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback()), |
+ IsOk()); |
HttpRequestInfo request; |
request.method = "POST"; |
@@ -125,7 +131,7 @@ TEST(HttpStreamParser, DataReadErrorSynchronous) { |
TestCompletionCallback callback; |
int result = parser.SendRequest("POST / HTTP/1.1\r\n", headers, &response, |
callback.callback()); |
- EXPECT_EQ(ERR_FAILED, callback.GetResult(result)); |
+ EXPECT_THAT(callback.GetResult(result), IsError(ERR_FAILED)); |
EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), parser.sent_bytes()); |
} |
@@ -142,7 +148,8 @@ TEST(HttpStreamParser, DataReadErrorAsynchronous) { |
ReadErrorUploadDataStream upload_data_stream( |
ReadErrorUploadDataStream::FailureMode::ASYNC); |
- ASSERT_EQ(OK, upload_data_stream.Init(TestCompletionCallback().callback())); |
+ ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback()), |
+ IsOk()); |
HttpRequestInfo request; |
request.method = "POST"; |
@@ -160,9 +167,9 @@ TEST(HttpStreamParser, DataReadErrorAsynchronous) { |
TestCompletionCallback callback; |
int result = parser.SendRequest("POST / HTTP/1.1\r\n", headers, &response, |
callback.callback()); |
- EXPECT_EQ(ERR_IO_PENDING, result); |
+ EXPECT_THAT(result, IsError(ERR_IO_PENDING)); |
- EXPECT_EQ(ERR_FAILED, callback.GetResult(result)); |
+ EXPECT_THAT(callback.GetResult(result), IsError(ERR_FAILED)); |
EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), parser.sent_bytes()); |
} |
@@ -221,7 +228,7 @@ TEST(HttpStreamParser, EncodeChunk_TooLargePayload) { |
const std::string kPayload(kMaxPayloadSize + 1, '\xff'); |
const int num_bytes_written = |
HttpStreamParser::EncodeChunk(kPayload, output, sizeof(output)); |
- ASSERT_EQ(ERR_INVALID_ARGUMENT, num_bytes_written); |
+ ASSERT_THAT(num_bytes_written, IsError(ERR_INVALID_ARGUMENT)); |
} |
TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_NoBody) { |
@@ -234,7 +241,7 @@ TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_EmptyBody) { |
std::vector<std::unique_ptr<UploadElementReader>> element_readers; |
std::unique_ptr<UploadDataStream> body(base::WrapUnique( |
new ElementsUploadDataStream(std::move(element_readers), 0))); |
- ASSERT_EQ(OK, body->Init(CompletionCallback())); |
+ ASSERT_THAT(body->Init(CompletionCallback()), IsOk()); |
// Shouldn't be merged if upload data is empty. |
ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody( |
"some header", body.get())); |
@@ -244,7 +251,7 @@ TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_ChunkedBody) { |
const std::string payload = "123"; |
std::unique_ptr<ChunkedUploadDataStream> body(new ChunkedUploadDataStream(0)); |
body->AppendData(payload.data(), payload.size(), true); |
- ASSERT_EQ(OK, body->Init(TestCompletionCallback().callback())); |
+ ASSERT_THAT(body->Init(TestCompletionCallback().callback()), IsOk()); |
// Shouldn't be merged if upload data carries chunked data. |
ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody( |
"some header", body.get())); |
@@ -267,8 +274,8 @@ TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_FileBody) { |
std::unique_ptr<UploadDataStream> body( |
new ElementsUploadDataStream(std::move(element_readers), 0)); |
TestCompletionCallback callback; |
- ASSERT_EQ(ERR_IO_PENDING, body->Init(callback.callback())); |
- ASSERT_EQ(OK, callback.WaitForResult()); |
+ ASSERT_THAT(body->Init(callback.callback()), IsError(ERR_IO_PENDING)); |
+ ASSERT_THAT(callback.WaitForResult(), IsOk()); |
// Shouldn't be merged if upload data carries a file, as it's not in-memory. |
ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody( |
"some header", body.get())); |
@@ -286,7 +293,7 @@ TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_SmallBodyInMemory) { |
std::unique_ptr<UploadDataStream> body( |
new ElementsUploadDataStream(std::move(element_readers), 0)); |
- ASSERT_EQ(OK, body->Init(CompletionCallback())); |
+ ASSERT_THAT(body->Init(CompletionCallback()), IsOk()); |
// Yes, should be merged if the in-memory body is small here. |
ASSERT_TRUE(HttpStreamParser::ShouldMergeRequestHeadersAndBody( |
"some header", body.get())); |
@@ -300,7 +307,7 @@ TEST(HttpStreamParser, ShouldMergeRequestHeadersAndBody_LargeBodyInMemory) { |
std::unique_ptr<UploadDataStream> body( |
new ElementsUploadDataStream(std::move(element_readers), 0)); |
- ASSERT_EQ(OK, body->Init(CompletionCallback())); |
+ ASSERT_THAT(body->Init(CompletionCallback()), IsOk()); |
// Shouldn't be merged if the in-memory body is large here. |
ASSERT_FALSE(HttpStreamParser::ShouldMergeRequestHeadersAndBody( |
"some header", body.get())); |
@@ -442,7 +449,8 @@ TEST(HttpStreamParser, SentBytesPost) { |
element_readers.push_back( |
base::WrapUnique(new UploadBytesElementReader("hello world!", 12))); |
ElementsUploadDataStream upload_data_stream(std::move(element_readers), 0); |
- ASSERT_EQ(OK, upload_data_stream.Init(TestCompletionCallback().callback())); |
+ ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback()), |
+ IsOk()); |
HttpRequestInfo request; |
request.method = "POST"; |
@@ -479,7 +487,8 @@ TEST(HttpStreamParser, SentBytesChunkedPostError) { |
CreateConnectedSocketHandle(&data); |
ChunkedUploadDataStream upload_data_stream(0); |
- ASSERT_EQ(OK, upload_data_stream.Init(TestCompletionCallback().callback())); |
+ ASSERT_THAT(upload_data_stream.Init(TestCompletionCallback().callback()), |
+ IsOk()); |
HttpRequestInfo request; |
request.method = "POST"; |
@@ -504,7 +513,7 @@ TEST(HttpStreamParser, SentBytesChunkedPostError) { |
base::RunLoop().RunUntilIdle(); |
// This write should fail. |
upload_data_stream.AppendData(kChunk, arraysize(kChunk) - 1, false); |
- EXPECT_EQ(ERR_FAILED, callback.WaitForResult()); |
+ EXPECT_THAT(callback.WaitForResult(), IsError(ERR_FAILED)); |
EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), parser.sent_bytes()); |
} |
@@ -535,7 +544,7 @@ TEST(HttpStreamParser, AsyncSingleChunkAndAsyncSocket) { |
}; |
ChunkedUploadDataStream upload_stream(0); |
- ASSERT_EQ(OK, upload_stream.Init(TestCompletionCallback().callback())); |
+ ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); |
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
std::unique_ptr<ClientSocketHandle> socket_handle = |
@@ -567,11 +576,12 @@ TEST(HttpStreamParser, AsyncSingleChunkAndAsyncSocket) { |
// Now append the only chunk and wait for the callback. |
upload_stream.AppendData(kChunk, arraysize(kChunk) - 1, true); |
- ASSERT_EQ(OK, callback.WaitForResult()); |
+ ASSERT_THAT(callback.WaitForResult(), IsOk()); |
// Attempt to read the response status and the response headers. |
- ASSERT_EQ(ERR_IO_PENDING, parser.ReadResponseHeaders(callback.callback())); |
- ASSERT_EQ(OK, callback.WaitForResult()); |
+ ASSERT_THAT(parser.ReadResponseHeaders(callback.callback()), |
+ IsError(ERR_IO_PENDING)); |
+ ASSERT_THAT(callback.WaitForResult(), IsOk()); |
// Finally, attempt to read the response body. |
scoped_refptr<IOBuffer> body_buffer(new IOBuffer(kBodySize)); |
@@ -610,7 +620,7 @@ TEST(HttpStreamParser, SyncSingleChunkAndAsyncSocket) { |
}; |
ChunkedUploadDataStream upload_stream(0); |
- ASSERT_EQ(OK, upload_stream.Init(TestCompletionCallback().callback())); |
+ ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); |
// Append the only chunk. |
upload_stream.AppendData(kChunk, arraysize(kChunk) - 1, true); |
@@ -637,11 +647,12 @@ TEST(HttpStreamParser, SyncSingleChunkAndAsyncSocket) { |
ASSERT_EQ(ERR_IO_PENDING, |
parser.SendRequest("GET /one.html HTTP/1.1\r\n", request_headers, |
&response_info, callback.callback())); |
- ASSERT_EQ(OK, callback.WaitForResult()); |
+ ASSERT_THAT(callback.WaitForResult(), IsOk()); |
// Attempt to read the response status and the response headers. |
- ASSERT_EQ(ERR_IO_PENDING, parser.ReadResponseHeaders(callback.callback())); |
- ASSERT_EQ(OK, callback.WaitForResult()); |
+ ASSERT_THAT(parser.ReadResponseHeaders(callback.callback()), |
+ IsError(ERR_IO_PENDING)); |
+ ASSERT_THAT(callback.WaitForResult(), IsOk()); |
// Finally, attempt to read the response body. |
scoped_refptr<IOBuffer> body_buffer(new IOBuffer(kBodySize)); |
@@ -689,7 +700,7 @@ TEST(HttpStreamParser, AsyncChunkAndAsyncSocketWithMultipleChunks) { |
ChunkedUploadDataStream upload_stream(0); |
upload_stream.AppendData(kChunk1, arraysize(kChunk1) - 1, false); |
- ASSERT_EQ(OK, upload_stream.Init(TestCompletionCallback().callback())); |
+ ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); |
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
std::unique_ptr<ClientSocketHandle> socket_handle = |
@@ -730,11 +741,12 @@ TEST(HttpStreamParser, AsyncChunkAndAsyncSocketWithMultipleChunks) { |
ASSERT_FALSE(callback.have_result()); |
// Wait for writes to complete. |
- ASSERT_EQ(OK, callback.WaitForResult()); |
+ ASSERT_THAT(callback.WaitForResult(), IsOk()); |
// Attempt to read the response status and the response headers. |
- ASSERT_EQ(ERR_IO_PENDING, parser.ReadResponseHeaders(callback.callback())); |
- ASSERT_EQ(OK, callback.WaitForResult()); |
+ ASSERT_THAT(parser.ReadResponseHeaders(callback.callback()), |
+ IsError(ERR_IO_PENDING)); |
+ ASSERT_THAT(callback.WaitForResult(), IsOk()); |
// Finally, attempt to read the response body. |
scoped_refptr<IOBuffer> body_buffer(new IOBuffer(kBodySize)); |
@@ -770,7 +782,7 @@ TEST(HttpStreamParser, AsyncEmptyChunkedUpload) { |
}; |
ChunkedUploadDataStream upload_stream(0); |
- ASSERT_EQ(OK, upload_stream.Init(TestCompletionCallback().callback())); |
+ ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); |
SequencedSocketData data(reads, arraysize(reads), writes, arraysize(writes)); |
std::unique_ptr<ClientSocketHandle> socket_handle = |
@@ -800,11 +812,12 @@ TEST(HttpStreamParser, AsyncEmptyChunkedUpload) { |
upload_stream.AppendData(nullptr, 0, true); |
ASSERT_FALSE(callback.have_result()); |
- ASSERT_EQ(OK, callback.WaitForResult()); |
+ ASSERT_THAT(callback.WaitForResult(), IsOk()); |
// Attempt to read the response status and the response headers. |
- ASSERT_EQ(ERR_IO_PENDING, parser.ReadResponseHeaders(callback.callback())); |
- ASSERT_EQ(OK, callback.WaitForResult()); |
+ ASSERT_THAT(parser.ReadResponseHeaders(callback.callback()), |
+ IsError(ERR_IO_PENDING)); |
+ ASSERT_THAT(callback.WaitForResult(), IsOk()); |
// Finally, attempt to read the response body. |
scoped_refptr<IOBuffer> body_buffer(new IOBuffer(kBodySize)); |
@@ -840,7 +853,7 @@ TEST(HttpStreamParser, SyncEmptyChunkedUpload) { |
}; |
ChunkedUploadDataStream upload_stream(0); |
- ASSERT_EQ(OK, upload_stream.Init(TestCompletionCallback().callback())); |
+ ASSERT_THAT(upload_stream.Init(TestCompletionCallback().callback()), IsOk()); |
// Append final empty chunk. |
upload_stream.AppendData(nullptr, 0, true); |
@@ -869,11 +882,12 @@ TEST(HttpStreamParser, SyncEmptyChunkedUpload) { |
&response_info, callback.callback())); |
// Complete writing the request headers and body. |
- ASSERT_EQ(OK, callback.WaitForResult()); |
+ ASSERT_THAT(callback.WaitForResult(), IsOk()); |
// Attempt to read the response status and the response headers. |
- ASSERT_EQ(ERR_IO_PENDING, parser.ReadResponseHeaders(callback.callback())); |
- ASSERT_EQ(OK, callback.WaitForResult()); |
+ ASSERT_THAT(parser.ReadResponseHeaders(callback.callback()), |
+ IsError(ERR_IO_PENDING)); |
+ ASSERT_THAT(callback.WaitForResult(), IsOk()); |
// Finally, attempt to read the response body. |
scoped_refptr<IOBuffer> body_buffer(new IOBuffer(kBodySize)); |
@@ -968,16 +982,16 @@ TEST(HttpStreamParser, TruncatedHeaders) { |
EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)), |
parser.sent_bytes()); |
if (i == arraysize(reads) - 1) { |
- EXPECT_EQ(OK, rv); |
+ EXPECT_THAT(rv, IsOk()); |
EXPECT_TRUE(response_info.headers.get()); |
EXPECT_EQ(CountReadBytes(reads[i], 2), parser.received_bytes()); |
} else { |
if (protocol == HTTP) { |
- EXPECT_EQ(ERR_CONNECTION_CLOSED, rv); |
+ EXPECT_THAT(rv, IsError(ERR_CONNECTION_CLOSED)); |
EXPECT_TRUE(response_info.headers.get()); |
EXPECT_EQ(CountReadBytes(reads[i], 2), parser.received_bytes()); |
} else { |
- EXPECT_EQ(ERR_RESPONSE_HEADERS_TRUNCATED, rv); |
+ EXPECT_THAT(rv, IsError(ERR_RESPONSE_HEADERS_TRUNCATED)); |
EXPECT_FALSE(response_info.headers.get()); |
EXPECT_EQ(0, parser.received_bytes()); |
} |
@@ -1021,7 +1035,7 @@ TEST(HttpStreamParser, Websocket101Response) { |
ASSERT_EQ(OK, parser.SendRequest("GET / HTTP/1.1\r\n", request_headers, |
&response_info, callback.callback())); |
- EXPECT_EQ(OK, parser.ReadResponseHeaders(callback.callback())); |
+ EXPECT_THAT(parser.ReadResponseHeaders(callback.callback()), IsOk()); |
ASSERT_TRUE(response_info.headers.get()); |
EXPECT_EQ(101, response_info.headers->response_code()); |
EXPECT_TRUE(response_info.headers->HasHeaderValue("Connection", "Upgrade")); |
@@ -1082,7 +1096,7 @@ class SimpleGetRunner { |
void ReadHeaders() { |
TestCompletionCallback callback; |
- EXPECT_EQ(OK, parser_->ReadResponseHeaders(callback.callback())); |
+ EXPECT_THAT(parser_->ReadResponseHeaders(callback.callback()), IsOk()); |
} |
void ReadBody(int user_buf_len, int* read_lengths) { |
@@ -1375,7 +1389,7 @@ TEST(HttpStreamParser, ReadAfterUnownedObjectsDestroyed) { |
TestCompletionCallback callback; |
ASSERT_EQ(OK, parser.SendRequest("GET /foo.html HTTP/1.1\r\n", |
*request_headers, response_info.get(), callback.callback())); |
- ASSERT_EQ(OK, parser.ReadResponseHeaders(callback.callback())); |
+ ASSERT_THAT(parser.ReadResponseHeaders(callback.callback()), IsOk()); |
// If the object that owns the HttpStreamParser is deleted, it takes the |
// objects passed to the HttpStreamParser with it. |