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

Side by Side Diff: components/ntp_snippets/remote/ntp_snippets_service_unittest.cc

Issue 2421463002: FetchMore functionality backend (Closed)
Patch Set: Strategy pattern to handle differences in fetching procedure. Created 4 years, 2 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
OLDNEW
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 "components/ntp_snippets/remote/ntp_snippets_service.h" 5 #include "components/ntp_snippets/remote/ntp_snippets_service.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 net::URLRequestStatus::SUCCESS); 496 net::URLRequestStatus::SUCCESS);
497 } 497 }
498 498
499 void LoadFromJSONString(NTPSnippetsService* service, 499 void LoadFromJSONString(NTPSnippetsService* service,
500 const std::string& json) { 500 const std::string& json) {
501 SetUpFetchResponse(json); 501 SetUpFetchResponse(json);
502 service->FetchSnippets(true); 502 service->FetchSnippets(true);
503 base::RunLoop().RunUntilIdle(); 503 base::RunLoop().RunUntilIdle();
504 } 504 }
505 505
506 void LoadMoreFromJSONString(NTPSnippetsService* service,
507 const std::string& json) {
508 SetUpFetchResponse(json);
509 service->FetchMore();
510 base::RunLoop().RunUntilIdle();
511 }
512
506 private: 513 private:
507 variations::testing::VariationParamsManager params_manager_; 514 variations::testing::VariationParamsManager params_manager_;
508 test::NTPSnippetsTestUtils utils_; 515 test::NTPSnippetsTestUtils utils_;
509 base::MessageLoop message_loop_; 516 base::MessageLoop message_loop_;
510 FailingFakeURLFetcherFactory failing_url_fetcher_factory_; 517 FailingFakeURLFetcherFactory failing_url_fetcher_factory_;
511 // Instantiation of factory automatically sets itself as URLFetcher's factory. 518 // Instantiation of factory automatically sets itself as URLFetcher's factory.
512 net::FakeURLFetcherFactory fake_url_fetcher_factory_; 519 net::FakeURLFetcherFactory fake_url_fetcher_factory_;
513 const GURL test_url_; 520 const GURL test_url_;
514 std::unique_ptr<OAuth2TokenService> fake_token_service_; 521 std::unique_ptr<OAuth2TokenService> fake_token_service_;
515 UserClassifier user_classifier_; 522 UserClassifier user_classifier_;
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 EXPECT_THAT(service->GetSnippetsForTesting(articles_category()), 832 EXPECT_THAT(service->GetSnippetsForTesting(articles_category()),
826 ElementsAre(IdEq(first))); 833 ElementsAre(IdEq(first)));
827 834
828 std::string second("http://second"); 835 std::string second("http://second");
829 LoadFromJSONString(service.get(), GetTestJson({GetSnippetWithUrl(second)})); 836 LoadFromJSONString(service.get(), GetTestJson({GetSnippetWithUrl(second)}));
830 // The snippets loaded last replace all that was loaded previously. 837 // The snippets loaded last replace all that was loaded previously.
831 EXPECT_THAT(service->GetSnippetsForTesting(articles_category()), 838 EXPECT_THAT(service->GetSnippetsForTesting(articles_category()),
832 ElementsAre(IdEq(second))); 839 ElementsAre(IdEq(second)));
833 } 840 }
834 841
842 TEST_F(NTPSnippetsServiceTest, LoadsAdditionalSnippets) {
843 auto service = MakeSnippetsService();
844
845 std::string first("http://first");
846 LoadFromJSONString(service.get(), GetTestJson({GetSnippetWithUrl(first)}));
847 EXPECT_THAT(service->GetSnippetsForTesting(articles_category()),
848 ElementsAre(IdEq(first)));
849
850 std::string second("http://second");
851 LoadMoreFromJSONString(service.get(),
852 GetTestJson({GetSnippetWithUrl(second)}));
853 // The snippets loaded last are added to the previously loaded.
854 EXPECT_THAT(service->GetSnippetsForTesting(articles_category()),
855 ElementsAre(IdEq(first), IdEq(second)));
856 }
857
835 TEST_F(NTPSnippetsServiceTest, LoadInvalidJson) { 858 TEST_F(NTPSnippetsServiceTest, LoadInvalidJson) {
836 auto service = MakeSnippetsService(); 859 auto service = MakeSnippetsService();
837 860
838 LoadFromJSONString(service.get(), GetTestJson({GetInvalidSnippet()})); 861 LoadFromJSONString(service.get(), GetTestJson({GetInvalidSnippet()}));
839 EXPECT_THAT(service->snippets_fetcher()->last_status(), 862 EXPECT_THAT(service->snippets_fetcher()->last_status(),
840 StartsWith("Received invalid JSON")); 863 StartsWith("Received invalid JSON"));
841 EXPECT_THAT(service->GetSnippetsForTesting(articles_category()), IsEmpty()); 864 EXPECT_THAT(service->GetSnippetsForTesting(articles_category()), IsEmpty());
842 } 865 }
843 866
844 TEST_F(NTPSnippetsServiceTest, LoadInvalidJsonWithExistingSnippets) { 867 TEST_F(NTPSnippetsServiceTest, LoadInvalidJsonWithExistingSnippets) {
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
1296 base::StringPrintf("http://localhost/snippet-id-%d", i))); 1319 base::StringPrintf("http://localhost/snippet-id-%d", i)));
1297 } 1320 }
1298 LoadFromJSONString(service.get(), GetTestJson(suggestions)); 1321 LoadFromJSONString(service.get(), GetTestJson(suggestions));
1299 // TODO(tschumann): We should probably trim out any additional results and 1322 // TODO(tschumann): We should probably trim out any additional results and
1300 // only serve the MaxSnippetCount items. 1323 // only serve the MaxSnippetCount items.
1301 EXPECT_THAT(service->GetSnippetsForTesting(articles_category()), 1324 EXPECT_THAT(service->GetSnippetsForTesting(articles_category()),
1302 SizeIs(service->GetMaxSnippetCountForTesting() + 1)); 1325 SizeIs(service->GetMaxSnippetCountForTesting() + 1));
1303 } 1326 }
1304 1327
1305 } // namespace ntp_snippets 1328 } // namespace ntp_snippets
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698