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

Side by Side Diff: chrome/browser/sync/engine/syncer_unittest.cc

Issue 2075012: Replace changes_channel with an observer list. (Closed)
Patch Set: Ready for checkin Created 10 years, 6 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
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 <list> 8 #include <list>
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 using sessions::SyncSession; 96 using sessions::SyncSession;
97 97
98 namespace { 98 namespace {
99 const char* kTestData = "Hello World!"; 99 const char* kTestData = "Hello World!";
100 const int kTestDataLen = 12; 100 const int kTestDataLen = 12;
101 const int64 kTestLogRequestTimestamp = 123456; 101 const int64 kTestLogRequestTimestamp = 123456;
102 } // namespace 102 } // namespace
103 103
104 class SyncerTest : public testing::Test, 104 class SyncerTest : public testing::Test,
105 public SyncSession::Delegate, 105 public SyncSession::Delegate,
106 public ModelSafeWorkerRegistrar { 106 public ModelSafeWorkerRegistrar,
107 public ChannelEventHandler<SyncerEvent> {
107 protected: 108 protected:
108 SyncerTest() : syncer_(NULL) {} 109 SyncerTest() : syncer_(NULL) {}
109 110
110 // SyncSession::Delegate implementation. 111 // SyncSession::Delegate implementation.
111 virtual void OnSilencedUntil(const base::TimeTicks& silenced_until) { 112 virtual void OnSilencedUntil(const base::TimeTicks& silenced_until) {
112 FAIL() << "Should not get silenced."; 113 FAIL() << "Should not get silenced.";
113 } 114 }
114 virtual bool IsSyncingCurrentlySilenced() { 115 virtual bool IsSyncingCurrentlySilenced() {
115 return false; 116 return false;
116 } 117 }
(...skipping 14 matching lines...) Expand all
131 virtual void GetModelSafeRoutingInfo(ModelSafeRoutingInfo* out) { 132 virtual void GetModelSafeRoutingInfo(ModelSafeRoutingInfo* out) {
132 // We're just testing the sync engine here, so we shunt everything to 133 // We're just testing the sync engine here, so we shunt everything to
133 // the SyncerThread. Datatypes which aren't enabled aren't in the map. 134 // the SyncerThread. Datatypes which aren't enabled aren't in the map.
134 for (int i = 0; i < syncable::MODEL_TYPE_COUNT; ++i) { 135 for (int i = 0; i < syncable::MODEL_TYPE_COUNT; ++i) {
135 if (enabled_datatypes_[i]) { 136 if (enabled_datatypes_[i]) {
136 (*out)[syncable::ModelTypeFromInt(i)] = GROUP_PASSIVE; 137 (*out)[syncable::ModelTypeFromInt(i)] = GROUP_PASSIVE;
137 } 138 }
138 } 139 }
139 } 140 }
140 141
141 void HandleSyncerEvent(SyncerEvent event) { 142 void HandleChannelEvent(const SyncerEvent& event) {
142 LOG(INFO) << "HandleSyncerEvent in unittest " << event.what_happened; 143 LOG(INFO) << "HandleSyncerEvent in unittest " << event.what_happened;
143 // we only test for entry-specific events, not status changed ones. 144 // we only test for entry-specific events, not status changed ones.
144 switch (event.what_happened) { 145 switch (event.what_happened) {
145 case SyncerEvent::STATUS_CHANGED: 146 case SyncerEvent::STATUS_CHANGED:
146 // fall through 147 // fall through
147 case SyncerEvent::SYNC_CYCLE_ENDED: 148 case SyncerEvent::SYNC_CYCLE_ENDED:
148 // fall through 149 // fall through
149 case SyncerEvent::COMMITS_SUCCEEDED: 150 case SyncerEvent::COMMITS_SUCCEEDED:
150 return; 151 return;
151 case SyncerEvent::SHUTDOWN_USE_WITH_CARE: 152 case SyncerEvent::SHUTDOWN_USE_WITH_CARE:
(...skipping 26 matching lines...) Expand all
178 context_.reset(new SyncSessionContext(mock_server_.get(), NULL, 179 context_.reset(new SyncSessionContext(mock_server_.get(), NULL,
179 syncdb_.manager(), this)); 180 syncdb_.manager(), this));
180 context_->set_account_name(syncdb_.name()); 181 context_->set_account_name(syncdb_.name());
181 ASSERT_FALSE(context_->syncer_event_channel()); 182 ASSERT_FALSE(context_->syncer_event_channel());
182 ASSERT_FALSE(context_->resolver()); 183 ASSERT_FALSE(context_->resolver());
183 syncer_ = new Syncer(context_.get()); 184 syncer_ = new Syncer(context_.get());
184 // The Syncer installs some components on the context. 185 // The Syncer installs some components on the context.
185 ASSERT_TRUE(context_->syncer_event_channel()); 186 ASSERT_TRUE(context_->syncer_event_channel());
186 ASSERT_TRUE(context_->resolver()); 187 ASSERT_TRUE(context_->resolver());
187 188
188 hookup_.reset(NewEventListenerHookup(context_->syncer_event_channel(), this, 189 hookup_.reset(context_->syncer_event_channel()->AddObserver(this));
189 &SyncerTest::HandleSyncerEvent));
190 session_.reset(new SyncSession(context_.get(), this)); 190 session_.reset(new SyncSession(context_.get(), this));
191 191
192 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name()); 192 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name());
193 CHECK(dir.good()); 193 CHECK(dir.good());
194 ReadTransaction trans(dir, __FILE__, __LINE__); 194 ReadTransaction trans(dir, __FILE__, __LINE__);
195 syncable::Directory::ChildHandles children; 195 syncable::Directory::ChildHandles children;
196 dir->GetChildHandles(&trans, trans.root_id(), &children); 196 dir->GetChildHandles(&trans, trans.root_id(), &children);
197 ASSERT_TRUE(0 == children.size()); 197 ASSERT_TRUE(0 == children.size());
198 syncer_events_.clear(); 198 syncer_events_.clear();
199 root_id_ = TestIdFactory::root(); 199 root_id_ = TestIdFactory::root();
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 // TODO(chron): Get rid of these inbuilt IDs. They only make it 414 // TODO(chron): Get rid of these inbuilt IDs. They only make it
415 // more confusing. 415 // more confusing.
416 syncable::Id root_id_; 416 syncable::Id root_id_;
417 syncable::Id parent_id_; 417 syncable::Id parent_id_;
418 syncable::Id child_id_; 418 syncable::Id child_id_;
419 419
420 TestIdFactory ids_; 420 TestIdFactory ids_;
421 421
422 TestDirectorySetterUpper syncdb_; 422 TestDirectorySetterUpper syncdb_;
423 scoped_ptr<MockConnectionManager> mock_server_; 423 scoped_ptr<MockConnectionManager> mock_server_;
424 scoped_ptr<EventListenerHookup> hookup_; 424 scoped_ptr<ChannelHookup<SyncerEvent> > hookup_;
425 425
426 Syncer* syncer_; 426 Syncer* syncer_;
427 427
428 scoped_ptr<SyncSession> session_; 428 scoped_ptr<SyncSession> session_;
429 scoped_ptr<SyncSessionContext> context_; 429 scoped_ptr<SyncSessionContext> context_;
430 std::set<SyncerEvent> syncer_events_; 430 std::set<SyncerEvent> syncer_events_;
431 base::TimeDelta last_short_poll_interval_received_; 431 base::TimeDelta last_short_poll_interval_received_;
432 base::TimeDelta last_long_poll_interval_received_; 432 base::TimeDelta last_long_poll_interval_received_;
433 scoped_refptr<ModelSafeWorker> worker_; 433 scoped_refptr<ModelSafeWorker> worker_;
434 434
(...skipping 3978 matching lines...) Expand 10 before | Expand all | Expand 10 after
4413 Add(low_id_); 4413 Add(low_id_);
4414 Add(high_id_); 4414 Add(high_id_);
4415 syncer_->SyncShare(this); 4415 syncer_->SyncShare(this);
4416 ExpectLocalOrderIsByServerId(); 4416 ExpectLocalOrderIsByServerId();
4417 } 4417 }
4418 4418
4419 const SyncerTest::CommitOrderingTest 4419 const SyncerTest::CommitOrderingTest
4420 SyncerTest::CommitOrderingTest::LAST_COMMIT_ITEM = {-1, TestIdFactory::root()}; 4420 SyncerTest::CommitOrderingTest::LAST_COMMIT_ITEM = {-1, TestIdFactory::root()};
4421 4421
4422 } // namespace browser_sync 4422 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/sync/engine/syncer_types.h ('k') | chrome/browser/sync/sessions/sync_session_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698