| 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 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 205 return false; | 205 return false; |
| 206 } | 206 } |
| 207 virtual void OnReceivedLongPollIntervalUpdate( | 207 virtual void OnReceivedLongPollIntervalUpdate( |
| 208 const base::TimeDelta& new_interval) OVERRIDE { | 208 const base::TimeDelta& new_interval) OVERRIDE { |
| 209 last_long_poll_interval_received_ = new_interval; | 209 last_long_poll_interval_received_ = new_interval; |
| 210 } | 210 } |
| 211 virtual void OnReceivedShortPollIntervalUpdate( | 211 virtual void OnReceivedShortPollIntervalUpdate( |
| 212 const base::TimeDelta& new_interval) OVERRIDE { | 212 const base::TimeDelta& new_interval) OVERRIDE { |
| 213 last_short_poll_interval_received_ = new_interval; | 213 last_short_poll_interval_received_ = new_interval; |
| 214 } | 214 } |
| 215 virtual void OnReceivedSessionsCommitDelay( | 215 virtual void OnReceivedCustomNudgeDelays( |
| 216 const base::TimeDelta& new_delay) OVERRIDE { | 216 const std::map<ModelType, int>& delay_map) OVERRIDE { |
| 217 last_sessions_commit_delay_seconds_ = new_delay; | 217 base::TimeDelta sessions_delay = |
| 218 base::TimeDelta::FromMilliseconds(delay_map.find(SESSIONS)->second); |
| 219 if (sessions_delay > base::TimeDelta()) |
| 220 last_sessions_commit_delay_ = sessions_delay; |
| 221 base::TimeDelta bookmarks_delay = |
| 222 base::TimeDelta::FromMilliseconds(delay_map.find(BOOKMARKS)->second); |
| 223 if (bookmarks_delay > base::TimeDelta()) |
| 224 last_bookmarks_commit_delay_ = bookmarks_delay; |
| 218 } | 225 } |
| 219 virtual void OnReceivedClientInvalidationHintBufferSize( | 226 virtual void OnReceivedClientInvalidationHintBufferSize( |
| 220 int size) OVERRIDE { | 227 int size) OVERRIDE { |
| 221 last_client_invalidation_hint_buffer_size_ = size; | 228 last_client_invalidation_hint_buffer_size_ = size; |
| 222 } | 229 } |
| 223 virtual void OnReceivedGuRetryDelay(const base::TimeDelta& delay) OVERRIDE {} | 230 virtual void OnReceivedGuRetryDelay(const base::TimeDelta& delay) OVERRIDE {} |
| 224 virtual void OnReceivedMigrationRequest(ModelTypeSet types) OVERRIDE {} | 231 virtual void OnReceivedMigrationRequest(ModelTypeSet types) OVERRIDE {} |
| 225 virtual void OnProtocolEvent(const ProtocolEvent& event) OVERRIDE {} | 232 virtual void OnProtocolEvent(const ProtocolEvent& event) OVERRIDE {} |
| 226 virtual void OnSyncProtocolError(const SyncProtocolError& error) OVERRIDE {} | 233 virtual void OnSyncProtocolError(const SyncProtocolError& error) OVERRIDE {} |
| 227 | 234 |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 585 Syncer* syncer_; | 592 Syncer* syncer_; |
| 586 | 593 |
| 587 scoped_ptr<SyncSession> session_; | 594 scoped_ptr<SyncSession> session_; |
| 588 TypeDebugInfoCache debug_info_cache_; | 595 TypeDebugInfoCache debug_info_cache_; |
| 589 MockNudgeHandler mock_nudge_handler_; | 596 MockNudgeHandler mock_nudge_handler_; |
| 590 scoped_ptr<ModelTypeRegistry> model_type_registry_; | 597 scoped_ptr<ModelTypeRegistry> model_type_registry_; |
| 591 scoped_ptr<SyncSessionContext> context_; | 598 scoped_ptr<SyncSessionContext> context_; |
| 592 bool saw_syncer_event_; | 599 bool saw_syncer_event_; |
| 593 base::TimeDelta last_short_poll_interval_received_; | 600 base::TimeDelta last_short_poll_interval_received_; |
| 594 base::TimeDelta last_long_poll_interval_received_; | 601 base::TimeDelta last_long_poll_interval_received_; |
| 595 base::TimeDelta last_sessions_commit_delay_seconds_; | 602 base::TimeDelta last_sessions_commit_delay_; |
| 603 base::TimeDelta last_bookmarks_commit_delay_; |
| 596 int last_client_invalidation_hint_buffer_size_; | 604 int last_client_invalidation_hint_buffer_size_; |
| 597 std::vector<scoped_refptr<ModelSafeWorker> > workers_; | 605 std::vector<scoped_refptr<ModelSafeWorker> > workers_; |
| 598 | 606 |
| 599 ModelTypeSet enabled_datatypes_; | 607 ModelTypeSet enabled_datatypes_; |
| 600 sessions::NudgeTracker nudge_tracker_; | 608 sessions::NudgeTracker nudge_tracker_; |
| 601 scoped_ptr<MockDebugInfoGetter> debug_info_getter_; | 609 scoped_ptr<MockDebugInfoGetter> debug_info_getter_; |
| 602 | 610 |
| 603 DISALLOW_COPY_AND_ASSIGN(SyncerTest); | 611 DISALLOW_COPY_AND_ASSIGN(SyncerTest); |
| 604 }; | 612 }; |
| 605 | 613 |
| (...skipping 2993 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3599 } | 3607 } |
| 3600 } | 3608 } |
| 3601 | 3609 |
| 3602 TEST_F(SyncerTest, TestClientCommandDuringUpdate) { | 3610 TEST_F(SyncerTest, TestClientCommandDuringUpdate) { |
| 3603 using sync_pb::ClientCommand; | 3611 using sync_pb::ClientCommand; |
| 3604 | 3612 |
| 3605 ClientCommand* command = new ClientCommand(); | 3613 ClientCommand* command = new ClientCommand(); |
| 3606 command->set_set_sync_poll_interval(8); | 3614 command->set_set_sync_poll_interval(8); |
| 3607 command->set_set_sync_long_poll_interval(800); | 3615 command->set_set_sync_long_poll_interval(800); |
| 3608 command->set_sessions_commit_delay_seconds(3141); | 3616 command->set_sessions_commit_delay_seconds(3141); |
| 3617 sync_pb::CustomNudgeDelay* bookmark_delay = |
| 3618 command->add_custom_nudge_delays(); |
| 3619 bookmark_delay->set_datatype_id( |
| 3620 GetSpecificsFieldNumberFromModelType(BOOKMARKS)); |
| 3621 bookmark_delay->set_delay_ms(950); |
| 3609 command->set_client_invalidation_hint_buffer_size(11); | 3622 command->set_client_invalidation_hint_buffer_size(11); |
| 3610 mock_server_->AddUpdateDirectory(1, 0, "in_root", 1, 1, | 3623 mock_server_->AddUpdateDirectory(1, 0, "in_root", 1, 1, |
| 3611 foreign_cache_guid(), "-1"); | 3624 foreign_cache_guid(), "-1"); |
| 3612 mock_server_->SetGUClientCommand(command); | 3625 mock_server_->SetGUClientCommand(command); |
| 3613 SyncShareNudge(); | 3626 SyncShareNudge(); |
| 3614 | 3627 |
| 3615 EXPECT_TRUE(TimeDelta::FromSeconds(8) == | 3628 EXPECT_EQ(TimeDelta::FromSeconds(8), last_short_poll_interval_received_); |
| 3616 last_short_poll_interval_received_); | 3629 EXPECT_EQ(TimeDelta::FromSeconds(800), last_long_poll_interval_received_); |
| 3617 EXPECT_TRUE(TimeDelta::FromSeconds(800) == | 3630 EXPECT_EQ(TimeDelta::FromSeconds(3141), last_sessions_commit_delay_); |
| 3618 last_long_poll_interval_received_); | 3631 EXPECT_EQ(TimeDelta::FromMilliseconds(950), last_bookmarks_commit_delay_); |
| 3619 EXPECT_TRUE(TimeDelta::FromSeconds(3141) == | |
| 3620 last_sessions_commit_delay_seconds_); | |
| 3621 EXPECT_EQ(11, last_client_invalidation_hint_buffer_size_); | 3632 EXPECT_EQ(11, last_client_invalidation_hint_buffer_size_); |
| 3622 | 3633 |
| 3623 command = new ClientCommand(); | 3634 command = new ClientCommand(); |
| 3624 command->set_set_sync_poll_interval(180); | 3635 command->set_set_sync_poll_interval(180); |
| 3625 command->set_set_sync_long_poll_interval(190); | 3636 command->set_set_sync_long_poll_interval(190); |
| 3626 command->set_sessions_commit_delay_seconds(2718); | 3637 command->set_sessions_commit_delay_seconds(2718); |
| 3638 bookmark_delay = command->add_custom_nudge_delays(); |
| 3639 bookmark_delay->set_datatype_id( |
| 3640 GetSpecificsFieldNumberFromModelType(BOOKMARKS)); |
| 3641 bookmark_delay->set_delay_ms(1050); |
| 3627 command->set_client_invalidation_hint_buffer_size(9); | 3642 command->set_client_invalidation_hint_buffer_size(9); |
| 3628 mock_server_->AddUpdateDirectory(1, 0, "in_root", 1, 1, | 3643 mock_server_->AddUpdateDirectory( |
| 3629 foreign_cache_guid(), "-1"); | 3644 1, 0, "in_root", 1, 1, foreign_cache_guid(), "-1"); |
| 3630 mock_server_->SetGUClientCommand(command); | 3645 mock_server_->SetGUClientCommand(command); |
| 3631 SyncShareNudge(); | 3646 SyncShareNudge(); |
| 3632 | 3647 |
| 3633 EXPECT_TRUE(TimeDelta::FromSeconds(180) == | 3648 EXPECT_EQ(TimeDelta::FromSeconds(180), last_short_poll_interval_received_); |
| 3634 last_short_poll_interval_received_); | 3649 EXPECT_EQ(TimeDelta::FromSeconds(190), last_long_poll_interval_received_); |
| 3635 EXPECT_TRUE(TimeDelta::FromSeconds(190) == | 3650 EXPECT_EQ(TimeDelta::FromSeconds(2718), last_sessions_commit_delay_); |
| 3636 last_long_poll_interval_received_); | 3651 EXPECT_EQ(TimeDelta::FromMilliseconds(1050), last_bookmarks_commit_delay_); |
| 3637 EXPECT_TRUE(TimeDelta::FromSeconds(2718) == | |
| 3638 last_sessions_commit_delay_seconds_); | |
| 3639 EXPECT_EQ(9, last_client_invalidation_hint_buffer_size_); | 3652 EXPECT_EQ(9, last_client_invalidation_hint_buffer_size_); |
| 3640 } | 3653 } |
| 3641 | 3654 |
| 3642 TEST_F(SyncerTest, TestClientCommandDuringCommit) { | 3655 TEST_F(SyncerTest, TestClientCommandDuringCommit) { |
| 3643 using sync_pb::ClientCommand; | 3656 using sync_pb::ClientCommand; |
| 3644 | 3657 |
| 3645 ClientCommand* command = new ClientCommand(); | 3658 ClientCommand* command = new ClientCommand(); |
| 3646 command->set_set_sync_poll_interval(8); | 3659 command->set_set_sync_poll_interval(8); |
| 3647 command->set_set_sync_long_poll_interval(800); | 3660 command->set_set_sync_long_poll_interval(800); |
| 3648 command->set_sessions_commit_delay_seconds(3141); | 3661 command->set_sessions_commit_delay_seconds(3141); |
| 3662 sync_pb::CustomNudgeDelay* bookmark_delay = |
| 3663 command->add_custom_nudge_delays(); |
| 3664 bookmark_delay->set_datatype_id( |
| 3665 GetSpecificsFieldNumberFromModelType(BOOKMARKS)); |
| 3666 bookmark_delay->set_delay_ms(950); |
| 3649 command->set_client_invalidation_hint_buffer_size(11); | 3667 command->set_client_invalidation_hint_buffer_size(11); |
| 3650 CreateUnsyncedDirectory("X", "id_X"); | 3668 CreateUnsyncedDirectory("X", "id_X"); |
| 3651 mock_server_->SetCommitClientCommand(command); | 3669 mock_server_->SetCommitClientCommand(command); |
| 3652 SyncShareNudge(); | 3670 SyncShareNudge(); |
| 3653 | 3671 |
| 3654 EXPECT_TRUE(TimeDelta::FromSeconds(8) == | 3672 EXPECT_EQ(TimeDelta::FromSeconds(8), last_short_poll_interval_received_); |
| 3655 last_short_poll_interval_received_); | 3673 EXPECT_EQ(TimeDelta::FromSeconds(800), last_long_poll_interval_received_); |
| 3656 EXPECT_TRUE(TimeDelta::FromSeconds(800) == | 3674 EXPECT_EQ(TimeDelta::FromSeconds(3141), last_sessions_commit_delay_); |
| 3657 last_long_poll_interval_received_); | 3675 EXPECT_EQ(TimeDelta::FromMilliseconds(950), last_bookmarks_commit_delay_); |
| 3658 EXPECT_TRUE(TimeDelta::FromSeconds(3141) == | |
| 3659 last_sessions_commit_delay_seconds_); | |
| 3660 EXPECT_EQ(11, last_client_invalidation_hint_buffer_size_); | 3676 EXPECT_EQ(11, last_client_invalidation_hint_buffer_size_); |
| 3661 | 3677 |
| 3662 command = new ClientCommand(); | 3678 command = new ClientCommand(); |
| 3663 command->set_set_sync_poll_interval(180); | 3679 command->set_set_sync_poll_interval(180); |
| 3664 command->set_set_sync_long_poll_interval(190); | 3680 command->set_set_sync_long_poll_interval(190); |
| 3665 command->set_sessions_commit_delay_seconds(2718); | 3681 command->set_sessions_commit_delay_seconds(2718); |
| 3682 bookmark_delay = command->add_custom_nudge_delays(); |
| 3683 bookmark_delay->set_datatype_id( |
| 3684 GetSpecificsFieldNumberFromModelType(BOOKMARKS)); |
| 3685 bookmark_delay->set_delay_ms(1050); |
| 3666 command->set_client_invalidation_hint_buffer_size(9); | 3686 command->set_client_invalidation_hint_buffer_size(9); |
| 3667 CreateUnsyncedDirectory("Y", "id_Y"); | 3687 CreateUnsyncedDirectory("Y", "id_Y"); |
| 3668 mock_server_->SetCommitClientCommand(command); | 3688 mock_server_->SetCommitClientCommand(command); |
| 3669 SyncShareNudge(); | 3689 SyncShareNudge(); |
| 3670 | 3690 |
| 3671 EXPECT_TRUE(TimeDelta::FromSeconds(180) == | 3691 EXPECT_EQ(TimeDelta::FromSeconds(180), last_short_poll_interval_received_); |
| 3672 last_short_poll_interval_received_); | 3692 EXPECT_EQ(TimeDelta::FromSeconds(190), last_long_poll_interval_received_); |
| 3673 EXPECT_TRUE(TimeDelta::FromSeconds(190) == | 3693 EXPECT_EQ(TimeDelta::FromSeconds(2718), last_sessions_commit_delay_); |
| 3674 last_long_poll_interval_received_); | 3694 EXPECT_EQ(TimeDelta::FromMilliseconds(1050), last_bookmarks_commit_delay_); |
| 3675 EXPECT_TRUE(TimeDelta::FromSeconds(2718) == | |
| 3676 last_sessions_commit_delay_seconds_); | |
| 3677 EXPECT_EQ(9, last_client_invalidation_hint_buffer_size_); | 3695 EXPECT_EQ(9, last_client_invalidation_hint_buffer_size_); |
| 3678 } | 3696 } |
| 3679 | 3697 |
| 3680 TEST_F(SyncerTest, EnsureWeSendUpOldParent) { | 3698 TEST_F(SyncerTest, EnsureWeSendUpOldParent) { |
| 3681 syncable::Id folder_one_id = ids_.FromNumber(1); | 3699 syncable::Id folder_one_id = ids_.FromNumber(1); |
| 3682 syncable::Id folder_two_id = ids_.FromNumber(2); | 3700 syncable::Id folder_two_id = ids_.FromNumber(2); |
| 3683 | 3701 |
| 3684 mock_server_->AddUpdateDirectory(folder_one_id, TestIdFactory::root(), | 3702 mock_server_->AddUpdateDirectory(folder_one_id, TestIdFactory::root(), |
| 3685 "folder_one", 1, 1, foreign_cache_guid(), "-1"); | 3703 "folder_one", 1, 1, foreign_cache_guid(), "-1"); |
| 3686 mock_server_->AddUpdateDirectory(folder_two_id, TestIdFactory::root(), | 3704 mock_server_->AddUpdateDirectory(folder_two_id, TestIdFactory::root(), |
| (...skipping 1344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5031 EXPECT_EQ("xyz", final_monitor_records["xyz"].extension_id); | 5049 EXPECT_EQ("xyz", final_monitor_records["xyz"].extension_id); |
| 5032 EXPECT_EQ(2049U, final_monitor_records["ABC"].bookmark_write_count); | 5050 EXPECT_EQ(2049U, final_monitor_records["ABC"].bookmark_write_count); |
| 5033 EXPECT_EQ(4U, final_monitor_records["xyz"].bookmark_write_count); | 5051 EXPECT_EQ(4U, final_monitor_records["xyz"].bookmark_write_count); |
| 5034 } else { | 5052 } else { |
| 5035 EXPECT_TRUE(final_monitor_records.empty()) | 5053 EXPECT_TRUE(final_monitor_records.empty()) |
| 5036 << "Should not restore records after successful bookmark commit."; | 5054 << "Should not restore records after successful bookmark commit."; |
| 5037 } | 5055 } |
| 5038 } | 5056 } |
| 5039 | 5057 |
| 5040 } // namespace syncer | 5058 } // namespace syncer |
| OLD | NEW |