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/search_provider_logos/logo_tracker.h" | 5 #include "components/search_provider_logos/logo_tracker.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/base64.h" | 9 #include "base/base64.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
364 net::HttpStatusCode response_code) { | 364 net::HttpStatusCode response_code) { |
365 fake_url_fetcher_factory_.SetFakeResponse( | 365 fake_url_fetcher_factory_.SetFakeResponse( |
366 logo_url_, response, response_code, request_status); | 366 logo_url_, response, response_code, request_status); |
367 } | 367 } |
368 | 368 |
369 void LogoTrackerTest::SetServerResponseWhenFingerprint( | 369 void LogoTrackerTest::SetServerResponseWhenFingerprint( |
370 const std::string& fingerprint, | 370 const std::string& fingerprint, |
371 const std::string& response_when_fingerprint, | 371 const std::string& response_when_fingerprint, |
372 net::URLRequestStatus::Status request_status, | 372 net::URLRequestStatus::Status request_status, |
373 net::HttpStatusCode response_code) { | 373 net::HttpStatusCode response_code) { |
374 GURL url_with_fp = | 374 GURL url_with_fp = GoogleAppendFingerprintToLogoURL(logo_url_, fingerprint); |
375 net::AppendQueryParameter(logo_url_, "async", "es_dfp:" + fingerprint); | |
376 fake_url_fetcher_factory_.SetFakeResponse( | 375 fake_url_fetcher_factory_.SetFakeResponse( |
377 url_with_fp, response_when_fingerprint, response_code, request_status); | 376 url_with_fp, response_when_fingerprint, response_code, request_status); |
378 } | 377 } |
379 | 378 |
380 void LogoTrackerTest::GetLogo() { | 379 void LogoTrackerTest::GetLogo() { |
381 logo_tracker_->GetLogo(&observer_); | 380 logo_tracker_->GetLogo(&observer_); |
382 base::RunLoop().RunUntilIdle(); | 381 base::RunLoop().RunUntilIdle(); |
383 } | 382 } |
384 | 383 |
385 // Tests ----------------------------------------------------------------------- | 384 // Tests ----------------------------------------------------------------------- |
386 | 385 |
| 386 TEST_F(LogoTrackerTest, FingerprintURLHasColon) { |
| 387 GURL url_with_fp = GoogleAppendFingerprintToLogoURL( |
| 388 GURL("http://logourl.com/path"), "abc123"); |
| 389 EXPECT_EQ("http://logourl.com/path?async=es_dfp:abc123", url_with_fp.spec()); |
| 390 |
| 391 url_with_fp = GoogleAppendFingerprintToLogoURL( |
| 392 GURL("http://logourl.com/?a=b"), "cafe0"); |
| 393 EXPECT_EQ("http://logourl.com/?a=b&async=es_dfp:cafe0", url_with_fp.spec()); |
| 394 } |
| 395 |
387 TEST_F(LogoTrackerTest, DownloadAndCacheLogo) { | 396 TEST_F(LogoTrackerTest, DownloadAndCacheLogo) { |
388 Logo logo = GetSampleLogo(logo_url_, test_clock_->Now()); | 397 Logo logo = GetSampleLogo(logo_url_, test_clock_->Now()); |
389 SetServerResponse(ServerResponse(logo)); | 398 SetServerResponse(ServerResponse(logo)); |
390 logo_cache_->ExpectSetCachedLogo(&logo); | 399 logo_cache_->ExpectSetCachedLogo(&logo); |
391 observer_.ExpectFreshLogo(&logo); | 400 observer_.ExpectFreshLogo(&logo); |
392 GetLogo(); | 401 GetLogo(); |
393 } | 402 } |
394 | 403 |
395 TEST_F(LogoTrackerTest, EmptyCacheAndFailedDownload) { | 404 TEST_F(LogoTrackerTest, EmptyCacheAndFailedDownload) { |
396 EXPECT_CALL(*logo_cache_, UpdateCachedLogoMetadata(_)).Times(0); | 405 EXPECT_CALL(*logo_cache_, UpdateCachedLogoMetadata(_)).Times(0); |
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
659 MockLogoObserver listener2; | 668 MockLogoObserver listener2; |
660 listener2.ExpectFreshLogo(&logo); | 669 listener2.ExpectFreshLogo(&logo); |
661 logo_tracker_->GetLogo(&listener2); | 670 logo_tracker_->GetLogo(&listener2); |
662 | 671 |
663 base::RunLoop().RunUntilIdle(); | 672 base::RunLoop().RunUntilIdle(); |
664 } | 673 } |
665 | 674 |
666 } // namespace | 675 } // namespace |
667 | 676 |
668 } // namespace search_provider_logos | 677 } // namespace search_provider_logos |
OLD | NEW |