| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/domain_reliability/monitor.h" | 5 #include "components/domain_reliability/monitor.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 | 288 |
| 289 // Add a beacon. | 289 // Add a beacon. |
| 290 RequestInfo request = MakeRequestInfo(); | 290 RequestInfo request = MakeRequestInfo(); |
| 291 request.url = GURL("http://example/"); | 291 request.url = GURL("http://example/"); |
| 292 request.status = net::URLRequestStatus::FromError(net::ERR_CONNECTION_RESET); | 292 request.status = net::URLRequestStatus::FromError(net::ERR_CONNECTION_RESET); |
| 293 OnRequestLegComplete(request); | 293 OnRequestLegComplete(request); |
| 294 | 294 |
| 295 // Make sure it was added. | 295 // Make sure it was added. |
| 296 EXPECT_EQ(1u, CountQueuedBeacons(context)); | 296 EXPECT_EQ(1u, CountQueuedBeacons(context)); |
| 297 | 297 |
| 298 monitor_.ClearBrowsingData(CLEAR_BEACONS); | 298 monitor_.ClearBrowsingData( |
| 299 CLEAR_BEACONS, base::Callback<bool(const GURL&)>()); |
| 299 | 300 |
| 300 // Make sure the beacon was cleared, but not the contexts. | 301 // Make sure the beacon was cleared, but not the contexts. |
| 301 EXPECT_EQ(1u, monitor_.contexts_size_for_testing()); | 302 EXPECT_EQ(1u, monitor_.contexts_size_for_testing()); |
| 302 EXPECT_EQ(0u, CountQueuedBeacons(context)); | 303 EXPECT_EQ(0u, CountQueuedBeacons(context)); |
| 303 } | 304 } |
| 304 | 305 |
| 306 TEST_F(DomainReliabilityMonitorTest, ClearBeaconsWithFilter) { |
| 307 // Create two contexts, each with one beacon. |
| 308 GURL origin1("http://example.com/"); |
| 309 GURL origin2("http://example.org/"); |
| 310 |
| 311 DomainReliabilityContext* context1 = |
| 312 CreateAndAddContextForOrigin(origin1, false); |
| 313 RequestInfo request = MakeRequestInfo(); |
| 314 request.url = origin1; |
| 315 request.status = |
| 316 net::URLRequestStatus::FromError(net::ERR_CONNECTION_RESET); |
| 317 OnRequestLegComplete(request); |
| 318 |
| 319 DomainReliabilityContext* context2 = |
| 320 CreateAndAddContextForOrigin(origin2, false); |
| 321 request = MakeRequestInfo(); |
| 322 request.url = origin2; |
| 323 request.status = |
| 324 net::URLRequestStatus::FromError(net::ERR_CONNECTION_RESET); |
| 325 OnRequestLegComplete(request); |
| 326 |
| 327 // Delete the beacons for |origin1|. |
| 328 monitor_.ClearBrowsingData( |
| 329 CLEAR_BEACONS, |
| 330 base::Bind(&GURL::operator==, base::Unretained(&origin1))); |
| 331 |
| 332 // Beacons for |context1| were cleared. Beacons for |context2| and |
| 333 // the contexts themselves were not. |
| 334 EXPECT_EQ(2u, monitor_.contexts_size_for_testing()); |
| 335 EXPECT_EQ(0u, CountQueuedBeacons(context1)); |
| 336 EXPECT_EQ(1u, CountQueuedBeacons(context2)); |
| 337 } |
| 338 |
| 305 TEST_F(DomainReliabilityMonitorTest, ClearContexts) { | 339 TEST_F(DomainReliabilityMonitorTest, ClearContexts) { |
| 306 CreateAndAddContext(); | 340 CreateAndAddContext(); |
| 307 | 341 |
| 308 // Initially the monitor should have just the test context. | 342 // Initially the monitor should have just the test context. |
| 309 EXPECT_EQ(1u, monitor_.contexts_size_for_testing()); | 343 EXPECT_EQ(1u, monitor_.contexts_size_for_testing()); |
| 310 | 344 |
| 311 monitor_.ClearBrowsingData(CLEAR_CONTEXTS); | 345 monitor_.ClearBrowsingData( |
| 346 CLEAR_CONTEXTS, base::Callback<bool(const GURL&)>()); |
| 312 | 347 |
| 313 // Clearing contexts should leave the monitor with none. | 348 // Clearing contexts should leave the monitor with none. |
| 314 EXPECT_EQ(0u, monitor_.contexts_size_for_testing()); | 349 EXPECT_EQ(0u, monitor_.contexts_size_for_testing()); |
| 315 } | 350 } |
| 316 | 351 |
| 352 TEST_F(DomainReliabilityMonitorTest, ClearContextsWithFilter) { |
| 353 GURL origin1("http://example.com/"); |
| 354 GURL origin2("http://example.org/"); |
| 355 |
| 356 CreateAndAddContextForOrigin(origin1, false); |
| 357 CreateAndAddContextForOrigin(origin2, false); |
| 358 |
| 359 EXPECT_EQ(2u, monitor_.contexts_size_for_testing()); |
| 360 |
| 361 // Delete the contexts for |origin1|. |
| 362 monitor_.ClearBrowsingData( |
| 363 CLEAR_CONTEXTS, |
| 364 base::Bind(&GURL::operator==, base::Unretained(&origin1))); |
| 365 |
| 366 // Only one of the contexts should have been deleted. |
| 367 EXPECT_EQ(1u, monitor_.contexts_size_for_testing()); |
| 368 } |
| 369 |
| 317 TEST_F(DomainReliabilityMonitorTest, WildcardMatchesSelf) { | 370 TEST_F(DomainReliabilityMonitorTest, WildcardMatchesSelf) { |
| 318 DomainReliabilityContext* context = | 371 DomainReliabilityContext* context = |
| 319 CreateAndAddContextForOrigin(GURL("https://wildcard/"), true); | 372 CreateAndAddContextForOrigin(GURL("https://wildcard/"), true); |
| 320 | 373 |
| 321 RequestInfo request = MakeRequestInfo(); | 374 RequestInfo request = MakeRequestInfo(); |
| 322 request.url = GURL("http://wildcard/"); | 375 request.url = GURL("http://wildcard/"); |
| 323 request.status = net::URLRequestStatus::FromError(net::ERR_CONNECTION_RESET); | 376 request.status = net::URLRequestStatus::FromError(net::ERR_CONNECTION_RESET); |
| 324 OnRequestLegComplete(request); | 377 OnRequestLegComplete(request); |
| 325 | 378 |
| 326 EXPECT_EQ(1u, CountQueuedBeacons(context)); | 379 EXPECT_EQ(1u, CountQueuedBeacons(context)); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 377 request.status = net::URLRequestStatus::FromError(net::ERR_CONNECTION_RESET); | 430 request.status = net::URLRequestStatus::FromError(net::ERR_CONNECTION_RESET); |
| 378 OnRequestLegComplete(request); | 431 OnRequestLegComplete(request); |
| 379 | 432 |
| 380 EXPECT_EQ(1u, CountQueuedBeacons(context1)); | 433 EXPECT_EQ(1u, CountQueuedBeacons(context1)); |
| 381 EXPECT_EQ(0u, CountQueuedBeacons(context2)); | 434 EXPECT_EQ(0u, CountQueuedBeacons(context2)); |
| 382 } | 435 } |
| 383 | 436 |
| 384 } // namespace | 437 } // namespace |
| 385 | 438 |
| 386 } // namespace domain_reliability | 439 } // namespace domain_reliability |
| OLD | NEW |