OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "chrome/browser/net/certificate_error_reporter.h" | 5 #include "chrome/browser/net/certificate_error_reporter.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
194 TestURLRequestContext* context, | 194 TestURLRequestContext* context, |
195 const std::string& report_hostname, | 195 const std::string& report_hostname, |
196 const GURL& url, | 196 const GURL& url, |
197 int request_sequence_number) { | 197 int request_sequence_number) { |
198 base::RunLoop run_loop; | 198 base::RunLoop run_loop; |
199 network_delegate->set_url_request_destroyed_callback(run_loop.QuitClosure()); | 199 network_delegate->set_url_request_destroyed_callback(run_loop.QuitClosure()); |
200 | 200 |
201 network_delegate->set_expected_url(url); | 201 network_delegate->set_expected_url(url); |
202 network_delegate->ExpectHostname(report_hostname); | 202 network_delegate->ExpectHostname(report_hostname); |
203 | 203 |
204 CertificateErrorReporter reporter(context, url); | 204 CertificateErrorReporter reporter( |
| 205 context, url, CertificateErrorReporter::DO_NOT_SEND_COOKIES); |
205 | 206 |
206 EXPECT_EQ(request_sequence_number, network_delegate->num_requests()); | 207 EXPECT_EQ(request_sequence_number, network_delegate->num_requests()); |
207 | 208 |
208 reporter.SendReport(CertificateErrorReporter::REPORT_TYPE_PINNING_VIOLATION, | 209 reporter.SendReport(CertificateErrorReporter::REPORT_TYPE_PINNING_VIOLATION, |
209 report_hostname, GetTestSSLInfo()); | 210 report_hostname, GetTestSSLInfo()); |
210 run_loop.Run(); | 211 run_loop.Run(); |
211 | 212 |
212 EXPECT_EQ(request_sequence_number + 1, network_delegate->num_requests()); | 213 EXPECT_EQ(request_sequence_number + 1, network_delegate->num_requests()); |
213 } | 214 } |
214 | 215 |
(...skipping 13 matching lines...) Expand all Loading... |
228 TEST_F(CertificateErrorReporterTest, SendMultipleReportsSimultaneously) { | 229 TEST_F(CertificateErrorReporterTest, SendMultipleReportsSimultaneously) { |
229 base::RunLoop run_loop; | 230 base::RunLoop run_loop; |
230 network_delegate()->set_all_url_requests_destroyed_callback( | 231 network_delegate()->set_all_url_requests_destroyed_callback( |
231 run_loop.QuitClosure()); | 232 run_loop.QuitClosure()); |
232 | 233 |
233 GURL url = net::URLRequestMockDataJob::GetMockHttpsUrl("dummy data", 1); | 234 GURL url = net::URLRequestMockDataJob::GetMockHttpsUrl("dummy data", 1); |
234 network_delegate()->set_expected_url(url); | 235 network_delegate()->set_expected_url(url); |
235 network_delegate()->ExpectHostname(kHostname); | 236 network_delegate()->ExpectHostname(kHostname); |
236 network_delegate()->ExpectHostname(kSecondRequestHostname); | 237 network_delegate()->ExpectHostname(kSecondRequestHostname); |
237 | 238 |
238 CertificateErrorReporter reporter(context(), url); | 239 CertificateErrorReporter reporter( |
| 240 context(), url, CertificateErrorReporter::DO_NOT_SEND_COOKIES); |
239 | 241 |
240 EXPECT_EQ(0, network_delegate()->num_requests()); | 242 EXPECT_EQ(0, network_delegate()->num_requests()); |
241 | 243 |
242 reporter.SendReport(CertificateErrorReporter::REPORT_TYPE_PINNING_VIOLATION, | 244 reporter.SendReport(CertificateErrorReporter::REPORT_TYPE_PINNING_VIOLATION, |
243 kHostname, GetTestSSLInfo()); | 245 kHostname, GetTestSSLInfo()); |
244 reporter.SendReport(CertificateErrorReporter::REPORT_TYPE_PINNING_VIOLATION, | 246 reporter.SendReport(CertificateErrorReporter::REPORT_TYPE_PINNING_VIOLATION, |
245 kSecondRequestHostname, GetTestSSLInfo()); | 247 kSecondRequestHostname, GetTestSSLInfo()); |
246 | 248 |
247 run_loop.Run(); | 249 run_loop.Run(); |
248 | 250 |
249 EXPECT_EQ(2, network_delegate()->num_requests()); | 251 EXPECT_EQ(2, network_delegate()->num_requests()); |
250 } | 252 } |
251 | 253 |
252 // Test that pending URLRequests get cleaned up when the reporter is | 254 // Test that pending URLRequests get cleaned up when the reporter is |
253 // deleted. | 255 // deleted. |
254 TEST_F(CertificateErrorReporterTest, PendingRequestGetsDeleted) { | 256 TEST_F(CertificateErrorReporterTest, PendingRequestGetsDeleted) { |
255 base::RunLoop run_loop; | 257 base::RunLoop run_loop; |
256 network_delegate()->set_url_request_destroyed_callback( | 258 network_delegate()->set_url_request_destroyed_callback( |
257 run_loop.QuitClosure()); | 259 run_loop.QuitClosure()); |
258 | 260 |
259 GURL url = net::URLRequestMockHTTPJob::GetMockUrlWithFailure( | 261 GURL url = net::URLRequestMockHTTPJob::GetMockUrlWithFailure( |
260 base::FilePath(FILE_PATH_LITERAL("empty.html")), | 262 base::FilePath(FILE_PATH_LITERAL("empty.html")), |
261 net::URLRequestMockHTTPJob::START, net::ERR_IO_PENDING); | 263 net::URLRequestMockHTTPJob::START, net::ERR_IO_PENDING); |
262 network_delegate()->set_expected_url(url); | 264 network_delegate()->set_expected_url(url); |
263 network_delegate()->ExpectHostname(kHostname); | 265 network_delegate()->ExpectHostname(kHostname); |
264 | 266 |
265 EXPECT_EQ(0, network_delegate()->num_requests()); | 267 EXPECT_EQ(0, network_delegate()->num_requests()); |
266 | 268 |
267 scoped_ptr<CertificateErrorReporter> reporter( | 269 scoped_ptr<CertificateErrorReporter> reporter(new CertificateErrorReporter( |
268 new CertificateErrorReporter(context(), url)); | 270 context(), url, CertificateErrorReporter::DO_NOT_SEND_COOKIES)); |
269 reporter->SendReport(CertificateErrorReporter::REPORT_TYPE_PINNING_VIOLATION, | 271 reporter->SendReport(CertificateErrorReporter::REPORT_TYPE_PINNING_VIOLATION, |
270 kHostname, GetTestSSLInfo()); | 272 kHostname, GetTestSSLInfo()); |
271 reporter.reset(); | 273 reporter.reset(); |
272 | 274 |
273 run_loop.Run(); | 275 run_loop.Run(); |
274 | 276 |
275 EXPECT_EQ(1, network_delegate()->num_requests()); | 277 EXPECT_EQ(1, network_delegate()->num_requests()); |
276 } | 278 } |
277 | 279 |
278 // Test that a request that returns an error gets cleaned up. | 280 // Test that a request that returns an error gets cleaned up. |
279 TEST_F(CertificateErrorReporterTest, ErroredRequestGetsDeleted) { | 281 TEST_F(CertificateErrorReporterTest, ErroredRequestGetsDeleted) { |
280 GURL url = net::URLRequestFailedJob::GetMockHttpsUrl(net::ERR_FAILED); | 282 GURL url = net::URLRequestFailedJob::GetMockHttpsUrl(net::ERR_FAILED); |
281 SendReport(network_delegate(), context(), kHostname, url, 0); | 283 SendReport(network_delegate(), context(), kHostname, url, 0); |
282 } | 284 } |
283 | 285 |
284 } // namespace | 286 } // namespace |
OLD | NEW |