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

Side by Side Diff: net/url_request/url_request_unittest.cc

Issue 1072423005: Set network_accessed earlier, when network transaction creates stream. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #include <shlobj.h> 9 #include <shlobj.h>
10 #endif 10 #endif
(...skipping 9071 matching lines...) Expand 10 before | Expand all | Expand 10 after
9082 base::GetFileSize(app_path, &file_size); 9082 base::GetFileSize(app_path, &file_size);
9083 9083
9084 EXPECT_FALSE(r->is_pending()); 9084 EXPECT_FALSE(r->is_pending());
9085 EXPECT_EQ(1, d->response_started_count()); 9085 EXPECT_EQ(1, d->response_started_count());
9086 EXPECT_FALSE(d->received_data_before_response()); 9086 EXPECT_FALSE(d->received_data_before_response());
9087 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size)); 9087 EXPECT_EQ(d->bytes_received(), static_cast<int>(file_size));
9088 } 9088 }
9089 } 9089 }
9090 #endif // !defined(DISABLE_FTP_SUPPORT) 9090 #endif // !defined(DISABLE_FTP_SUPPORT)
9091 9091
9092 TEST_F(URLRequestTest, NetworkAccessedClearBeforeNetworkStart) {
9093 TestDelegate d;
9094 scoped_ptr<URLRequest> req(default_context_.CreateRequest(
9095 GURL("http://test_intercept/foo"), DEFAULT_PRIORITY, &d));
9096 d.set_quit_on_network_start(true);
9097
9098 EXPECT_FALSE(req->response_info().network_accessed);
9099
9100 req->Start();
9101 base::RunLoop().Run();
9102
9103 EXPECT_EQ(1, d.received_before_network_start_count());
9104 EXPECT_EQ(0, d.response_started_count());
9105 EXPECT_FALSE(req->response_info().network_accessed);
9106
9107 req->ResumeNetworkStart();
9108 base::RunLoop().Run();
9109 }
9110
9111 TEST_F(URLRequestTest, NetworkAccessedClearOnDataRequest) {
9112 TestDelegate d;
9113 scoped_ptr<URLRequest> req(
9114 default_context_.CreateRequest(GURL("data:,"), DEFAULT_PRIORITY, &d));
9115
9116 EXPECT_FALSE(req->response_info().network_accessed);
9117
9118 req->Start();
9119 base::RunLoop().Run();
9120
9121 EXPECT_EQ(1, default_network_delegate_.completed_requests());
9122 EXPECT_FALSE(req->response_info().network_accessed);
9123 }
9124
9125 TEST_F(URLRequestTest, NetworkAccessedSetOnHostResolutionFailure) {
9126 MockHostResolver host_resolver;
9127 TestNetworkDelegate network_delegate; // Must outlive URLRequest.
9128 TestURLRequestContext context(true);
9129 context.set_network_delegate(&network_delegate);
9130 context.set_host_resolver(&host_resolver);
9131 host_resolver.rules()->AddSimulatedFailure("*");
9132 context.Init();
9133
9134 TestDelegate d;
9135 scoped_ptr<URLRequest> req(context.CreateRequest(
9136 GURL("http://test_intercept/foo"), DEFAULT_PRIORITY, &d));
9137
9138 EXPECT_FALSE(req->response_info().network_accessed);
9139
9140 req->Start();
9141 base::RunLoop().Run();
9142 EXPECT_TRUE(req->response_info().network_accessed);
9143 }
9144
9145 TEST_F(URLRequestTestHTTP, NetworkAccessedSetOnNetworkRequest) {
9146 ASSERT_TRUE(test_server_.Start());
9147
9148 TestDelegate d;
9149 GURL test_url(test_server_.GetURL(std::string()));
9150 scoped_ptr<URLRequest> req(
9151 default_context_.CreateRequest(test_url, DEFAULT_PRIORITY, &d));
9152
9153 req->Start();
9154 base::RunLoop().Run();
9155
9156 EXPECT_TRUE(req->response_info().network_accessed);
9157 }
9158
9159 TEST_F(URLRequestTestHTTP, NetworkAccessedClearOnCachedResponse) {
9160 ASSERT_TRUE(test_server_.Start());
9161
9162 // Populate the cache.
9163 TestDelegate d;
9164 scoped_ptr<URLRequest> req(default_context_.CreateRequest(
9165 test_server_.GetURL("cachetime"), DEFAULT_PRIORITY, &d));
9166 req->Start();
9167 base::RunLoop().Run();
9168
9169 EXPECT_EQ(URLRequestStatus::SUCCESS, req->status().status());
9170 EXPECT_TRUE(req->response_info().network_accessed);
9171 EXPECT_FALSE(req->response_info().was_cached);
9172
9173 req = default_context_.CreateRequest(test_server_.GetURL("cachetime"),
9174 DEFAULT_PRIORITY, &d);
9175 req->Start();
9176 base::RunLoop().Run();
9177
9178 EXPECT_EQ(URLRequestStatus::SUCCESS, req->status().status());
9179 EXPECT_FALSE(req->response_info().network_accessed);
9180 EXPECT_TRUE(req->response_info().was_cached);
9181 }
9182
9183 TEST_F(URLRequestTestHTTP, NetworkAccessedClearOnLoadOnlyFromCache) {
9184 ASSERT_TRUE(test_server_.Start());
9185
9186 TestDelegate d;
9187 GURL test_url(test_server_.GetURL(std::string()));
9188 scoped_ptr<URLRequest> req(
9189 default_context_.CreateRequest(test_url, DEFAULT_PRIORITY, &d));
9190 req->SetLoadFlags(LOAD_ONLY_FROM_CACHE);
9191
9192 req->Start();
9193 base::RunLoop().Run();
9194
9195 EXPECT_FALSE(req->response_info().network_accessed);
9196 }
9197
davidben 2015/05/14 22:28:14 Revalidate case? Perhaps do that test at the HttpC
Deprecated (see juliatuttle) 2015/05/14 23:52:10 Done.
davidben 2015/05/14 23:55:04 [For posterity, we noticed out-of-band that http_c
9092 } // namespace net 9198 } // namespace net
OLDNEW
« net/http/http_network_transaction.cc ('K') | « net/spdy/spdy_network_transaction_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698