OLD | NEW |
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 // 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> |
11 #include <map> | 11 #include <map> |
12 #include <set> | 12 #include <set> |
13 #include <string> | 13 #include <string> |
14 | 14 |
15 #include "base/bind.h" | 15 #include "base/bind.h" |
16 #include "base/bind_helpers.h" | 16 #include "base/bind_helpers.h" |
17 #include "base/callback.h" | 17 #include "base/callback.h" |
18 #include "base/compiler_specific.h" | 18 #include "base/compiler_specific.h" |
19 #include "base/location.h" | 19 #include "base/location.h" |
20 #include "base/memory/scoped_ptr.h" | 20 #include "base/memory/scoped_ptr.h" |
21 #include "base/message_loop.h" | 21 #include "base/message_loop.h" |
22 #include "base/string_number_conversions.h" | 22 #include "base/string_number_conversions.h" |
23 #include "base/stringprintf.h" | 23 #include "base/stringprintf.h" |
24 #include "base/time.h" | 24 #include "base/time.h" |
25 #include "build/build_config.h" | 25 #include "build/build_config.h" |
| 26 #include "sync/engine/throttled_data_type_tracker.h" |
26 #include "sync/engine/get_commit_ids_command.h" | 27 #include "sync/engine/get_commit_ids_command.h" |
27 #include "sync/engine/model_safe_worker.h" | 28 #include "sync/engine/model_safe_worker.h" |
28 #include "sync/engine/net/server_connection_manager.h" | 29 #include "sync/engine/net/server_connection_manager.h" |
29 #include "sync/engine/nigori_util.h" | 30 #include "sync/engine/nigori_util.h" |
30 #include "sync/engine/process_updates_command.h" | 31 #include "sync/engine/process_updates_command.h" |
31 #include "sync/engine/syncer.h" | 32 #include "sync/engine/syncer.h" |
32 #include "sync/engine/syncer_proto_util.h" | 33 #include "sync/engine/syncer_proto_util.h" |
33 #include "sync/engine/syncer_util.h" | 34 #include "sync/engine/syncer_util.h" |
34 #include "sync/engine/syncproto.h" | 35 #include "sync/engine/syncproto.h" |
35 #include "sync/engine/traffic_recorder.h" | 36 #include "sync/engine/traffic_recorder.h" |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
223 EnableDatatype(syncable::BOOKMARKS); | 224 EnableDatatype(syncable::BOOKMARKS); |
224 EnableDatatype(syncable::NIGORI); | 225 EnableDatatype(syncable::NIGORI); |
225 EnableDatatype(syncable::PREFERENCES); | 226 EnableDatatype(syncable::PREFERENCES); |
226 EnableDatatype(syncable::NIGORI); | 227 EnableDatatype(syncable::NIGORI); |
227 worker_ = new FakeModelWorker(GROUP_PASSIVE); | 228 worker_ = new FakeModelWorker(GROUP_PASSIVE); |
228 std::vector<SyncEngineEventListener*> listeners; | 229 std::vector<SyncEngineEventListener*> listeners; |
229 listeners.push_back(this); | 230 listeners.push_back(this); |
230 context_.reset( | 231 context_.reset( |
231 new SyncSessionContext( | 232 new SyncSessionContext( |
232 mock_server_.get(), directory(), this, | 233 mock_server_.get(), directory(), this, |
233 &extensions_activity_monitor_, listeners, NULL, | 234 &extensions_activity_monitor_, |
| 235 &throttled_data_type_tracker_, |
| 236 listeners, NULL, |
234 &traffic_recorder_)); | 237 &traffic_recorder_)); |
235 ASSERT_FALSE(context_->resolver()); | 238 ASSERT_FALSE(context_->resolver()); |
236 syncer_ = new Syncer(); | 239 syncer_ = new Syncer(); |
237 session_.reset(MakeSession()); | 240 session_.reset(MakeSession()); |
238 | 241 |
239 ReadTransaction trans(FROM_HERE, directory()); | 242 ReadTransaction trans(FROM_HERE, directory()); |
240 syncable::Directory::ChildHandles children; | 243 syncable::Directory::ChildHandles children; |
241 directory()->GetChildHandlesById(&trans, trans.root_id(), &children); | 244 directory()->GetChildHandlesById(&trans, trans.root_id(), &children); |
242 ASSERT_EQ(0u, children.size()); | 245 ASSERT_EQ(0u, children.size()); |
243 saw_syncer_event_ = false; | 246 saw_syncer_event_ = false; |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
516 // more confusing. | 519 // more confusing. |
517 syncable::Id root_id_; | 520 syncable::Id root_id_; |
518 syncable::Id parent_id_; | 521 syncable::Id parent_id_; |
519 syncable::Id child_id_; | 522 syncable::Id child_id_; |
520 | 523 |
521 TestIdFactory ids_; | 524 TestIdFactory ids_; |
522 | 525 |
523 TestDirectorySetterUpper dir_maker_; | 526 TestDirectorySetterUpper dir_maker_; |
524 FakeEncryptor encryptor_; | 527 FakeEncryptor encryptor_; |
525 FakeExtensionsActivityMonitor extensions_activity_monitor_; | 528 FakeExtensionsActivityMonitor extensions_activity_monitor_; |
| 529 ThrottledDataTypeTracker throttled_data_type_tracker_; |
526 scoped_ptr<MockConnectionManager> mock_server_; | 530 scoped_ptr<MockConnectionManager> mock_server_; |
527 | 531 |
528 Syncer* syncer_; | 532 Syncer* syncer_; |
529 | 533 |
530 scoped_ptr<SyncSession> session_; | 534 scoped_ptr<SyncSession> session_; |
531 scoped_ptr<SyncSessionContext> context_; | 535 scoped_ptr<SyncSessionContext> context_; |
532 bool saw_syncer_event_; | 536 bool saw_syncer_event_; |
533 base::TimeDelta last_short_poll_interval_received_; | 537 base::TimeDelta last_short_poll_interval_received_; |
534 base::TimeDelta last_long_poll_interval_received_; | 538 base::TimeDelta last_long_poll_interval_received_; |
535 base::TimeDelta last_sessions_commit_delay_seconds_; | 539 base::TimeDelta last_sessions_commit_delay_seconds_; |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
619 { | 623 { |
620 WriteTransaction wtrans(FROM_HERE, UNITTEST, directory()); | 624 WriteTransaction wtrans(FROM_HERE, UNITTEST, directory()); |
621 MutableEntry A(&wtrans, GET_BY_ID, ids_.FromNumber(1)); | 625 MutableEntry A(&wtrans, GET_BY_ID, ids_.FromNumber(1)); |
622 ASSERT_TRUE(A.good()); | 626 ASSERT_TRUE(A.good()); |
623 A.Put(IS_UNSYNCED, true); | 627 A.Put(IS_UNSYNCED, true); |
624 A.Put(SPECIFICS, bookmark_data); | 628 A.Put(SPECIFICS, bookmark_data); |
625 A.Put(NON_UNIQUE_NAME, "bookmark"); | 629 A.Put(NON_UNIQUE_NAME, "bookmark"); |
626 } | 630 } |
627 | 631 |
628 // Now set the throttled types. | 632 // Now set the throttled types. |
629 context_->SetUnthrottleTime( | 633 context_->throttled_data_type_tracker()->SetUnthrottleTime( |
630 throttled_types, | 634 throttled_types, |
631 base::TimeTicks::Now() + base::TimeDelta::FromSeconds(1200)); | 635 base::TimeTicks::Now() + base::TimeDelta::FromSeconds(1200)); |
632 SyncShareNudge(); | 636 SyncShareNudge(); |
633 | 637 |
634 { | 638 { |
635 // Nothing should have been committed as bookmarks is throttled. | 639 // Nothing should have been committed as bookmarks is throttled. |
636 ReadTransaction rtrans(FROM_HERE, directory()); | 640 ReadTransaction rtrans(FROM_HERE, directory()); |
637 Entry entryA(&rtrans, syncable::GET_BY_ID, ids_.FromNumber(1)); | 641 Entry entryA(&rtrans, syncable::GET_BY_ID, ids_.FromNumber(1)); |
638 ASSERT_TRUE(entryA.good()); | 642 ASSERT_TRUE(entryA.good()); |
639 EXPECT_TRUE(entryA.Get(IS_UNSYNCED)); | 643 EXPECT_TRUE(entryA.Get(IS_UNSYNCED)); |
640 } | 644 } |
641 | 645 |
642 // Now unthrottle. | 646 // Now unthrottle. |
643 context_->SetUnthrottleTime( | 647 context_->throttled_data_type_tracker()->SetUnthrottleTime( |
644 throttled_types, | 648 throttled_types, |
645 base::TimeTicks::Now() - base::TimeDelta::FromSeconds(1200)); | 649 base::TimeTicks::Now() - base::TimeDelta::FromSeconds(1200)); |
646 SyncShareNudge(); | 650 SyncShareNudge(); |
647 { | 651 { |
648 // It should have been committed. | 652 // It should have been committed. |
649 ReadTransaction rtrans(FROM_HERE, directory()); | 653 ReadTransaction rtrans(FROM_HERE, directory()); |
650 Entry entryA(&rtrans, syncable::GET_BY_ID, ids_.FromNumber(1)); | 654 Entry entryA(&rtrans, syncable::GET_BY_ID, ids_.FromNumber(1)); |
651 ASSERT_TRUE(entryA.good()); | 655 ASSERT_TRUE(entryA.good()); |
652 EXPECT_FALSE(entryA.Get(IS_UNSYNCED)); | 656 EXPECT_FALSE(entryA.Get(IS_UNSYNCED)); |
653 } | 657 } |
(...skipping 4147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4801 | 4805 |
4802 TEST_F(SyncerPositionTiebreakingTest, MidLowHigh) { | 4806 TEST_F(SyncerPositionTiebreakingTest, MidLowHigh) { |
4803 Add(mid_id_); | 4807 Add(mid_id_); |
4804 Add(low_id_); | 4808 Add(low_id_); |
4805 Add(high_id_); | 4809 Add(high_id_); |
4806 SyncShareNudge(); | 4810 SyncShareNudge(); |
4807 ExpectLocalOrderIsByServerId(); | 4811 ExpectLocalOrderIsByServerId(); |
4808 } | 4812 } |
4809 | 4813 |
4810 } // namespace browser_sync | 4814 } // namespace browser_sync |
OLD | NEW |