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

Side by Side Diff: chrome/browser/sync/profile_sync_service_unittest.cc

Issue 10875064: Rename SyncNotifier->Invalidator and SyncNotifierObserver->InvalidationHandler. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge to ToT for landing Created 8 years, 3 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "base/file_util.h" 5 #include "base/file_util.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "base/message_loop.h" 7 #include "base/message_loop.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/signin/signin_manager.h" 9 #include "chrome/browser/signin/signin_manager.h"
10 #include "chrome/browser/signin/signin_manager_factory.h" 10 #include "chrome/browser/signin/signin_manager_factory.h"
11 #include "chrome/browser/signin/token_service.h" 11 #include "chrome/browser/signin/token_service.h"
12 #include "chrome/browser/signin/token_service_factory.h" 12 #include "chrome/browser/signin/token_service_factory.h"
13 #include "chrome/browser/sync/glue/bookmark_data_type_controller.h" 13 #include "chrome/browser/sync/glue/bookmark_data_type_controller.h"
14 #include "chrome/browser/sync/glue/data_type_controller.h" 14 #include "chrome/browser/sync/glue/data_type_controller.h"
15 #include "chrome/browser/sync/profile_sync_components_factory_mock.h" 15 #include "chrome/browser/sync/profile_sync_components_factory_mock.h"
16 #include "chrome/browser/sync/test_profile_sync_service.h" 16 #include "chrome/browser/sync/test_profile_sync_service.h"
17 #include "chrome/common/chrome_version_info.h" 17 #include "chrome/common/chrome_version_info.h"
18 #include "chrome/common/net/gaia/gaia_constants.h" 18 #include "chrome/common/net/gaia/gaia_constants.h"
19 #include "chrome/common/pref_names.h" 19 #include "chrome/common/pref_names.h"
20 #include "chrome/test/base/testing_pref_service.h" 20 #include "chrome/test/base/testing_pref_service.h"
21 #include "chrome/test/base/testing_profile.h" 21 #include "chrome/test/base/testing_profile.h"
22 #include "content/public/common/content_client.h" 22 #include "content/public/common/content_client.h"
23 #include "content/public/test/test_browser_thread.h" 23 #include "content/public/test/test_browser_thread.h"
24 #include "google/cacheinvalidation/include/types.h" 24 #include "google/cacheinvalidation/include/types.h"
25 #include "sync/js/js_arg_list.h" 25 #include "sync/js/js_arg_list.h"
26 #include "sync/js/js_event_details.h" 26 #include "sync/js/js_event_details.h"
27 #include "sync/js/js_test_util.h" 27 #include "sync/js/js_test_util.h"
28 #include "sync/notifier/fake_sync_notifier_observer.h" 28 #include "sync/notifier/fake_invalidation_handler.h"
29 #include "sync/notifier/object_id_state_map_test_util.h" 29 #include "sync/notifier/object_id_state_map_test_util.h"
30 #include "testing/gmock/include/gmock/gmock.h" 30 #include "testing/gmock/include/gmock/gmock.h"
31 #include "testing/gtest/include/gtest/gtest.h" 31 #include "testing/gtest/include/gtest/gtest.h"
32 #include "webkit/glue/webkit_glue.h" 32 #include "webkit/glue/webkit_glue.h"
33 33
34 // TODO(akalin): Add tests here that exercise the whole 34 // TODO(akalin): Add tests here that exercise the whole
35 // ProfileSyncService/SyncBackendHost stack while mocking out as 35 // ProfileSyncService/SyncBackendHost stack while mocking out as
36 // little as possible. 36 // little as possible.
37 37
38 namespace browser_sync { 38 namespace browser_sync {
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 // expectations are not very interesting. 364 // expectations are not very interesting.
365 TEST_F(ProfileSyncServiceTest, FailToOpenDatabase) { 365 TEST_F(ProfileSyncServiceTest, FailToOpenDatabase) {
366 StartSyncServiceAndSetInitialSyncEnded(false, true, true, true, 366 StartSyncServiceAndSetInitialSyncEnded(false, true, true, true,
367 syncer::STORAGE_INVALID); 367 syncer::STORAGE_INVALID);
368 368
369 // The backend is not ready. Ensure the PSS knows this. 369 // The backend is not ready. Ensure the PSS knows this.
370 EXPECT_FALSE(service_->sync_initialized()); 370 EXPECT_FALSE(service_->sync_initialized());
371 } 371 }
372 372
373 // Register for some IDs with the ProfileSyncService and trigger some 373 // Register for some IDs with the ProfileSyncService and trigger some
374 // invalidation messages. They should be received by the observer. 374 // invalidation messages. They should be received by the handler.
375 // Then unregister and trigger the invalidation messages again. Those 375 // Then unregister and trigger the invalidation messages again. Those
376 // shouldn't be received by the observer. 376 // shouldn't be received by the handler.
377 TEST_F(ProfileSyncServiceTest, UpdateRegisteredInvalidationIds) { 377 TEST_F(ProfileSyncServiceTest, UpdateRegisteredInvalidationIds) {
378 StartSyncService(); 378 StartSyncService();
379 379
380 syncer::ObjectIdSet ids; 380 syncer::ObjectIdSet ids;
381 ids.insert(invalidation::ObjectId(1, "id1")); 381 ids.insert(invalidation::ObjectId(1, "id1"));
382 ids.insert(invalidation::ObjectId(2, "id2")); 382 ids.insert(invalidation::ObjectId(2, "id2"));
383 const syncer::ObjectIdStateMap& states = 383 const syncer::ObjectIdStateMap& states =
384 syncer::ObjectIdSetToStateMap(ids, "payload"); 384 syncer::ObjectIdSetToStateMap(ids, "payload");
385 385
386 syncer::FakeSyncNotifierObserver observer; 386 syncer::FakeInvalidationHandler handler;
387 387
388 service_->RegisterInvalidationHandler(&observer); 388 service_->RegisterInvalidationHandler(&handler);
389 service_->UpdateRegisteredInvalidationIds(&observer, ids); 389 service_->UpdateRegisteredInvalidationIds(&handler, ids);
390 390
391 SyncBackendHostForProfileSyncTest* const backend = 391 SyncBackendHostForProfileSyncTest* const backend =
392 service_->GetBackendForTest(); 392 service_->GetBackendForTest();
393 393
394 backend->EmitOnNotificationsEnabled(); 394 backend->EmitOnNotificationsEnabled();
395 EXPECT_EQ(syncer::NO_NOTIFICATION_ERROR, 395 EXPECT_EQ(syncer::NO_NOTIFICATION_ERROR,
396 observer.GetNotificationsDisabledReason()); 396 handler.GetNotificationsDisabledReason());
397 397
398 backend->EmitOnIncomingNotification(states, syncer::REMOTE_NOTIFICATION); 398 backend->EmitOnIncomingNotification(states, syncer::REMOTE_NOTIFICATION);
399 EXPECT_THAT(states, Eq(observer.GetLastNotificationIdStateMap())); 399 EXPECT_THAT(states, Eq(handler.GetLastNotificationIdStateMap()));
400 EXPECT_EQ(syncer::REMOTE_NOTIFICATION, observer.GetLastNotificationSource()); 400 EXPECT_EQ(syncer::REMOTE_NOTIFICATION, handler.GetLastNotificationSource());
401 401
402 backend->EmitOnNotificationsDisabled(syncer::TRANSIENT_NOTIFICATION_ERROR); 402 backend->EmitOnNotificationsDisabled(syncer::TRANSIENT_NOTIFICATION_ERROR);
403 EXPECT_EQ(syncer::TRANSIENT_NOTIFICATION_ERROR, 403 EXPECT_EQ(syncer::TRANSIENT_NOTIFICATION_ERROR,
404 observer.GetNotificationsDisabledReason()); 404 handler.GetNotificationsDisabledReason());
405 405
406 Mock::VerifyAndClearExpectations(&observer); 406 Mock::VerifyAndClearExpectations(&handler);
407 407
408 service_->UnregisterInvalidationHandler(&observer); 408 service_->UnregisterInvalidationHandler(&handler);
409 409
410 backend->EmitOnNotificationsEnabled(); 410 backend->EmitOnNotificationsEnabled();
411 backend->EmitOnIncomingNotification(states, syncer::REMOTE_NOTIFICATION); 411 backend->EmitOnIncomingNotification(states, syncer::REMOTE_NOTIFICATION);
412 backend->EmitOnNotificationsDisabled(syncer::TRANSIENT_NOTIFICATION_ERROR); 412 backend->EmitOnNotificationsDisabled(syncer::TRANSIENT_NOTIFICATION_ERROR);
413 } 413 }
414 414
415 // Register for some IDs with the ProfileSyncService, restart sync, 415 // Register for some IDs with the ProfileSyncService, restart sync,
416 // and trigger some invalidation messages. They should still be 416 // and trigger some invalidation messages. They should still be
417 // received by the observer. 417 // received by the handler.
418 TEST_F(ProfileSyncServiceTest, UpdateRegisteredInvalidationIdsPersistence) { 418 TEST_F(ProfileSyncServiceTest, UpdateRegisteredInvalidationIdsPersistence) {
419 StartSyncService(); 419 StartSyncService();
420 420
421 syncer::ObjectIdSet ids; 421 syncer::ObjectIdSet ids;
422 ids.insert(invalidation::ObjectId(3, "id3")); 422 ids.insert(invalidation::ObjectId(3, "id3"));
423 const syncer::ObjectIdStateMap& states = 423 const syncer::ObjectIdStateMap& states =
424 syncer::ObjectIdSetToStateMap(ids, "payload"); 424 syncer::ObjectIdSetToStateMap(ids, "payload");
425 425
426 syncer::FakeSyncNotifierObserver observer; 426 syncer::FakeInvalidationHandler handler;
427 427
428 service_->RegisterInvalidationHandler(&observer); 428 service_->RegisterInvalidationHandler(&handler);
429 service_->UpdateRegisteredInvalidationIds(&observer, ids); 429 service_->UpdateRegisteredInvalidationIds(&handler, ids);
430 430
431 service_->StopAndSuppress(); 431 service_->StopAndSuppress();
432 service_->UnsuppressAndStart(); 432 service_->UnsuppressAndStart();
433 433
434 SyncBackendHostForProfileSyncTest* const backend = 434 SyncBackendHostForProfileSyncTest* const backend =
435 service_->GetBackendForTest(); 435 service_->GetBackendForTest();
436 436
437 backend->EmitOnNotificationsEnabled(); 437 backend->EmitOnNotificationsEnabled();
438 EXPECT_EQ(syncer::NO_NOTIFICATION_ERROR, 438 EXPECT_EQ(syncer::NO_NOTIFICATION_ERROR,
439 observer.GetNotificationsDisabledReason()); 439 handler.GetNotificationsDisabledReason());
440 440
441 backend->EmitOnIncomingNotification(states, syncer::REMOTE_NOTIFICATION); 441 backend->EmitOnIncomingNotification(states, syncer::REMOTE_NOTIFICATION);
442 EXPECT_THAT(states, Eq(observer.GetLastNotificationIdStateMap())); 442 EXPECT_THAT(states, Eq(handler.GetLastNotificationIdStateMap()));
443 EXPECT_EQ(syncer::REMOTE_NOTIFICATION, observer.GetLastNotificationSource()); 443 EXPECT_EQ(syncer::REMOTE_NOTIFICATION, handler.GetLastNotificationSource());
444 444
445 backend->EmitOnNotificationsDisabled(syncer::TRANSIENT_NOTIFICATION_ERROR); 445 backend->EmitOnNotificationsDisabled(syncer::TRANSIENT_NOTIFICATION_ERROR);
446 EXPECT_EQ(syncer::TRANSIENT_NOTIFICATION_ERROR, 446 EXPECT_EQ(syncer::TRANSIENT_NOTIFICATION_ERROR,
447 observer.GetNotificationsDisabledReason()); 447 handler.GetNotificationsDisabledReason());
448 } 448 }
449 449
450 } // namespace 450 } // namespace
451 } // namespace browser_sync 451 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/sync/profile_sync_service.cc ('k') | chrome/browser/sync/test/integration/sync_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698