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

Side by Side Diff: components/suggestions/suggestions_service_unittest.cc

Issue 423133003: [Suggestions Service] Add support for expiring the SuggestionsStore (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more coding style changes and refactoring Created 6 years, 4 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 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/suggestions/suggestions_service.h" 5 #include "components/suggestions/suggestions_service.h"
6 6
7 #include <map> 7 #include <map>
8 #include <sstream> 8 #include <sstream>
9 #include <string> 9 #include <string>
10 10
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 namespace suggestions { 87 namespace suggestions {
88 88
89 scoped_ptr<SuggestionsProfile> CreateSuggestionsProfile() { 89 scoped_ptr<SuggestionsProfile> CreateSuggestionsProfile() {
90 scoped_ptr<SuggestionsProfile> profile(new SuggestionsProfile()); 90 scoped_ptr<SuggestionsProfile> profile(new SuggestionsProfile());
91 ChromeSuggestion* suggestion = profile->add_suggestions(); 91 ChromeSuggestion* suggestion = profile->add_suggestions();
92 suggestion->set_title(kTestTitle); 92 suggestion->set_title(kTestTitle);
93 suggestion->set_url(kTestUrl); 93 suggestion->set_url(kTestUrl);
94 return profile.Pass(); 94 return profile.Pass();
95 } 95 }
96 96
97 // Creates one suggestion with expiry timestamp and one without.
98 SuggestionsProfile CreateSuggestionsProfileWithExpiryTimestamps() {
99 int64 now = (base::Time::NowFromSystemTime() - base::Time::UnixEpoch())
100 .ToInternalValue();
101 SuggestionsProfile profile;
102 ChromeSuggestion* suggestion = profile.add_suggestions();
103 suggestion->set_title(kTestTitle);
104 suggestion->set_url(kTestUrl);
105 suggestion->set_expiry_ts(now);
106
107 suggestion = profile.add_suggestions();
108 suggestion->set_title(kTestTitle);
109 suggestion->set_url(kTestUrl);
110
111 return profile;
112 }
113
97 class MockSuggestionsStore : public suggestions::SuggestionsStore { 114 class MockSuggestionsStore : public suggestions::SuggestionsStore {
98 public: 115 public:
99 MOCK_METHOD1(LoadSuggestions, bool(SuggestionsProfile*)); 116 MOCK_METHOD1(LoadSuggestions, bool(SuggestionsProfile*));
100 MOCK_METHOD1(StoreSuggestions, bool(const SuggestionsProfile&)); 117 MOCK_METHOD1(StoreSuggestions, bool(const SuggestionsProfile&));
101 MOCK_METHOD0(ClearSuggestions, void()); 118 MOCK_METHOD0(ClearSuggestions, void());
102 }; 119 };
103 120
104 class MockImageManager : public suggestions::ImageManager { 121 class MockImageManager : public suggestions::ImageManager {
105 public: 122 public:
106 MockImageManager() {} 123 MockImageManager() {}
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 507
491 // Delay increases on failure. 508 // Delay increases on failure.
492 suggestions_service->UpdateBlacklistDelay(false); 509 suggestions_service->UpdateBlacklistDelay(false);
493 EXPECT_GT(suggestions_service->blacklist_delay(), initial_delay); 510 EXPECT_GT(suggestions_service->blacklist_delay(), initial_delay);
494 511
495 // Delay resets on success. 512 // Delay resets on success.
496 suggestions_service->UpdateBlacklistDelay(true); 513 suggestions_service->UpdateBlacklistDelay(true);
497 EXPECT_EQ(initial_delay, suggestions_service->blacklist_delay()); 514 EXPECT_EQ(initial_delay, suggestions_service->blacklist_delay());
498 } 515 }
499 516
517 TEST_F(SuggestionsServiceTest, CheckDefaultTimeStamps) {
518
519 scoped_ptr<SuggestionsService> suggestions_service(
520 CreateSuggestionsServiceWithMocks());
521 SuggestionsProfile suggestions =
522 CreateSuggestionsProfileWithExpiryTimestamps();
523 int64 now_usec = (base::Time::NowFromSystemTime() - base::Time::UnixEpoch())
524 .ToInternalValue();
525 int64 default_timestamp_usec = now_usec + kDefaultExpiryUsec;
526 suggestions_service->SetDefaultExpiryTimestamps(&suggestions,
527 default_timestamp_usec);
528
529 EXPECT_NE(suggestions.suggestions(0).expiry_ts(), default_timestamp_usec);
530 EXPECT_EQ(suggestions.suggestions(1).expiry_ts(), default_timestamp_usec);
531 }
500 } // namespace suggestions 532 } // namespace suggestions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698