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

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

Issue 9572001: Do cookie checks in NetworkDelegate instead of the URLRequest::Delegate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: TestShellNetworkDelegate Created 8 years, 9 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 | Annotate | Revision Log
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 #pragma once 7 #pragma once
8 8
9 #include <stdlib.h> 9 #include <stdlib.h>
10 10
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 class TestURLRequest : public net::URLRequest { 76 class TestURLRequest : public net::URLRequest {
77 public: 77 public:
78 TestURLRequest(const GURL& url, Delegate* delegate); 78 TestURLRequest(const GURL& url, Delegate* delegate);
79 virtual ~TestURLRequest(); 79 virtual ~TestURLRequest();
80 }; 80 };
81 81
82 //----------------------------------------------------------------------------- 82 //-----------------------------------------------------------------------------
83 83
84 class TestDelegate : public net::URLRequest::Delegate { 84 class TestDelegate : public net::URLRequest::Delegate {
85 public: 85 public:
86 enum Options {
87 NO_GET_COOKIES = 1 << 0,
88 NO_SET_COOKIE = 1 << 1,
89 FORCE_SESSION = 1 << 2,
90 };
91
92 TestDelegate(); 86 TestDelegate();
93 virtual ~TestDelegate(); 87 virtual ~TestDelegate();
94 88
95 void set_cancel_in_received_redirect(bool val) { cancel_in_rr_ = val; } 89 void set_cancel_in_received_redirect(bool val) { cancel_in_rr_ = val; }
96 void set_cancel_in_response_started(bool val) { cancel_in_rs_ = val; } 90 void set_cancel_in_response_started(bool val) { cancel_in_rs_ = val; }
97 void set_cancel_in_received_data(bool val) { cancel_in_rd_ = val; } 91 void set_cancel_in_received_data(bool val) { cancel_in_rd_ = val; }
98 void set_cancel_in_received_data_pending(bool val) { 92 void set_cancel_in_received_data_pending(bool val) {
99 cancel_in_rd_pending_ = val; 93 cancel_in_rd_pending_ = val;
100 } 94 }
101 void set_quit_on_complete(bool val) { quit_on_complete_ = val; } 95 void set_quit_on_complete(bool val) { quit_on_complete_ = val; }
102 void set_quit_on_redirect(bool val) { quit_on_redirect_ = val; } 96 void set_quit_on_redirect(bool val) { quit_on_redirect_ = val; }
103 void set_allow_certificate_errors(bool val) { 97 void set_allow_certificate_errors(bool val) {
104 allow_certificate_errors_ = val; 98 allow_certificate_errors_ = val;
105 } 99 }
106 void set_cookie_options(int o) {cookie_options_bit_mask_ = o; }
107 void set_credentials(const net::AuthCredentials& credentials) { 100 void set_credentials(const net::AuthCredentials& credentials) {
108 credentials_ = credentials; 101 credentials_ = credentials;
109 } 102 }
110 103
111 // query state 104 // query state
112 const std::string& data_received() const { return data_received_; } 105 const std::string& data_received() const { return data_received_; }
113 int bytes_received() const { return static_cast<int>(data_received_.size()); } 106 int bytes_received() const { return static_cast<int>(data_received_.size()); }
114 int response_started_count() const { return response_started_count_; } 107 int response_started_count() const { return response_started_count_; }
115 int received_redirect_count() const { return received_redirect_count_; } 108 int received_redirect_count() const { return received_redirect_count_; }
116 int blocked_get_cookies_count() const { return blocked_get_cookies_count_; }
117 int blocked_set_cookie_count() const { return blocked_set_cookie_count_; }
118 int set_cookie_count() const { return set_cookie_count_; }
119 bool received_data_before_response() const { 109 bool received_data_before_response() const {
120 return received_data_before_response_; 110 return received_data_before_response_;
121 } 111 }
122 bool request_failed() const { return request_failed_; } 112 bool request_failed() const { return request_failed_; }
123 bool have_certificate_errors() const { return have_certificate_errors_; } 113 bool have_certificate_errors() const { return have_certificate_errors_; }
124 bool certificate_errors_are_fatal() const { 114 bool certificate_errors_are_fatal() const {
125 return certificate_errors_are_fatal_; 115 return certificate_errors_are_fatal_;
126 } 116 }
127 bool auth_required_called() const { return auth_required_; } 117 bool auth_required_called() const { return auth_required_; }
128 118
129 // net::URLRequest::Delegate: 119 // net::URLRequest::Delegate:
130 virtual void OnReceivedRedirect(net::URLRequest* request, const GURL& new_url, 120 virtual void OnReceivedRedirect(net::URLRequest* request, const GURL& new_url,
131 bool* defer_redirect) OVERRIDE; 121 bool* defer_redirect) OVERRIDE;
132 virtual void OnAuthRequired(net::URLRequest* request, 122 virtual void OnAuthRequired(net::URLRequest* request,
133 net::AuthChallengeInfo* auth_info) OVERRIDE; 123 net::AuthChallengeInfo* auth_info) OVERRIDE;
134 // NOTE: |fatal| causes |certificate_errors_are_fatal_| to be set to true. 124 // NOTE: |fatal| causes |certificate_errors_are_fatal_| to be set to true.
135 // (Unit tests use this as a post-condition.) But for policy, this method 125 // (Unit tests use this as a post-condition.) But for policy, this method
136 // consults |allow_certificate_errors_|. 126 // consults |allow_certificate_errors_|.
137 virtual void OnSSLCertificateError(net::URLRequest* request, 127 virtual void OnSSLCertificateError(net::URLRequest* request,
138 const net::SSLInfo& ssl_info, 128 const net::SSLInfo& ssl_info,
139 bool fatal) OVERRIDE; 129 bool fatal) OVERRIDE;
140 virtual bool CanGetCookies(const net::URLRequest* request,
141 const net::CookieList& cookie_list) const OVERRIDE;
142 virtual bool CanSetCookie(const net::URLRequest* request,
143 const std::string& cookie_line,
144 net::CookieOptions* options) const OVERRIDE;
145 virtual void OnResponseStarted(net::URLRequest* request) OVERRIDE; 130 virtual void OnResponseStarted(net::URLRequest* request) OVERRIDE;
146 virtual void OnReadCompleted(net::URLRequest* request, 131 virtual void OnReadCompleted(net::URLRequest* request,
147 int bytes_read) OVERRIDE; 132 int bytes_read) OVERRIDE;
148 133
149 private: 134 private:
150 static const int kBufferSize = 4096; 135 static const int kBufferSize = 4096;
151 136
152 virtual void OnResponseCompleted(net::URLRequest* request); 137 virtual void OnResponseCompleted(net::URLRequest* request);
153 138
154 // options for controlling behavior 139 // options for controlling behavior
155 bool cancel_in_rr_; 140 bool cancel_in_rr_;
156 bool cancel_in_rs_; 141 bool cancel_in_rs_;
157 bool cancel_in_rd_; 142 bool cancel_in_rd_;
158 bool cancel_in_rd_pending_; 143 bool cancel_in_rd_pending_;
159 bool quit_on_complete_; 144 bool quit_on_complete_;
160 bool quit_on_redirect_; 145 bool quit_on_redirect_;
161 bool allow_certificate_errors_; 146 bool allow_certificate_errors_;
162 int cookie_options_bit_mask_;
163 net::AuthCredentials credentials_; 147 net::AuthCredentials credentials_;
164 148
165 // tracks status of callbacks 149 // tracks status of callbacks
166 int response_started_count_; 150 int response_started_count_;
167 int received_bytes_count_; 151 int received_bytes_count_;
168 int received_redirect_count_; 152 int received_redirect_count_;
169 mutable int blocked_get_cookies_count_;
170 mutable int blocked_set_cookie_count_;
171 mutable int set_cookie_count_;
172 bool received_data_before_response_; 153 bool received_data_before_response_;
173 bool request_failed_; 154 bool request_failed_;
174 bool have_certificate_errors_; 155 bool have_certificate_errors_;
175 bool certificate_errors_are_fatal_; 156 bool certificate_errors_are_fatal_;
176 bool auth_required_; 157 bool auth_required_;
177 std::string data_received_; 158 std::string data_received_;
178 159
179 // our read buffer 160 // our read buffer
180 scoped_refptr<net::IOBuffer> buf_; 161 scoped_refptr<net::IOBuffer> buf_;
181 }; 162 };
182 163
183 //----------------------------------------------------------------------------- 164 //-----------------------------------------------------------------------------
184 165
185 class TestNetworkDelegate : public net::NetworkDelegate { 166 class TestNetworkDelegate : public net::NetworkDelegate {
186 public: 167 public:
168 enum Options {
169 NO_GET_COOKIES = 1 << 0,
170 NO_SET_COOKIE = 1 << 1,
171 FORCE_SESSION = 1 << 2,
172 };
173
187 TestNetworkDelegate(); 174 TestNetworkDelegate();
188 virtual ~TestNetworkDelegate(); 175 virtual ~TestNetworkDelegate();
189 176
177 void set_cookie_options(int o) {cookie_options_bit_mask_ = o; }
178
190 int last_error() const { return last_error_; } 179 int last_error() const { return last_error_; }
191 int error_count() const { return error_count_; } 180 int error_count() const { return error_count_; }
192 int created_requests() const { return created_requests_; } 181 int created_requests() const { return created_requests_; }
193 int destroyed_requests() const { return destroyed_requests_; } 182 int destroyed_requests() const { return destroyed_requests_; }
194 int completed_requests() const { return completed_requests_; } 183 int completed_requests() const { return completed_requests_; }
184 int blocked_get_cookies_count() const { return blocked_get_cookies_count_; }
185 int blocked_set_cookie_count() const { return blocked_set_cookie_count_; }
186 int set_cookie_count() const { return set_cookie_count_; }
195 187
196 protected: 188 protected:
197 // net::NetworkDelegate: 189 // net::NetworkDelegate:
198 virtual int OnBeforeURLRequest(net::URLRequest* request, 190 virtual int OnBeforeURLRequest(net::URLRequest* request,
199 const net::CompletionCallback& callback, 191 const net::CompletionCallback& callback,
200 GURL* new_url) OVERRIDE; 192 GURL* new_url) OVERRIDE;
201 virtual int OnBeforeSendHeaders(net::URLRequest* request, 193 virtual int OnBeforeSendHeaders(net::URLRequest* request,
202 const net::CompletionCallback& callback, 194 const net::CompletionCallback& callback,
203 net::HttpRequestHeaders* headers) OVERRIDE; 195 net::HttpRequestHeaders* headers) OVERRIDE;
204 virtual void OnSendHeaders(net::URLRequest* request, 196 virtual void OnSendHeaders(net::URLRequest* request,
(...skipping 11 matching lines...) Expand all
216 int bytes_read) OVERRIDE; 208 int bytes_read) OVERRIDE;
217 virtual void OnCompleted(net::URLRequest* request, bool started) OVERRIDE; 209 virtual void OnCompleted(net::URLRequest* request, bool started) OVERRIDE;
218 virtual void OnURLRequestDestroyed(net::URLRequest* request) OVERRIDE; 210 virtual void OnURLRequestDestroyed(net::URLRequest* request) OVERRIDE;
219 virtual void OnPACScriptError(int line_number, 211 virtual void OnPACScriptError(int line_number,
220 const string16& error) OVERRIDE; 212 const string16& error) OVERRIDE;
221 virtual net::NetworkDelegate::AuthRequiredResponse OnAuthRequired( 213 virtual net::NetworkDelegate::AuthRequiredResponse OnAuthRequired(
222 net::URLRequest* request, 214 net::URLRequest* request,
223 const net::AuthChallengeInfo& auth_info, 215 const net::AuthChallengeInfo& auth_info,
224 const AuthCallback& callback, 216 const AuthCallback& callback,
225 net::AuthCredentials* credentials) OVERRIDE; 217 net::AuthCredentials* credentials) OVERRIDE;
218 virtual bool CanGetCookies(const net::URLRequest* request,
219 const net::CookieList& cookie_list) OVERRIDE;
220 virtual bool CanSetCookie(const net::URLRequest* request,
221 const std::string& cookie_line,
222 net::CookieOptions* options) OVERRIDE;
226 223
227 void InitRequestStatesIfNew(int request_id); 224 void InitRequestStatesIfNew(int request_id);
228 225
229 int last_error_; 226 int last_error_;
230 int error_count_; 227 int error_count_;
231 int created_requests_; 228 int created_requests_;
232 int destroyed_requests_; 229 int destroyed_requests_;
233 int completed_requests_; 230 int completed_requests_;
231 int cookie_options_bit_mask_;
232 int blocked_get_cookies_count_;
233 int blocked_set_cookie_count_;
234 int set_cookie_count_;
234 235
235 // net::NetworkDelegate callbacks happen in a particular order (e.g. 236 // net::NetworkDelegate callbacks happen in a particular order (e.g.
236 // OnBeforeURLRequest is always called before OnBeforeSendHeaders). 237 // OnBeforeURLRequest is always called before OnBeforeSendHeaders).
237 // This bit-set indicates for each request id (key) what events may be sent 238 // This bit-set indicates for each request id (key) what events may be sent
238 // next. 239 // next.
239 std::map<int, int> next_states_; 240 std::map<int, int> next_states_;
240 241
241 // A log that records for each request id (key) the order in which On... 242 // A log that records for each request id (key) the order in which On...
242 // functions were called. 243 // functions were called.
243 std::map<int, std::string> event_order_; 244 std::map<int, std::string> event_order_;
(...skipping 18 matching lines...) Expand all
262 263
263 private: 264 private:
264 static std::string value_; 265 static std::string value_;
265 const std::string old_value_; 266 const std::string old_value_;
266 const std::string new_value_; 267 const std::string new_value_;
267 268
268 DISALLOW_COPY_AND_ASSIGN(ScopedCustomUrlRequestTestHttpHost); 269 DISALLOW_COPY_AND_ASSIGN(ScopedCustomUrlRequestTestHttpHost);
269 }; 270 };
270 271
271 #endif // NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_ 272 #endif // NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698