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

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

Issue 1290243007: Shift URLRequestContextStorage over to taking scoped_ptrs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Paul_BuilderGrab
Patch Set: Lots of fixes driven by try jobs. 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 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 "net/url_request/url_request_ftp_job.h" 5 #include "net/url_request/url_request_ftp_job.h"
6 6
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/memory/scoped_vector.h" 9 #include "base/memory/scoped_vector.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 30 matching lines...) Expand all
41 resolver->reset(new MockAsyncProxyResolver()); 41 resolver->reset(new MockAsyncProxyResolver());
42 return OK; 42 return OK;
43 } 43 }
44 }; 44 };
45 45
46 } // namespace 46 } // namespace
47 47
48 class FtpTestURLRequestContext : public TestURLRequestContext { 48 class FtpTestURLRequestContext : public TestURLRequestContext {
49 public: 49 public:
50 FtpTestURLRequestContext(ClientSocketFactory* socket_factory, 50 FtpTestURLRequestContext(ClientSocketFactory* socket_factory,
51 ProxyService* proxy_service, 51 scoped_ptr<ProxyService> proxy_service,
52 NetworkDelegate* network_delegate, 52 NetworkDelegate* network_delegate,
53 FtpTransactionFactory* ftp_transaction_factory) 53 FtpTransactionFactory* ftp_transaction_factory)
54 : TestURLRequestContext(true), 54 : TestURLRequestContext(true),
55 ftp_protocol_handler_(new FtpProtocolHandler(ftp_transaction_factory)) { 55 ftp_protocol_handler_(new FtpProtocolHandler(ftp_transaction_factory)) {
56 set_client_socket_factory(socket_factory); 56 set_client_socket_factory(socket_factory);
57 context_storage_.set_proxy_service(proxy_service); 57 context_storage_.set_proxy_service(proxy_service.Pass());
58 set_network_delegate(network_delegate); 58 set_network_delegate(network_delegate);
59 URLRequestJobFactoryImpl* job_factory = new URLRequestJobFactoryImpl; 59 scoped_ptr<URLRequestJobFactoryImpl> job_factory =
60 make_scoped_ptr(new URLRequestJobFactoryImpl);
60 job_factory->SetProtocolHandler("ftp", ftp_protocol_handler_); 61 job_factory->SetProtocolHandler("ftp", ftp_protocol_handler_);
61 context_storage_.set_job_factory(job_factory); 62 context_storage_.set_job_factory(job_factory.Pass());
62 Init(); 63 Init();
63 } 64 }
64 65
65 FtpAuthCache* GetFtpAuthCache() { 66 FtpAuthCache* GetFtpAuthCache() {
66 return ftp_protocol_handler_->ftp_auth_cache_.get(); 67 return ftp_protocol_handler_->ftp_auth_cache_.get();
67 } 68 }
68 69
69 void set_proxy_service(ProxyService* proxy_service) { 70 void set_proxy_service(scoped_ptr<ProxyService> proxy_service) {
70 context_storage_.set_proxy_service(proxy_service); 71 context_storage_.set_proxy_service(proxy_service.Pass());
71 } 72 }
72 73
73 private: 74 private:
74 FtpProtocolHandler* ftp_protocol_handler_; 75 FtpProtocolHandler* ftp_protocol_handler_;
75 }; 76 };
76 77
77 namespace { 78 namespace {
78 79
79 class SimpleProxyConfigService : public ProxyConfigService { 80 class SimpleProxyConfigService : public ProxyConfigService {
80 public: 81 public:
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 219
219 // Creates a second transaction. 220 // Creates a second transaction.
220 job->Start(); 221 job->Start();
221 ASSERT_TRUE(network_layer_.last_transaction()); 222 ASSERT_TRUE(network_layer_.last_transaction());
222 EXPECT_EQ(LOW, network_layer_.last_transaction()->priority()); 223 EXPECT_EQ(LOW, network_layer_.last_transaction()->priority());
223 } 224 }
224 225
225 class URLRequestFtpJobTest : public testing::Test { 226 class URLRequestFtpJobTest : public testing::Test {
226 public: 227 public:
227 URLRequestFtpJobTest() 228 URLRequestFtpJobTest()
228 : request_context_(&socket_factory_, 229 : request_context_(
229 new ProxyService( 230 &socket_factory_,
230 new SimpleProxyConfigService, NULL, NULL), 231 make_scoped_ptr(
231 &network_delegate_, 232 new ProxyService(new SimpleProxyConfigService, NULL, NULL)),
232 &ftp_transaction_factory_) { 233 &network_delegate_,
233 } 234 &ftp_transaction_factory_) {}
234 235
235 ~URLRequestFtpJobTest() override { 236 ~URLRequestFtpJobTest() override {
236 // Clean up any remaining tasks that mess up unrelated tests. 237 // Clean up any remaining tasks that mess up unrelated tests.
237 base::RunLoop().RunUntilIdle(); 238 base::RunLoop().RunUntilIdle();
238 } 239 }
239 240
240 void AddSocket(MockRead* reads, size_t reads_size, 241 void AddSocket(MockRead* reads, size_t reads_size,
241 MockWrite* writes, size_t writes_size) { 242 MockWrite* writes, size_t writes_size) {
242 SequencedSocketData* socket_data = 243 SequencedSocketData* socket_data =
243 new SequencedSocketData(reads, reads_size, writes, writes_size); 244 new SequencedSocketData(reads, reads_size, writes, writes_size);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 HostPortPair::FromString("localhost:80"))); 288 HostPortPair::FromString("localhost:80")));
288 EXPECT_EQ(1, network_delegate()->completed_requests()); 289 EXPECT_EQ(1, network_delegate()->completed_requests());
289 EXPECT_EQ(0, network_delegate()->error_count()); 290 EXPECT_EQ(0, network_delegate()->error_count());
290 EXPECT_FALSE(request_delegate.auth_required_called()); 291 EXPECT_FALSE(request_delegate.auth_required_called());
291 EXPECT_EQ("test.html", request_delegate.data_received()); 292 EXPECT_EQ("test.html", request_delegate.data_received());
292 } 293 }
293 294
294 // Regression test for http://crbug.com/237526 . 295 // Regression test for http://crbug.com/237526 .
295 TEST_F(URLRequestFtpJobTest, FtpProxyRequestOrphanJob) { 296 TEST_F(URLRequestFtpJobTest, FtpProxyRequestOrphanJob) {
296 // Use a PAC URL so that URLRequestFtpJob's |pac_request_| field is non-NULL. 297 // Use a PAC URL so that URLRequestFtpJob's |pac_request_| field is non-NULL.
297 request_context()->set_proxy_service(new ProxyService( 298 request_context()->set_proxy_service(make_scoped_ptr(new ProxyService(
298 new ProxyConfigServiceFixed( 299 new ProxyConfigServiceFixed(
299 ProxyConfig::CreateFromCustomPacURL(GURL("http://foo"))), 300 ProxyConfig::CreateFromCustomPacURL(GURL("http://foo"))),
300 make_scoped_ptr(new MockProxyResolverFactory), NULL)); 301 make_scoped_ptr(new MockProxyResolverFactory), NULL)));
301 302
302 TestDelegate request_delegate; 303 TestDelegate request_delegate;
303 scoped_ptr<URLRequest> url_request(request_context()->CreateRequest( 304 scoped_ptr<URLRequest> url_request(request_context()->CreateRequest(
304 GURL("ftp://ftp.example.com/"), DEFAULT_PRIORITY, &request_delegate)); 305 GURL("ftp://ftp.example.com/"), DEFAULT_PRIORITY, &request_delegate));
305 url_request->Start(); 306 url_request->Start();
306 307
307 // Now |url_request| will be deleted before its completion, 308 // Now |url_request| will be deleted before its completion,
308 // resulting in it being orphaned. It should not crash. 309 // resulting in it being orphaned. It should not crash.
309 } 310 }
310 311
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 EXPECT_TRUE(url_request2->status().is_success()); 727 EXPECT_TRUE(url_request2->status().is_success());
727 EXPECT_EQ(2, network_delegate()->completed_requests()); 728 EXPECT_EQ(2, network_delegate()->completed_requests());
728 EXPECT_EQ(0, network_delegate()->error_count()); 729 EXPECT_EQ(0, network_delegate()->error_count());
729 EXPECT_FALSE(request_delegate2.auth_required_called()); 730 EXPECT_FALSE(request_delegate2.auth_required_called());
730 EXPECT_EQ("test2.html", request_delegate2.data_received()); 731 EXPECT_EQ("test2.html", request_delegate2.data_received());
731 } 732 }
732 733
733 } // namespace 734 } // namespace
734 735
735 } // namespace net 736 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698