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

Side by Side Diff: components/doodle/doodle_fetcher_impl_unittest.cc

Issue 2798033002: [Doodle] Allow overriding the API URL via a fieldtrial param (Closed)
Patch Set: .name Created 3 years, 8 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
« no previous file with comments | « components/doodle/doodle_fetcher_impl.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/doodle/doodle_fetcher_impl.h" 5 #include "components/doodle/doodle_fetcher_impl.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 success.Run(std::move(value)); 63 success.Run(std::move(value));
64 } else { 64 } else {
65 error.Run(json_reader.GetErrorMessage()); 65 error.Run(json_reader.GetErrorMessage());
66 } 66 }
67 } 67 }
68 68
69 } // namespace 69 } // namespace
70 70
71 class DoodleFetcherImplTestBase : public testing::Test { 71 class DoodleFetcherImplTestBase : public testing::Test {
72 public: 72 public:
73 DoodleFetcherImplTestBase(bool gray_background) 73 DoodleFetcherImplTestBase(bool gray_background,
74 const base::Optional<std::string>& override_url)
74 : google_url_tracker_(base::MakeUnique<GoogleURLTrackerClientStub>(), 75 : google_url_tracker_(base::MakeUnique<GoogleURLTrackerClientStub>(),
75 GoogleURLTracker::UNIT_TEST_MODE), 76 GoogleURLTracker::UNIT_TEST_MODE),
76 doodle_fetcher_( 77 doodle_fetcher_(
77 new net::TestURLRequestContextGetter(message_loop_.task_runner()), 78 new net::TestURLRequestContextGetter(message_loop_.task_runner()),
78 &google_url_tracker_, 79 &google_url_tracker_,
79 base::Bind(ParseJson), 80 base::Bind(ParseJson),
80 gray_background) {} 81 gray_background,
82 override_url) {}
81 83
82 void RespondWithData(const std::string& data) { 84 void RespondWithData(const std::string& data) {
83 net::TestURLFetcher* url_fetcher = GetRunningFetcher(); 85 net::TestURLFetcher* url_fetcher = GetRunningFetcher();
84 url_fetcher->set_status(net::URLRequestStatus()); 86 url_fetcher->set_status(net::URLRequestStatus());
85 url_fetcher->set_response_code(net::HTTP_OK); 87 url_fetcher->set_response_code(net::HTTP_OK);
86 url_fetcher->SetResponseString(data); 88 url_fetcher->SetResponseString(data);
87 // Call the URLFetcher delegate to continue the test. 89 // Call the URLFetcher delegate to continue the test.
88 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher); 90 url_fetcher->delegate()->OnURLFetchComplete(url_fetcher);
89 } 91 }
90 92
(...skipping 23 matching lines...) Expand all
114 private: 116 private:
115 base::MessageLoop message_loop_; 117 base::MessageLoop message_loop_;
116 net::TestURLFetcherFactory url_fetcher_factory_; 118 net::TestURLFetcherFactory url_fetcher_factory_;
117 GoogleURLTracker google_url_tracker_; 119 GoogleURLTracker google_url_tracker_;
118 DoodleFetcherImpl doodle_fetcher_; 120 DoodleFetcherImpl doodle_fetcher_;
119 }; 121 };
120 122
121 class DoodleFetcherImplTest : public DoodleFetcherImplTestBase { 123 class DoodleFetcherImplTest : public DoodleFetcherImplTestBase {
122 public: 124 public:
123 DoodleFetcherImplTest() 125 DoodleFetcherImplTest()
124 : DoodleFetcherImplTestBase(/*gray_background=*/true) {} 126 : DoodleFetcherImplTestBase(/*gray_background=*/true,
127 /*override_url=*/base::nullopt) {}
125 }; 128 };
126 129
127 TEST_F(DoodleFetcherImplTest, ReturnsFromFetchWithoutError) { 130 TEST_F(DoodleFetcherImplTest, ReturnsFromFetchWithoutError) {
128 base::MockCallback<DoodleFetcherImpl::FinishedCallback> callback; 131 base::MockCallback<DoodleFetcherImpl::FinishedCallback> callback;
129 doodle_fetcher()->FetchDoodle(callback.Get()); 132 doodle_fetcher()->FetchDoodle(callback.Get());
130 133
131 DoodleState state = DoodleState::NO_DOODLE; 134 DoodleState state = DoodleState::NO_DOODLE;
132 base::Optional<DoodleConfig> response; 135 base::Optional<DoodleConfig> response;
133 EXPECT_CALL(callback, Run(_, _, _)) 136 EXPECT_CALL(callback, Run(_, _, _))
134 .WillOnce(DoAll(SaveArg<0>(&state), SaveArg<2>(&response))); 137 .WillOnce(DoAll(SaveArg<0>(&state), SaveArg<2>(&response)));
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 base::MockCallback<DoodleFetcherImpl::FinishedCallback> callback; 418 base::MockCallback<DoodleFetcherImpl::FinishedCallback> callback;
416 doodle_fetcher()->FetchDoodle(callback.Get()); 419 doodle_fetcher()->FetchDoodle(callback.Get());
417 420
418 EXPECT_THAT(GetRunningFetcher()->GetOriginalURL(), 421 EXPECT_THAT(GetRunningFetcher()->GetOriginalURL(),
419 Eq(GURL("http://www.google.kz").Resolve(kDoodleConfigPath))); 422 Eq(GURL("http://www.google.kz").Resolve(kDoodleConfigPath)));
420 } 423 }
421 424
422 class DoodleFetcherImplNoGrayBgTest : public DoodleFetcherImplTestBase { 425 class DoodleFetcherImplNoGrayBgTest : public DoodleFetcherImplTestBase {
423 public: 426 public:
424 DoodleFetcherImplNoGrayBgTest() 427 DoodleFetcherImplNoGrayBgTest()
425 : DoodleFetcherImplTestBase(/*gray_background=*/false) {} 428 : DoodleFetcherImplTestBase(/*gray_background=*/false,
429 /*override_url=*/base::nullopt) {}
426 }; 430 };
427 431
428 TEST_F(DoodleFetcherImplNoGrayBgTest, PassesNoGrayBgParam) { 432 TEST_F(DoodleFetcherImplNoGrayBgTest, PassesNoGrayBgParam) {
429 base::MockCallback<DoodleFetcherImpl::FinishedCallback> callback; 433 base::MockCallback<DoodleFetcherImpl::FinishedCallback> callback;
430 doodle_fetcher()->FetchDoodle(callback.Get()); 434 doodle_fetcher()->FetchDoodle(callback.Get());
431 435
432 EXPECT_THAT(GetRunningFetcher()->GetOriginalURL(), 436 EXPECT_THAT(GetRunningFetcher()->GetOriginalURL(),
433 Eq(Resolve(kDoodleConfigPathNoGrayBg))); 437 Eq(Resolve(kDoodleConfigPathNoGrayBg)));
434 } 438 }
435 439
440 class DoodleFetcherImplRelativeOverrideUrlTest
441 : public DoodleFetcherImplTestBase {
442 public:
443 DoodleFetcherImplRelativeOverrideUrlTest()
444 : DoodleFetcherImplTestBase(/*gray_background=*/false,
445 /*override_url=*/std::string("/different")) {}
446 };
447
448 TEST_F(DoodleFetcherImplRelativeOverrideUrlTest, OverridesWithRelativeUrl) {
449 base::MockCallback<DoodleFetcherImpl::FinishedCallback> callback;
450 doodle_fetcher()->FetchDoodle(callback.Get());
451
452 EXPECT_THAT(GetRunningFetcher()->GetOriginalURL(), Eq(Resolve("/different")));
453 }
454
455 class DoodleFetcherImplAbsoluteOverrideUrlTest
456 : public DoodleFetcherImplTestBase {
457 public:
458 DoodleFetcherImplAbsoluteOverrideUrlTest()
459 : DoodleFetcherImplTestBase(
460 /*gray_background=*/false,
461 /*override_url=*/std::string("http://host.com/ddl")) {}
462 };
463
464 TEST_F(DoodleFetcherImplAbsoluteOverrideUrlTest, OverridesWithAbsoluteUrl) {
465 base::MockCallback<DoodleFetcherImpl::FinishedCallback> callback;
466 doodle_fetcher()->FetchDoodle(callback.Get());
467
468 EXPECT_THAT(GetRunningFetcher()->GetOriginalURL(),
469 Eq(GURL("http://host.com/ddl")));
470 }
471
436 } // namespace doodle 472 } // namespace doodle
OLDNEW
« no previous file with comments | « components/doodle/doodle_fetcher_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698