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

Unified Diff: net/url_request/url_request_http_job_unittest.cc

Issue 1327763003: Added and implemented URLRequest::GetTotalSentBytes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@spdy_sent_bytes_impl
Patch Set: Addressed nits Created 5 years, 3 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/url_request/url_request_http_job.cc ('k') | net/url_request/url_request_job.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/url_request/url_request_http_job_unittest.cc
diff --git a/net/url_request/url_request_http_job_unittest.cc b/net/url_request/url_request_http_job_unittest.cc
index 50557ec35497702a79e4f81993f1d9a5c036d47b..3d73146eb51287c3fb79462ec4f0ebc2483b41a0 100644
--- a/net/url_request/url_request_http_job_unittest.cc
+++ b/net/url_request/url_request_http_job_unittest.cc
@@ -114,13 +114,23 @@ class URLRequestHttpJobWithMockSocketsTest : public ::testing::Test {
scoped_ptr<TestURLRequestContext> context_;
};
+const char kSimpleGetMockWrite[] =
+ "GET / HTTP/1.1\r\n"
+ "Host: www.example.com\r\n"
+ "Connection: keep-alive\r\n"
+ "User-Agent:\r\n"
+ "Accept-Encoding: gzip, deflate\r\n"
+ "Accept-Language: en-us,fr\r\n\r\n";
+
TEST_F(URLRequestHttpJobWithMockSocketsTest,
TestContentLengthSuccessfulRequest) {
+ MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
"Content-Length: 12\r\n\r\n"),
MockRead("Test Content")};
- StaticSocketDataProvider socket_data(reads, arraysize(reads), nullptr, 0);
+ StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
+ arraysize(writes));
socket_factory_.AddSocketDataProvider(&socket_data);
TestDelegate delegate;
@@ -135,11 +145,17 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest,
EXPECT_TRUE(request->status().is_success());
EXPECT_EQ(12, request->received_response_content_length());
- EXPECT_EQ(51, network_delegate_.total_network_bytes_received());
+ EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
+ request->GetTotalSentBytes());
+ EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
+ request->GetTotalReceivedBytes());
+ EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
+ network_delegate_.total_network_bytes_received());
}
TEST_F(URLRequestHttpJobWithMockSocketsTest,
TestContentLengthSuccessfulHttp09Request) {
+ MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
MockRead reads[] = {MockRead("Test Content"),
MockRead(net::SYNCHRONOUS, net::OK)};
@@ -158,16 +174,23 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest,
EXPECT_TRUE(request->status().is_success());
EXPECT_EQ(12, request->received_response_content_length());
- EXPECT_EQ(12, network_delegate_.total_network_bytes_received());
+ EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
+ request->GetTotalSentBytes());
+ EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
+ request->GetTotalReceivedBytes());
+ EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
+ network_delegate_.total_network_bytes_received());
}
-TEST_F(URLRequestHttpJobWithMockSocketsTest, TestContentLengthAbortedRequest) {
+TEST_F(URLRequestHttpJobWithMockSocketsTest, TestContentLengthFailedRequest) {
+ MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
"Content-Length: 20\r\n\r\n"),
MockRead("Test Content"),
MockRead(net::SYNCHRONOUS, net::ERR_FAILED)};
- StaticSocketDataProvider socket_data(reads, arraysize(reads), nullptr, 0);
+ StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
+ arraysize(writes));
socket_factory_.AddSocketDataProvider(&socket_data);
TestDelegate delegate;
@@ -182,17 +205,24 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest, TestContentLengthAbortedRequest) {
EXPECT_EQ(URLRequestStatus::FAILED, request->status().status());
EXPECT_EQ(12, request->received_response_content_length());
- EXPECT_EQ(51, network_delegate_.total_network_bytes_received());
+ EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
+ request->GetTotalSentBytes());
+ EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
+ request->GetTotalReceivedBytes());
+ EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
+ network_delegate_.total_network_bytes_received());
}
TEST_F(URLRequestHttpJobWithMockSocketsTest,
TestContentLengthCancelledRequest) {
+ MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
"Content-Length: 20\r\n\r\n"),
MockRead("Test Content"),
MockRead(net::SYNCHRONOUS, net::ERR_IO_PENDING)};
- StaticSocketDataProvider socket_data(reads, arraysize(reads), nullptr, 0);
+ StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
+ arraysize(writes));
socket_factory_.AddSocketDataProvider(&socket_data);
TestDelegate delegate;
@@ -207,23 +237,41 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest,
EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status());
EXPECT_EQ(12, request->received_response_content_length());
- EXPECT_EQ(51, network_delegate_.total_network_bytes_received());
+ EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
+ request->GetTotalSentBytes());
+ EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
+ request->GetTotalReceivedBytes());
+ EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
+ network_delegate_.total_network_bytes_received());
}
TEST_F(URLRequestHttpJobWithMockSocketsTest,
TestNetworkBytesRedirectedRequest) {
- MockRead redirect_read(
- "HTTP/1.1 302 Found\r\n"
- "Location: http://www.example.com\r\n\r\n");
- StaticSocketDataProvider redirect_socket_data(&redirect_read, 1, nullptr, 0);
+ MockWrite redirect_writes[] = {
+ MockWrite("GET / HTTP/1.1\r\n"
+ "Host: www.redirect.com\r\n"
+ "Connection: keep-alive\r\n"
+ "User-Agent:\r\n"
+ "Accept-Encoding: gzip, deflate\r\n"
+ "Accept-Language: en-us,fr\r\n\r\n")};
+
+ MockRead redirect_reads[] = {
+ MockRead("HTTP/1.1 302 Found\r\n"
+ "Location: http://www.example.com\r\n\r\n"),
+ };
+ StaticSocketDataProvider redirect_socket_data(
+ redirect_reads, arraysize(redirect_reads), redirect_writes,
+ arraysize(redirect_writes));
socket_factory_.AddSocketDataProvider(&redirect_socket_data);
- MockRead response_reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
- "Content-Length: 12\r\n\r\n"),
- MockRead("Test Content")};
- StaticSocketDataProvider response_socket_data(
- response_reads, arraysize(response_reads), nullptr, 0);
- socket_factory_.AddSocketDataProvider(&response_socket_data);
+ MockWrite final_writes[] = {MockWrite(kSimpleGetMockWrite)};
+ MockRead final_reads[] = {MockRead("HTTP/1.1 200 OK\r\n"
+ "Content-Length: 12\r\n\r\n"),
+ MockRead("Test Content")};
+ StaticSocketDataProvider final_socket_data(
+ final_reads, arraysize(final_reads), final_writes,
+ arraysize(final_writes));
+ socket_factory_.AddSocketDataProvider(&final_socket_data);
TestDelegate delegate;
scoped_ptr<URLRequest> request =
@@ -237,13 +285,23 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest,
EXPECT_TRUE(request->status().is_success());
EXPECT_EQ(12, request->received_response_content_length());
- EXPECT_EQ(107, network_delegate_.total_network_bytes_received());
+ // Should not include the redirect.
+ EXPECT_EQ(CountWriteBytes(final_writes, arraysize(final_writes)),
+ request->GetTotalSentBytes());
+ EXPECT_EQ(CountReadBytes(final_reads, arraysize(final_reads)),
+ request->GetTotalReceivedBytes());
+ // Should include the redirect as well as the final response.
+ EXPECT_EQ(CountReadBytes(redirect_reads, arraysize(redirect_reads)) +
+ CountReadBytes(final_reads, arraysize(final_reads)),
+ network_delegate_.total_network_bytes_received());
}
TEST_F(URLRequestHttpJobWithMockSocketsTest,
TestNetworkBytesCancelledAfterHeaders) {
- MockRead read("HTTP/1.1 200 OK\r\n\r\n");
- StaticSocketDataProvider socket_data(&read, 1, nullptr, 0);
+ MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
+ MockRead reads[] = {MockRead("HTTP/1.1 200 OK\r\n\r\n")};
+ StaticSocketDataProvider socket_data(reads, arraysize(reads), writes,
+ arraysize(writes));
socket_factory_.AddSocketDataProvider(&socket_data);
TestDelegate delegate;
@@ -257,7 +315,13 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest,
base::RunLoop().RunUntilIdle();
EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status());
- EXPECT_EQ(19, network_delegate_.total_network_bytes_received());
+ EXPECT_EQ(0, request->received_response_content_length());
+ EXPECT_EQ(CountWriteBytes(writes, arraysize(writes)),
+ request->GetTotalSentBytes());
+ EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
+ request->GetTotalReceivedBytes());
+ EXPECT_EQ(CountReadBytes(reads, arraysize(reads)),
+ network_delegate_.total_network_bytes_received());
}
TEST_F(URLRequestHttpJobWithMockSocketsTest,
@@ -276,18 +340,14 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest,
base::RunLoop().RunUntilIdle();
EXPECT_EQ(URLRequestStatus::CANCELED, request->status().status());
+ EXPECT_EQ(0, request->received_response_content_length());
+ EXPECT_EQ(0, request->GetTotalSentBytes());
+ EXPECT_EQ(0, request->GetTotalReceivedBytes());
EXPECT_EQ(0, network_delegate_.total_network_bytes_received());
}
TEST_F(URLRequestHttpJobWithMockSocketsTest, BackoffHeader) {
- MockWrite writes[] = {MockWrite(
- "GET / HTTP/1.1\r\n"
- "Host: www.example.com\r\n"
- "Connection: keep-alive\r\n"
- "User-Agent:\r\n"
- "Accept-Encoding: gzip, deflate\r\n"
- "Accept-Language: en-us,fr\r\n\r\n")};
-
+ MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
MockRead reads[] = {MockRead(
"HTTP/1.1 200 OK\r\n"
"Backoff: 3600\r\n"
@@ -334,13 +394,7 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest, BackoffHeader) {
}
TEST_F(URLRequestHttpJobWithMockSocketsTest, BackoffHeaderNotSecure) {
- MockWrite writes[] = {MockWrite(
- "GET / HTTP/1.1\r\n"
- "Host: www.example.com\r\n"
- "Connection: keep-alive\r\n"
- "User-Agent:\r\n"
- "Accept-Encoding: gzip, deflate\r\n"
- "Accept-Language: en-us,fr\r\n\r\n")};
+ MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
MockRead reads[] = {MockRead(
"HTTP/1.1 200 OK\r\n"
"Backoff: 3600\r\n"
@@ -368,13 +422,7 @@ TEST_F(URLRequestHttpJobWithMockSocketsTest, BackoffHeaderNotSecure) {
}
TEST_F(URLRequestHttpJobWithMockSocketsTest, BackoffHeaderCachedResponse) {
- MockWrite writes[] = {MockWrite(
- "GET / HTTP/1.1\r\n"
- "Host: www.example.com\r\n"
- "Connection: keep-alive\r\n"
- "User-Agent:\r\n"
- "Accept-Encoding: gzip, deflate\r\n"
- "Accept-Language: en-us,fr\r\n\r\n")};
+ MockWrite writes[] = {MockWrite(kSimpleGetMockWrite)};
MockRead reads[] = {MockRead(
"HTTP/1.1 200 OK\r\n"
"Backoff: 3600\r\n"
« no previous file with comments | « net/url_request/url_request_http_job.cc ('k') | net/url_request/url_request_job.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698