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

Side by Side Diff: net/url_request/url_request_test_util.h

Issue 11365227: Reland 167337 - Move url_request_test_util into net namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « net/url_request/url_request_job_unittest.cc ('k') | net/url_request/url_request_test_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_ 5 #ifndef NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_
6 #define NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_ 6 #define NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_
7 7
8 #include <stdlib.h> 8 #include <stdlib.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 23 matching lines...) Expand all
34 #include "net/http/http_network_layer.h" 34 #include "net/http/http_network_layer.h"
35 #include "net/proxy/proxy_service.h" 35 #include "net/proxy/proxy_service.h"
36 #include "net/url_request/url_request.h" 36 #include "net/url_request/url_request.h"
37 #include "net/url_request/url_request_context.h" 37 #include "net/url_request/url_request_context.h"
38 #include "net/url_request/url_request_context_getter.h" 38 #include "net/url_request/url_request_context_getter.h"
39 #include "net/url_request/url_request_context_storage.h" 39 #include "net/url_request/url_request_context_storage.h"
40 #include "net/url_request/url_request_job_factory.h" 40 #include "net/url_request/url_request_job_factory.h"
41 41
42 using base::TimeDelta; 42 using base::TimeDelta;
43 43
44 namespace net {
45
44 //----------------------------------------------------------------------------- 46 //-----------------------------------------------------------------------------
45 47
46 class TestURLRequestContext : public net::URLRequestContext { 48 class TestURLRequestContext : public URLRequestContext {
47 public: 49 public:
48 TestURLRequestContext(); 50 TestURLRequestContext();
49 // Default constructor like TestURLRequestContext() but does not call 51 // Default constructor like TestURLRequestContext() but does not call
50 // Init() in case |delay_initialization| is true. This allows modifying the 52 // Init() in case |delay_initialization| is true. This allows modifying the
51 // URLRequestContext before it is constructed completely. If 53 // URLRequestContext before it is constructed completely. If
52 // |delay_initialization| is true, Init() needs be be called manually. 54 // |delay_initialization| is true, Init() needs be be called manually.
53 explicit TestURLRequestContext(bool delay_initialization); 55 explicit TestURLRequestContext(bool delay_initialization);
54 virtual ~TestURLRequestContext(); 56 virtual ~TestURLRequestContext();
55 57
56 void Init(); 58 void Init();
57 59
58 private: 60 private:
59 bool initialized_; 61 bool initialized_;
60 62
61 protected: 63 protected:
62 net::URLRequestContextStorage context_storage_; 64 URLRequestContextStorage context_storage_;
63 }; 65 };
64 66
65 //----------------------------------------------------------------------------- 67 //-----------------------------------------------------------------------------
66 68
67 // Used to return a dummy context, which lives on the message loop 69 // Used to return a dummy context, which lives on the message loop
68 // given in the constructor. 70 // given in the constructor.
69 class TestURLRequestContextGetter : public net::URLRequestContextGetter { 71 class TestURLRequestContextGetter : public URLRequestContextGetter {
70 public: 72 public:
71 // |network_task_runner| must not be NULL. 73 // |network_task_runner| must not be NULL.
72 explicit TestURLRequestContextGetter( 74 explicit TestURLRequestContextGetter(
73 const scoped_refptr<base::SingleThreadTaskRunner>& network_task_runner); 75 const scoped_refptr<base::SingleThreadTaskRunner>& network_task_runner);
74 76
75 // Use to pass a pre-initialized |context|. 77 // Use to pass a pre-initialized |context|.
76 TestURLRequestContextGetter( 78 TestURLRequestContextGetter(
77 const scoped_refptr<base::SingleThreadTaskRunner>& network_task_runner, 79 const scoped_refptr<base::SingleThreadTaskRunner>& network_task_runner,
78 scoped_ptr<TestURLRequestContext> context); 80 scoped_ptr<TestURLRequestContext> context);
79 81
80 // net::URLRequestContextGetter implementation. 82 // URLRequestContextGetter implementation.
81 virtual TestURLRequestContext* GetURLRequestContext() OVERRIDE; 83 virtual TestURLRequestContext* GetURLRequestContext() OVERRIDE;
82 virtual scoped_refptr<base::SingleThreadTaskRunner> 84 virtual scoped_refptr<base::SingleThreadTaskRunner>
83 GetNetworkTaskRunner() const OVERRIDE; 85 GetNetworkTaskRunner() const OVERRIDE;
84 86
85 protected: 87 protected:
86 virtual ~TestURLRequestContextGetter(); 88 virtual ~TestURLRequestContextGetter();
87 89
88 private: 90 private:
89 const scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_; 91 const scoped_refptr<base::SingleThreadTaskRunner> network_task_runner_;
90 scoped_ptr<TestURLRequestContext> context_; 92 scoped_ptr<TestURLRequestContext> context_;
91 }; 93 };
92 94
93 //----------------------------------------------------------------------------- 95 //-----------------------------------------------------------------------------
94 96
95 class TestURLRequest : public net::URLRequest { 97 class TestURLRequest : public URLRequest {
96 public: 98 public:
97 TestURLRequest( 99 TestURLRequest(
98 const GURL& url, Delegate* delegate, TestURLRequestContext* context); 100 const GURL& url, Delegate* delegate, TestURLRequestContext* context);
99 virtual ~TestURLRequest(); 101 virtual ~TestURLRequest();
100 }; 102 };
101 103
102 //----------------------------------------------------------------------------- 104 //-----------------------------------------------------------------------------
103 105
104 class TestDelegate : public net::URLRequest::Delegate { 106 class TestDelegate : public URLRequest::Delegate {
105 public: 107 public:
106 TestDelegate(); 108 TestDelegate();
107 virtual ~TestDelegate(); 109 virtual ~TestDelegate();
108 110
109 void set_cancel_in_received_redirect(bool val) { cancel_in_rr_ = val; } 111 void set_cancel_in_received_redirect(bool val) { cancel_in_rr_ = val; }
110 void set_cancel_in_response_started(bool val) { cancel_in_rs_ = val; } 112 void set_cancel_in_response_started(bool val) { cancel_in_rs_ = val; }
111 void set_cancel_in_received_data(bool val) { cancel_in_rd_ = val; } 113 void set_cancel_in_received_data(bool val) { cancel_in_rd_ = val; }
112 void set_cancel_in_received_data_pending(bool val) { 114 void set_cancel_in_received_data_pending(bool val) {
113 cancel_in_rd_pending_ = val; 115 cancel_in_rd_pending_ = val;
114 } 116 }
115 void set_quit_on_complete(bool val) { quit_on_complete_ = val; } 117 void set_quit_on_complete(bool val) { quit_on_complete_ = val; }
116 void set_quit_on_redirect(bool val) { quit_on_redirect_ = val; } 118 void set_quit_on_redirect(bool val) { quit_on_redirect_ = val; }
117 void set_allow_certificate_errors(bool val) { 119 void set_allow_certificate_errors(bool val) {
118 allow_certificate_errors_ = val; 120 allow_certificate_errors_ = val;
119 } 121 }
120 void set_credentials(const net::AuthCredentials& credentials) { 122 void set_credentials(const AuthCredentials& credentials) {
121 credentials_ = credentials; 123 credentials_ = credentials;
122 } 124 }
123 125
124 // query state 126 // query state
125 const std::string& data_received() const { return data_received_; } 127 const std::string& data_received() const { return data_received_; }
126 int bytes_received() const { return static_cast<int>(data_received_.size()); } 128 int bytes_received() const { return static_cast<int>(data_received_.size()); }
127 int response_started_count() const { return response_started_count_; } 129 int response_started_count() const { return response_started_count_; }
128 int received_redirect_count() const { return received_redirect_count_; } 130 int received_redirect_count() const { return received_redirect_count_; }
129 bool received_data_before_response() const { 131 bool received_data_before_response() const {
130 return received_data_before_response_; 132 return received_data_before_response_;
131 } 133 }
132 bool request_failed() const { return request_failed_; } 134 bool request_failed() const { return request_failed_; }
133 bool have_certificate_errors() const { return have_certificate_errors_; } 135 bool have_certificate_errors() const { return have_certificate_errors_; }
134 bool certificate_errors_are_fatal() const { 136 bool certificate_errors_are_fatal() const {
135 return certificate_errors_are_fatal_; 137 return certificate_errors_are_fatal_;
136 } 138 }
137 bool auth_required_called() const { return auth_required_; } 139 bool auth_required_called() const { return auth_required_; }
138 140
139 // net::URLRequest::Delegate: 141 // URLRequest::Delegate:
140 virtual void OnReceivedRedirect(net::URLRequest* request, const GURL& new_url, 142 virtual void OnReceivedRedirect(URLRequest* request, const GURL& new_url,
141 bool* defer_redirect) OVERRIDE; 143 bool* defer_redirect) OVERRIDE;
142 virtual void OnAuthRequired(net::URLRequest* request, 144 virtual void OnAuthRequired(URLRequest* request,
143 net::AuthChallengeInfo* auth_info) OVERRIDE; 145 AuthChallengeInfo* auth_info) OVERRIDE;
144 // NOTE: |fatal| causes |certificate_errors_are_fatal_| to be set to true. 146 // NOTE: |fatal| causes |certificate_errors_are_fatal_| to be set to true.
145 // (Unit tests use this as a post-condition.) But for policy, this method 147 // (Unit tests use this as a post-condition.) But for policy, this method
146 // consults |allow_certificate_errors_|. 148 // consults |allow_certificate_errors_|.
147 virtual void OnSSLCertificateError(net::URLRequest* request, 149 virtual void OnSSLCertificateError(URLRequest* request,
148 const net::SSLInfo& ssl_info, 150 const SSLInfo& ssl_info,
149 bool fatal) OVERRIDE; 151 bool fatal) OVERRIDE;
150 virtual void OnResponseStarted(net::URLRequest* request) OVERRIDE; 152 virtual void OnResponseStarted(URLRequest* request) OVERRIDE;
151 virtual void OnReadCompleted(net::URLRequest* request, 153 virtual void OnReadCompleted(URLRequest* request,
152 int bytes_read) OVERRIDE; 154 int bytes_read) OVERRIDE;
153 155
154 private: 156 private:
155 static const int kBufferSize = 4096; 157 static const int kBufferSize = 4096;
156 158
157 virtual void OnResponseCompleted(net::URLRequest* request); 159 virtual void OnResponseCompleted(URLRequest* request);
158 160
159 // options for controlling behavior 161 // options for controlling behavior
160 bool cancel_in_rr_; 162 bool cancel_in_rr_;
161 bool cancel_in_rs_; 163 bool cancel_in_rs_;
162 bool cancel_in_rd_; 164 bool cancel_in_rd_;
163 bool cancel_in_rd_pending_; 165 bool cancel_in_rd_pending_;
164 bool quit_on_complete_; 166 bool quit_on_complete_;
165 bool quit_on_redirect_; 167 bool quit_on_redirect_;
166 bool allow_certificate_errors_; 168 bool allow_certificate_errors_;
167 net::AuthCredentials credentials_; 169 AuthCredentials credentials_;
168 170
169 // tracks status of callbacks 171 // tracks status of callbacks
170 int response_started_count_; 172 int response_started_count_;
171 int received_bytes_count_; 173 int received_bytes_count_;
172 int received_redirect_count_; 174 int received_redirect_count_;
173 bool received_data_before_response_; 175 bool received_data_before_response_;
174 bool request_failed_; 176 bool request_failed_;
175 bool have_certificate_errors_; 177 bool have_certificate_errors_;
176 bool certificate_errors_are_fatal_; 178 bool certificate_errors_are_fatal_;
177 bool auth_required_; 179 bool auth_required_;
178 std::string data_received_; 180 std::string data_received_;
179 181
180 // our read buffer 182 // our read buffer
181 scoped_refptr<net::IOBuffer> buf_; 183 scoped_refptr<IOBuffer> buf_;
182 }; 184 };
183 185
184 //----------------------------------------------------------------------------- 186 //-----------------------------------------------------------------------------
185 187
186 class TestNetworkDelegate : public net::NetworkDelegate { 188 class TestNetworkDelegate : public NetworkDelegate {
187 public: 189 public:
188 enum Options { 190 enum Options {
189 NO_GET_COOKIES = 1 << 0, 191 NO_GET_COOKIES = 1 << 0,
190 NO_SET_COOKIE = 1 << 1, 192 NO_SET_COOKIE = 1 << 1,
191 }; 193 };
192 194
193 TestNetworkDelegate(); 195 TestNetworkDelegate();
194 virtual ~TestNetworkDelegate(); 196 virtual ~TestNetworkDelegate();
195 197
196 void set_cookie_options(int o) {cookie_options_bit_mask_ = o; } 198 void set_cookie_options(int o) {cookie_options_bit_mask_ = o; }
197 199
198 int last_error() const { return last_error_; } 200 int last_error() const { return last_error_; }
199 int error_count() const { return error_count_; } 201 int error_count() const { return error_count_; }
200 int created_requests() const { return created_requests_; } 202 int created_requests() const { return created_requests_; }
201 int destroyed_requests() const { return destroyed_requests_; } 203 int destroyed_requests() const { return destroyed_requests_; }
202 int completed_requests() const { return completed_requests_; } 204 int completed_requests() const { return completed_requests_; }
203 int blocked_get_cookies_count() const { return blocked_get_cookies_count_; } 205 int blocked_get_cookies_count() const { return blocked_get_cookies_count_; }
204 int blocked_set_cookie_count() const { return blocked_set_cookie_count_; } 206 int blocked_set_cookie_count() const { return blocked_set_cookie_count_; }
205 int set_cookie_count() const { return set_cookie_count_; } 207 int set_cookie_count() const { return set_cookie_count_; }
206 208
207 protected: 209 protected:
208 // net::NetworkDelegate: 210 // NetworkDelegate:
209 virtual int OnBeforeURLRequest(net::URLRequest* request, 211 virtual int OnBeforeURLRequest(URLRequest* request,
210 const net::CompletionCallback& callback, 212 const CompletionCallback& callback,
211 GURL* new_url) OVERRIDE; 213 GURL* new_url) OVERRIDE;
212 virtual int OnBeforeSendHeaders(net::URLRequest* request, 214 virtual int OnBeforeSendHeaders(URLRequest* request,
213 const net::CompletionCallback& callback, 215 const CompletionCallback& callback,
214 net::HttpRequestHeaders* headers) OVERRIDE; 216 HttpRequestHeaders* headers) OVERRIDE;
215 virtual void OnSendHeaders(net::URLRequest* request, 217 virtual void OnSendHeaders(URLRequest* request,
216 const net::HttpRequestHeaders& headers) OVERRIDE; 218 const HttpRequestHeaders& headers) OVERRIDE;
217 virtual int OnHeadersReceived( 219 virtual int OnHeadersReceived(
218 net::URLRequest* request, 220 URLRequest* request,
219 const net::CompletionCallback& callback, 221 const CompletionCallback& callback,
220 const net::HttpResponseHeaders* original_response_headers, 222 const HttpResponseHeaders* original_response_headers,
221 scoped_refptr<net::HttpResponseHeaders>* override_response_headers) 223 scoped_refptr<HttpResponseHeaders>* override_response_headers) OVERRIDE;
222 OVERRIDE; 224 virtual void OnBeforeRedirect(URLRequest* request,
223 virtual void OnBeforeRedirect(net::URLRequest* request,
224 const GURL& new_location) OVERRIDE; 225 const GURL& new_location) OVERRIDE;
225 virtual void OnResponseStarted(net::URLRequest* request) OVERRIDE; 226 virtual void OnResponseStarted(URLRequest* request) OVERRIDE;
226 virtual void OnRawBytesRead(const net::URLRequest& request, 227 virtual void OnRawBytesRead(const URLRequest& request,
227 int bytes_read) OVERRIDE; 228 int bytes_read) OVERRIDE;
228 virtual void OnCompleted(net::URLRequest* request, bool started) OVERRIDE; 229 virtual void OnCompleted(URLRequest* request, bool started) OVERRIDE;
229 virtual void OnURLRequestDestroyed(net::URLRequest* request) OVERRIDE; 230 virtual void OnURLRequestDestroyed(URLRequest* request) OVERRIDE;
230 virtual void OnPACScriptError(int line_number, 231 virtual void OnPACScriptError(int line_number,
231 const string16& error) OVERRIDE; 232 const string16& error) OVERRIDE;
232 virtual net::NetworkDelegate::AuthRequiredResponse OnAuthRequired( 233 virtual NetworkDelegate::AuthRequiredResponse OnAuthRequired(
233 net::URLRequest* request, 234 URLRequest* request,
234 const net::AuthChallengeInfo& auth_info, 235 const AuthChallengeInfo& auth_info,
235 const AuthCallback& callback, 236 const AuthCallback& callback,
236 net::AuthCredentials* credentials) OVERRIDE; 237 AuthCredentials* credentials) OVERRIDE;
237 virtual bool OnCanGetCookies(const net::URLRequest& request, 238 virtual bool OnCanGetCookies(const URLRequest& request,
238 const net::CookieList& cookie_list) OVERRIDE; 239 const CookieList& cookie_list) OVERRIDE;
239 virtual bool OnCanSetCookie(const net::URLRequest& request, 240 virtual bool OnCanSetCookie(const URLRequest& request,
240 const std::string& cookie_line, 241 const std::string& cookie_line,
241 net::CookieOptions* options) OVERRIDE; 242 CookieOptions* options) OVERRIDE;
242 virtual bool OnCanAccessFile(const net::URLRequest& request, 243 virtual bool OnCanAccessFile(const URLRequest& request,
243 const FilePath& path) const OVERRIDE; 244 const FilePath& path) const OVERRIDE;
244 virtual bool OnCanThrottleRequest( 245 virtual bool OnCanThrottleRequest(
245 const net::URLRequest& request) const OVERRIDE; 246 const URLRequest& request) const OVERRIDE;
246 virtual int OnBeforeSocketStreamConnect( 247 virtual int OnBeforeSocketStreamConnect(
247 net::SocketStream* stream, 248 SocketStream* stream,
248 const net::CompletionCallback& callback) OVERRIDE; 249 const CompletionCallback& callback) OVERRIDE;
249 virtual void OnRequestWaitStateChange(const net::URLRequest& request, 250 virtual void OnRequestWaitStateChange(const URLRequest& request,
250 RequestWaitState state) OVERRIDE; 251 RequestWaitState state) OVERRIDE;
251 252
252 void InitRequestStatesIfNew(int request_id); 253 void InitRequestStatesIfNew(int request_id);
253 254
254 int last_error_; 255 int last_error_;
255 int error_count_; 256 int error_count_;
256 int created_requests_; 257 int created_requests_;
257 int destroyed_requests_; 258 int destroyed_requests_;
258 int completed_requests_; 259 int completed_requests_;
259 int cookie_options_bit_mask_; 260 int cookie_options_bit_mask_;
260 int blocked_get_cookies_count_; 261 int blocked_get_cookies_count_;
261 int blocked_set_cookie_count_; 262 int blocked_set_cookie_count_;
262 int set_cookie_count_; 263 int set_cookie_count_;
263 264
264 // net::NetworkDelegate callbacks happen in a particular order (e.g. 265 // NetworkDelegate callbacks happen in a particular order (e.g.
265 // OnBeforeURLRequest is always called before OnBeforeSendHeaders). 266 // OnBeforeURLRequest is always called before OnBeforeSendHeaders).
266 // This bit-set indicates for each request id (key) what events may be sent 267 // This bit-set indicates for each request id (key) what events may be sent
267 // next. 268 // next.
268 std::map<int, int> next_states_; 269 std::map<int, int> next_states_;
269 270
270 // A log that records for each request id (key) the order in which On... 271 // A log that records for each request id (key) the order in which On...
271 // functions were called. 272 // functions were called.
272 std::map<int, std::string> event_order_; 273 std::map<int, std::string> event_order_;
273 }; 274 };
274 275
(...skipping 18 matching lines...) Expand all
293 static std::string value_; 294 static std::string value_;
294 const std::string old_value_; 295 const std::string old_value_;
295 const std::string new_value_; 296 const std::string new_value_;
296 297
297 DISALLOW_COPY_AND_ASSIGN(ScopedCustomUrlRequestTestHttpHost); 298 DISALLOW_COPY_AND_ASSIGN(ScopedCustomUrlRequestTestHttpHost);
298 }; 299 };
299 300
300 //----------------------------------------------------------------------------- 301 //-----------------------------------------------------------------------------
301 302
302 // A simple Interceptor that returns a pre-built URLRequestJob only once. 303 // A simple Interceptor that returns a pre-built URLRequestJob only once.
303 class TestJobInterceptor : public net::URLRequestJobFactory::Interceptor { 304 class TestJobInterceptor : public URLRequestJobFactory::Interceptor {
304 public: 305 public:
305 TestJobInterceptor(); 306 TestJobInterceptor();
306 307
307 virtual net::URLRequestJob* MaybeIntercept( 308 virtual URLRequestJob* MaybeIntercept(
308 net::URLRequest* request, 309 URLRequest* request,
309 net::NetworkDelegate* network_delegate) const OVERRIDE; 310 NetworkDelegate* network_delegate) const OVERRIDE;
310 virtual net::URLRequestJob* MaybeInterceptRedirect( 311 virtual URLRequestJob* MaybeInterceptRedirect(
311 const GURL& location, 312 const GURL& location,
312 net::URLRequest* request, 313 URLRequest* request,
313 net::NetworkDelegate* network_delegate) const OVERRIDE; 314 NetworkDelegate* network_delegate) const OVERRIDE;
314 virtual net::URLRequestJob* MaybeInterceptResponse( 315 virtual URLRequestJob* MaybeInterceptResponse(
315 net::URLRequest* request, 316 URLRequest* request,
316 net::NetworkDelegate* network_delegate) const OVERRIDE; 317 NetworkDelegate* network_delegate) const OVERRIDE;
317 void set_main_intercept_job(net::URLRequestJob* job); 318 void set_main_intercept_job(URLRequestJob* job);
318 319
319 private: 320 private:
320 mutable net::URLRequestJob* main_intercept_job_; 321 mutable URLRequestJob* main_intercept_job_;
321 }; 322 };
322 323
324 } // namespace net
325
323 #endif // NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_ 326 #endif // NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_
OLDNEW
« no previous file with comments | « net/url_request/url_request_job_unittest.cc ('k') | net/url_request/url_request_test_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698