OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 // Syncer unit tests. Unfortunately a lot of these tests | 5 // Syncer unit tests. Unfortunately a lot of these tests |
6 // are outdated and need to be reworked and updated. | 6 // are outdated and need to be reworked and updated. |
7 | 7 |
8 #include <algorithm> | 8 #include <algorithm> |
9 #include <limits> | 9 #include <limits> |
10 #include <list> | 10 #include <list> |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 void ResetSession() { | 255 void ResetSession() { |
256 session_.reset(SyncSession::Build(context_.get(), this)); | 256 session_.reset(SyncSession::Build(context_.get(), this)); |
257 } | 257 } |
258 | 258 |
259 void SyncShareNudge() { | 259 void SyncShareNudge() { |
260 ResetSession(); | 260 ResetSession(); |
261 | 261 |
262 // Pretend we've seen a local change, to make the nudge_tracker look normal. | 262 // Pretend we've seen a local change, to make the nudge_tracker look normal. |
263 nudge_tracker_.RecordLocalChange(ModelTypeSet(BOOKMARKS)); | 263 nudge_tracker_.RecordLocalChange(ModelTypeSet(BOOKMARKS)); |
264 | 264 |
265 EXPECT_TRUE(syncer_->NormalSyncShare(context_->GetEnabledTypes(), | 265 EXPECT_TRUE( |
266 &nudge_tracker_, session_.get())); | 266 syncer_->NormalSyncShare( |
| 267 context_->GetEnabledTypes(), |
| 268 nudge_tracker_, |
| 269 session_.get())); |
267 } | 270 } |
268 | 271 |
269 void SyncShareConfigure() { | 272 void SyncShareConfigure() { |
270 ResetSession(); | 273 ResetSession(); |
271 EXPECT_TRUE(syncer_->ConfigureSyncShare( | 274 EXPECT_TRUE(syncer_->ConfigureSyncShare( |
272 context_->GetEnabledTypes(), | 275 context_->GetEnabledTypes(), |
273 sync_pb::GetUpdatesCallerInfo::RECONFIGURATION, | 276 sync_pb::GetUpdatesCallerInfo::RECONFIGURATION, |
274 session_.get())); | 277 session_.get())); |
275 } | 278 } |
276 | 279 |
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
632 A.PutSpecifics(bookmark_data); | 635 A.PutSpecifics(bookmark_data); |
633 A.PutNonUniqueName("bookmark"); | 636 A.PutNonUniqueName("bookmark"); |
634 } | 637 } |
635 | 638 |
636 // Now sync without enabling bookmarks. | 639 // Now sync without enabling bookmarks. |
637 mock_server_->ExpectGetUpdatesRequestTypes( | 640 mock_server_->ExpectGetUpdatesRequestTypes( |
638 Difference(context_->GetEnabledTypes(), ModelTypeSet(BOOKMARKS))); | 641 Difference(context_->GetEnabledTypes(), ModelTypeSet(BOOKMARKS))); |
639 ResetSession(); | 642 ResetSession(); |
640 syncer_->NormalSyncShare( | 643 syncer_->NormalSyncShare( |
641 Difference(context_->GetEnabledTypes(), ModelTypeSet(BOOKMARKS)), | 644 Difference(context_->GetEnabledTypes(), ModelTypeSet(BOOKMARKS)), |
642 &nudge_tracker_, session_.get()); | 645 nudge_tracker_, |
| 646 session_.get()); |
643 | 647 |
644 { | 648 { |
645 // Nothing should have been committed as bookmarks is throttled. | 649 // Nothing should have been committed as bookmarks is throttled. |
646 syncable::ReadTransaction rtrans(FROM_HERE, directory()); | 650 syncable::ReadTransaction rtrans(FROM_HERE, directory()); |
647 Entry entryA(&rtrans, syncable::GET_BY_ID, ids_.FromNumber(1)); | 651 Entry entryA(&rtrans, syncable::GET_BY_ID, ids_.FromNumber(1)); |
648 ASSERT_TRUE(entryA.good()); | 652 ASSERT_TRUE(entryA.good()); |
649 EXPECT_TRUE(entryA.GetIsUnsynced()); | 653 EXPECT_TRUE(entryA.GetIsUnsynced()); |
650 } | 654 } |
651 | 655 |
652 // Sync again with bookmarks enabled. | 656 // Sync again with bookmarks enabled. |
(...skipping 2203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2856 EXPECT_EQ(2, mock_server_->last_request().debug_info().events_size()); | 2860 EXPECT_EQ(2, mock_server_->last_request().debug_info().events_size()); |
2857 | 2861 |
2858 // The previous send was successful so this next one shouldn't generate any | 2862 // The previous send was successful so this next one shouldn't generate any |
2859 // debug info events. | 2863 // debug info events. |
2860 SyncShareNudge(); | 2864 SyncShareNudge(); |
2861 EXPECT_EQ(3U, mock_server_->requests().size()); | 2865 EXPECT_EQ(3U, mock_server_->requests().size()); |
2862 ASSERT_TRUE(mock_server_->last_request().has_get_updates()); | 2866 ASSERT_TRUE(mock_server_->last_request().has_get_updates()); |
2863 EXPECT_EQ(0, mock_server_->last_request().debug_info().events_size()); | 2867 EXPECT_EQ(0, mock_server_->last_request().debug_info().events_size()); |
2864 } | 2868 } |
2865 | 2869 |
2866 // Tests that commit failure with conflict will trigger GetUpdates for next | |
2867 // sycle of sync | |
2868 TEST_F(SyncerTest, CommitFailureWithConflict) { | |
2869 ConfigureNoGetUpdatesRequired(); | |
2870 CreateUnsyncedDirectory("X", "id_X"); | |
2871 EXPECT_FALSE(nudge_tracker_.IsGetUpdatesRequired()); | |
2872 | |
2873 SyncShareNudge(); | |
2874 EXPECT_FALSE(nudge_tracker_.IsGetUpdatesRequired()); | |
2875 | |
2876 CreateUnsyncedDirectory("Y", "id_Y"); | |
2877 mock_server_->set_conflict_n_commits(1); | |
2878 SyncShareNudge(); | |
2879 EXPECT_TRUE(nudge_tracker_.IsGetUpdatesRequired()); | |
2880 | |
2881 nudge_tracker_.RecordSuccessfulSyncCycle(); | |
2882 EXPECT_FALSE(nudge_tracker_.IsGetUpdatesRequired()); | |
2883 } | |
2884 | |
2885 // Tests that sending debug info events on Commit works. | 2870 // Tests that sending debug info events on Commit works. |
2886 TEST_F(SyncerTest, SendDebugInfoEventsOnCommit_HappyCase) { | 2871 TEST_F(SyncerTest, SendDebugInfoEventsOnCommit_HappyCase) { |
2887 // Make sure GetUpdate isn't call as it would "steal" debug info events before | 2872 // Make sure GetUpdate isn't call as it would "steal" debug info events before |
2888 // Commit has a chance to send them. | 2873 // Commit has a chance to send them. |
2889 ConfigureNoGetUpdatesRequired(); | 2874 ConfigureNoGetUpdatesRequired(); |
2890 | 2875 |
2891 // Generate a debug info event and trigger a commit. | 2876 // Generate a debug info event and trigger a commit. |
2892 debug_info_getter_->AddDebugEvent(); | 2877 debug_info_getter_->AddDebugEvent(); |
2893 CreateUnsyncedDirectory("X", "id_X"); | 2878 CreateUnsyncedDirectory("X", "id_X"); |
2894 SyncShareNudge(); | 2879 SyncShareNudge(); |
(...skipping 2465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5360 EXPECT_EQ("xyz", final_monitor_records["xyz"].extension_id); | 5345 EXPECT_EQ("xyz", final_monitor_records["xyz"].extension_id); |
5361 EXPECT_EQ(2049U, final_monitor_records["ABC"].bookmark_write_count); | 5346 EXPECT_EQ(2049U, final_monitor_records["ABC"].bookmark_write_count); |
5362 EXPECT_EQ(4U, final_monitor_records["xyz"].bookmark_write_count); | 5347 EXPECT_EQ(4U, final_monitor_records["xyz"].bookmark_write_count); |
5363 } else { | 5348 } else { |
5364 EXPECT_TRUE(final_monitor_records.empty()) | 5349 EXPECT_TRUE(final_monitor_records.empty()) |
5365 << "Should not restore records after successful bookmark commit."; | 5350 << "Should not restore records after successful bookmark commit."; |
5366 } | 5351 } |
5367 } | 5352 } |
5368 | 5353 |
5369 } // namespace syncer | 5354 } // namespace syncer |
OLD | NEW |