OLD | NEW |
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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 | 60 |
61 namespace { | 61 namespace { |
62 | 62 |
63 class SimpleProxyConfigService : public ProxyConfigService { | 63 class SimpleProxyConfigService : public ProxyConfigService { |
64 public: | 64 public: |
65 SimpleProxyConfigService() { | 65 SimpleProxyConfigService() { |
66 // Any FTP requests that ever go through HTTP paths are proxied requests. | 66 // Any FTP requests that ever go through HTTP paths are proxied requests. |
67 config_.proxy_rules().ParseFromString("ftp=localhost"); | 67 config_.proxy_rules().ParseFromString("ftp=localhost"); |
68 } | 68 } |
69 | 69 |
70 virtual void AddObserver(Observer* observer) override { | 70 void AddObserver(Observer* observer) override { observer_ = observer; } |
71 observer_ = observer; | |
72 } | |
73 | 71 |
74 virtual void RemoveObserver(Observer* observer) override { | 72 void RemoveObserver(Observer* observer) override { |
75 if (observer_ == observer) { | 73 if (observer_ == observer) { |
76 observer_ = NULL; | 74 observer_ = NULL; |
77 } | 75 } |
78 } | 76 } |
79 | 77 |
80 virtual ConfigAvailability GetLatestProxyConfig( | 78 ConfigAvailability GetLatestProxyConfig(ProxyConfig* config) override { |
81 ProxyConfig* config) override { | |
82 *config = config_; | 79 *config = config_; |
83 return CONFIG_VALID; | 80 return CONFIG_VALID; |
84 } | 81 } |
85 | 82 |
86 void IncrementConfigId() { | 83 void IncrementConfigId() { |
87 config_.set_id(config_.id() + 1); | 84 config_.set_id(config_.id() + 1); |
88 observer_->OnProxyConfigChanged(config_, ProxyConfigService::CONFIG_VALID); | 85 observer_->OnProxyConfigChanged(config_, ProxyConfigService::CONFIG_VALID); |
89 } | 86 } |
90 | 87 |
91 private: | 88 private: |
92 ProxyConfig config_; | 89 ProxyConfig config_; |
93 Observer* observer_; | 90 Observer* observer_; |
94 }; | 91 }; |
95 | 92 |
96 // Inherit from URLRequestFtpJob to expose the priority and some | 93 // Inherit from URLRequestFtpJob to expose the priority and some |
97 // other hidden functions. | 94 // other hidden functions. |
98 class TestURLRequestFtpJob : public URLRequestFtpJob { | 95 class TestURLRequestFtpJob : public URLRequestFtpJob { |
99 public: | 96 public: |
100 TestURLRequestFtpJob(URLRequest* request, | 97 TestURLRequestFtpJob(URLRequest* request, |
101 FtpTransactionFactory* ftp_factory, | 98 FtpTransactionFactory* ftp_factory, |
102 FtpAuthCache* ftp_auth_cache) | 99 FtpAuthCache* ftp_auth_cache) |
103 : URLRequestFtpJob(request, NULL, ftp_factory, ftp_auth_cache) {} | 100 : URLRequestFtpJob(request, NULL, ftp_factory, ftp_auth_cache) {} |
104 | 101 |
105 using URLRequestFtpJob::SetPriority; | 102 using URLRequestFtpJob::SetPriority; |
106 using URLRequestFtpJob::Start; | 103 using URLRequestFtpJob::Start; |
107 using URLRequestFtpJob::Kill; | 104 using URLRequestFtpJob::Kill; |
108 using URLRequestFtpJob::priority; | 105 using URLRequestFtpJob::priority; |
109 | 106 |
110 protected: | 107 protected: |
111 virtual ~TestURLRequestFtpJob() {} | 108 ~TestURLRequestFtpJob() override {} |
112 }; | 109 }; |
113 | 110 |
114 class MockFtpTransactionFactory : public FtpTransactionFactory { | 111 class MockFtpTransactionFactory : public FtpTransactionFactory { |
115 public: | 112 public: |
116 virtual FtpTransaction* CreateTransaction() override { | 113 FtpTransaction* CreateTransaction() override { return NULL; } |
117 return NULL; | |
118 } | |
119 | 114 |
120 virtual void Suspend(bool suspend) override {} | 115 void Suspend(bool suspend) override {} |
121 }; | 116 }; |
122 | 117 |
123 // Fixture for priority-related tests. Priority matters when there is | 118 // Fixture for priority-related tests. Priority matters when there is |
124 // an HTTP proxy. | 119 // an HTTP proxy. |
125 class URLRequestFtpJobPriorityTest : public testing::Test { | 120 class URLRequestFtpJobPriorityTest : public testing::Test { |
126 protected: | 121 protected: |
127 URLRequestFtpJobPriorityTest() | 122 URLRequestFtpJobPriorityTest() |
128 : proxy_service_(new SimpleProxyConfigService, NULL, NULL), | 123 : proxy_service_(new SimpleProxyConfigService, NULL, NULL), |
129 req_(context_.CreateRequest(GURL("ftp://ftp.example.com"), | 124 req_(context_.CreateRequest(GURL("ftp://ftp.example.com"), |
130 DEFAULT_PRIORITY, | 125 DEFAULT_PRIORITY, |
(...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
702 EXPECT_TRUE(url_request2->status().is_success()); | 697 EXPECT_TRUE(url_request2->status().is_success()); |
703 EXPECT_EQ(2, network_delegate()->completed_requests()); | 698 EXPECT_EQ(2, network_delegate()->completed_requests()); |
704 EXPECT_EQ(0, network_delegate()->error_count()); | 699 EXPECT_EQ(0, network_delegate()->error_count()); |
705 EXPECT_FALSE(request_delegate2.auth_required_called()); | 700 EXPECT_FALSE(request_delegate2.auth_required_called()); |
706 EXPECT_EQ("test2.html", request_delegate2.data_received()); | 701 EXPECT_EQ("test2.html", request_delegate2.data_received()); |
707 } | 702 } |
708 | 703 |
709 } // namespace | 704 } // namespace |
710 | 705 |
711 } // namespace net | 706 } // namespace net |
OLD | NEW |