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

Side by Side Diff: chrome/browser/notifications/sync_notifier/synced_notification_app_info_service_unittest.cc

Issue 228753006: Reland r262272: "Hook up the Info URL from SyncedNotificationsAppInfo". (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed test on linux+aura, disabled on linux-gtk Created 6 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 | Annotate | Revision Log
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 "chrome/browser/notifications/sync_notifier/synced_notification_app_inf o_service.h" 5 #include "chrome/browser/notifications/sync_notifier/synced_notification_app_inf o_service.h"
6 6
7 #include "chrome/browser/notifications/sync_notifier/sync_notifier_test_utils.h" 7 #include "chrome/browser/notifications/sync_notifier/sync_notifier_test_utils.h"
8 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
9 #include "chrome/test/base/testing_pref_service_syncable.h" 9 #include "chrome/test/base/testing_pref_service_syncable.h"
10 #include "chrome/test/base/testing_profile.h" 10 #include "chrome/test/base/testing_profile.h"
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 // Add to the list. 130 // Add to the list.
131 app_info_service->sending_service_infos_.push_back(test_item2); 131 app_info_service->sending_service_infos_.push_back(test_item2);
132 } 132 }
133 133
134 // Put some representative test data into the AppInfo protobuf. 134 // Put some representative test data into the AppInfo protobuf.
135 static void FillProtobufWithTestData1( 135 static void FillProtobufWithTestData1(
136 sync_pb::SyncedNotificationAppInfo& protobuf) { 136 sync_pb::SyncedNotificationAppInfo& protobuf) {
137 protobuf.add_app_id(std::string(kAppId1)); 137 protobuf.add_app_id(std::string(kAppId1));
138 protobuf.add_app_id(std::string(kAppId2)); 138 protobuf.add_app_id(std::string(kAppId2));
139 protobuf.set_settings_display_name(kSendingService1Name); 139 protobuf.set_settings_display_name(kSendingService1Name);
140 protobuf.set_info_url(kTestInfoUrl);
140 protobuf.mutable_icon()->set_url(kTestIconUrl); 141 protobuf.mutable_icon()->set_url(kTestIconUrl);
141 } 142 }
142 143
143 static void FillProtobufWithTestData2( 144 static void FillProtobufWithTestData2(
144 sync_pb::SyncedNotificationAppInfo& protobuf) { 145 sync_pb::SyncedNotificationAppInfo& protobuf) {
145 protobuf.add_app_id(std::string(kAppId3)); 146 protobuf.add_app_id(std::string(kAppId3));
146 protobuf.set_settings_display_name(kSendingService1Name); 147 protobuf.set_settings_display_name(kSendingService1Name);
147 protobuf.mutable_icon()->set_url(kTestIconUrl); 148 protobuf.mutable_icon()->set_url(kTestIconUrl);
148 } 149 }
149 150
150 // Helper to create syncer::SyncChange. 151 // Helper to create syncer::SyncChange.
151 static SyncChange CreateSyncChange(SyncChange::SyncChangeType type, 152 static SyncChange CreateSyncChange(SyncChange::SyncChangeType type,
152 const std::string& settings_display_name, 153 const std::string& settings_display_name,
154 const std::string& info_url,
153 const std::string& icon_url, 155 const std::string& icon_url,
154 const std::string& app_id1, 156 const std::string& app_id1,
155 const std::string& app_id2) { 157 const std::string& app_id2) {
156 158
157 return SyncChange( 159 return SyncChange(
158 FROM_HERE, 160 FROM_HERE,
159 type, 161 type,
160 CreateSyncData(settings_display_name, icon_url, app_id1, app_id2)); 162 CreateSyncData(
163 settings_display_name, info_url, icon_url, app_id1, app_id2));
161 } 164 }
162 165
163 // Build a SyncData object to look like what Sync would deliver. 166 // Build a SyncData object to look like what Sync would deliver.
164 static SyncData CreateSyncData(const std::string& settings_display_name, 167 static SyncData CreateSyncData(const std::string& settings_display_name,
168 const std::string& info_url,
165 const std::string& icon_url, 169 const std::string& icon_url,
166 const std::string& app_id1, 170 const std::string& app_id1,
167 const std::string& app_id2) { 171 const std::string& app_id2) {
168 // CreateLocalData makes a copy of this, so it can safely live on the stack. 172 // CreateLocalData makes a copy of this, so it can safely live on the stack.
169 EntitySpecifics entity_specifics; 173 EntitySpecifics entity_specifics;
170 EXPECT_FALSE(app_id1.empty()); 174 EXPECT_FALSE(app_id1.empty());
171 175
172 sync_pb::SyncedNotificationAppInfoSpecifics* specifics = 176 sync_pb::SyncedNotificationAppInfoSpecifics* specifics =
173 entity_specifics.mutable_synced_notification_app_info(); 177 entity_specifics.mutable_synced_notification_app_info();
174 178
175 // Add a synced_notification_app_info object. 179 // Add a synced_notification_app_info object.
176 specifics->add_synced_notification_app_info(); 180 specifics->add_synced_notification_app_info();
177 sync_pb::SyncedNotificationAppInfo* app_info = 181 sync_pb::SyncedNotificationAppInfo* app_info =
178 specifics->mutable_synced_notification_app_info(0); 182 specifics->mutable_synced_notification_app_info(0);
179 183
180 // Add the key, the settings display name. 184 // Add the key, the settings display name.
181 app_info->set_settings_display_name(settings_display_name); 185 app_info->set_settings_display_name(settings_display_name);
182 186
187 // Add the welcome notification info URL.
188 app_info->set_info_url(info_url);
189
183 // Add the icon URL. 190 // Add the icon URL.
184 app_info->mutable_icon()->set_url(icon_url); 191 app_info->mutable_icon()->set_url(icon_url);
185 192
186 // Add the app IDs. 193 // Add the app IDs.
187 app_info->add_app_id(app_id1); 194 app_info->add_app_id(app_id1);
188 195
189 // Only add the second if it is non-empty 196 // Only add the second if it is non-empty
190 if (!app_id2.empty()) { 197 if (!app_id2.empty()) {
191 app_info->add_app_id(app_id2); 198 app_info->add_app_id(app_id2);
192 } 199 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 // Process sync changes when there is no local data. 242 // Process sync changes when there is no local data.
236 TEST_F(SyncedNotificationAppInfoServiceTest, ProcessSyncChangesEmptyModel) { 243 TEST_F(SyncedNotificationAppInfoServiceTest, ProcessSyncChangesEmptyModel) {
237 // We initially have no data. 244 // We initially have no data.
238 SyncedNotificationAppInfoService app_info_service(profile_.get()); 245 SyncedNotificationAppInfoService app_info_service(profile_.get());
239 app_info_service.set_avoid_bitmap_fetching_for_test(true); 246 app_info_service.set_avoid_bitmap_fetching_for_test(true);
240 247
241 // Set up an ADD. 248 // Set up an ADD.
242 SyncChangeList changes; 249 SyncChangeList changes;
243 changes.push_back(CreateSyncChange(SyncChange::ACTION_ADD, 250 changes.push_back(CreateSyncChange(SyncChange::ACTION_ADD,
244 kSendingService1Name, 251 kSendingService1Name,
252 kTestInfoUrl,
245 kTestIconUrl, 253 kTestIconUrl,
246 kAppId1, 254 kAppId1,
247 kAppId2)); 255 kAppId2));
248 256
249 // Process the changes we built. 257 // Process the changes we built.
250 app_info_service.ProcessSyncChanges(FROM_HERE, changes); 258 app_info_service.ProcessSyncChanges(FROM_HERE, changes);
251 259
252 // Verify sync change made it to the SyncedNotificationAppInfo list. 260 // Verify sync change made it to the SyncedNotificationAppInfo list.
253 SyncedNotificationAppInfo* app_info1 = 261 SyncedNotificationAppInfo* app_info1 =
254 app_info_service.FindSyncedNotificationAppInfoByName( 262 app_info_service.FindSyncedNotificationAppInfoByName(
(...skipping 11 matching lines...) Expand all
266 app_info_service.set_avoid_bitmap_fetching_for_test(true); 274 app_info_service.set_avoid_bitmap_fetching_for_test(true);
267 275
268 // Create some local fake data. We rely on the specific ids set up here. 276 // Create some local fake data. We rely on the specific ids set up here.
269 AddTestingAppInfosToList(&app_info_service); 277 AddTestingAppInfosToList(&app_info_service);
270 278
271 // Set up an UPDATE. 279 // Set up an UPDATE.
272 SyncChangeList changes; 280 SyncChangeList changes;
273 281
274 changes.push_back(CreateSyncChange(SyncChange::ACTION_UPDATE, 282 changes.push_back(CreateSyncChange(SyncChange::ACTION_UPDATE,
275 kSendingService1Name, 283 kSendingService1Name,
284 kTestInfoUrl,
276 kTestIconUrl, 285 kTestIconUrl,
277 kAppId1, 286 kAppId1,
278 kAppId3)); 287 kAppId3));
279 288
280 // Simulate incoming changed sync data at runtime. 289 // Simulate incoming changed sync data at runtime.
281 app_info_service.ProcessSyncChanges(FROM_HERE, changes); 290 app_info_service.ProcessSyncChanges(FROM_HERE, changes);
282 291
283 // We should find that the first item now has a different set of app ids. 292 // We should find that the first item now has a different set of app ids.
284 SyncedNotificationAppInfo* app_info1 = 293 SyncedNotificationAppInfo* app_info1 =
285 app_info_service.FindSyncedNotificationAppInfoByName( 294 app_info_service.FindSyncedNotificationAppInfoByName(
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 sync_pb::SyncedNotificationAppInfo protobuf; 374 sync_pb::SyncedNotificationAppInfo protobuf;
366 FillProtobufWithTestData1(protobuf); 375 FillProtobufWithTestData1(protobuf);
367 376
368 scoped_ptr<SyncedNotificationAppInfo> app_info; 377 scoped_ptr<SyncedNotificationAppInfo> app_info;
369 app_info = 378 app_info =
370 app_info_service.CreateSyncedNotificationAppInfoFromProtobuf(protobuf); 379 app_info_service.CreateSyncedNotificationAppInfoFromProtobuf(protobuf);
371 380
372 // Ensure the app info class has the fields we expect. 381 // Ensure the app info class has the fields we expect.
373 EXPECT_EQ(std::string(kSendingService1Name), 382 EXPECT_EQ(std::string(kSendingService1Name),
374 app_info->settings_display_name()); 383 app_info->settings_display_name());
384 EXPECT_EQ(GURL(kTestInfoUrl), app_info->welcome_link_url());
375 EXPECT_TRUE(app_info->HasAppId(kAppId1)); 385 EXPECT_TRUE(app_info->HasAppId(kAppId1));
376 EXPECT_TRUE(app_info->HasAppId(kAppId2)); 386 EXPECT_TRUE(app_info->HasAppId(kAppId2));
377 EXPECT_EQ(GURL(std::string(kTestIconUrl)), app_info->settings_icon_url()); 387 EXPECT_EQ(GURL(std::string(kTestIconUrl)), app_info->settings_icon_url());
378 } 388 }
379 389
380 // Test our find by sending service name function. 390 // Test our find by sending service name function.
381 TEST_F(SyncedNotificationAppInfoServiceTest, 391 TEST_F(SyncedNotificationAppInfoServiceTest,
382 FindSyncedNotificationAppInfoByNameTest) { 392 FindSyncedNotificationAppInfoByNameTest) {
383 SyncedNotificationAppInfoService app_info_service(profile_.get()); 393 SyncedNotificationAppInfoService app_info_service(profile_.get());
384 394
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 465
456 std::vector<SyncedNotificationSendingServiceSettingsData> data; 466 std::vector<SyncedNotificationSendingServiceSettingsData> data;
457 data = app_info_service.GetAllSendingServiceSettingsData(); 467 data = app_info_service.GetAllSendingServiceSettingsData();
458 468
459 EXPECT_EQ(static_cast<unsigned int>(2), data.size()); 469 EXPECT_EQ(static_cast<unsigned int>(2), data.size());
460 EXPECT_EQ(kSendingService1Name, data[0].settings_display_name); 470 EXPECT_EQ(kSendingService1Name, data[0].settings_display_name);
461 EXPECT_EQ(kSendingService2Name, data[1].settings_display_name); 471 EXPECT_EQ(kSendingService2Name, data[1].settings_display_name);
462 } 472 }
463 473
464 } // namespace notifier 474 } // namespace notifier
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698