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

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

Issue 10455012: [Sync] Add support for performing a GetKey on startup. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fred's comments Created 8 years, 4 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 // 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 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 231
232 GetModelSafeRoutingInfo(&routing_info); 232 GetModelSafeRoutingInfo(&routing_info);
233 GetWorkers(&workers); 233 GetWorkers(&workers);
234 234
235 throttled_data_type_tracker_.reset(new ThrottledDataTypeTracker(NULL)); 235 throttled_data_type_tracker_.reset(new ThrottledDataTypeTracker(NULL));
236 236
237 context_.reset( 237 context_.reset(
238 new SyncSessionContext( 238 new SyncSessionContext(
239 mock_server_.get(), directory(), workers, 239 mock_server_.get(), directory(), workers,
240 &extensions_activity_monitor_, throttled_data_type_tracker_.get(), 240 &extensions_activity_monitor_, throttled_data_type_tracker_.get(),
241 listeners, NULL, &traffic_recorder_)); 241 listeners, NULL, &traffic_recorder_,
242 true /* enable keystore encryption */));
242 context_->set_routing_info(routing_info); 243 context_->set_routing_info(routing_info);
243 ASSERT_FALSE(context_->resolver()); 244 ASSERT_FALSE(context_->resolver());
244 syncer_ = new Syncer(); 245 syncer_ = new Syncer();
245 session_.reset(MakeSession()); 246 session_.reset(MakeSession());
246 247
247 syncable::ReadTransaction trans(FROM_HERE, directory()); 248 syncable::ReadTransaction trans(FROM_HERE, directory());
248 syncable::Directory::ChildHandles children; 249 syncable::Directory::ChildHandles children;
249 directory()->GetChildHandlesById(&trans, trans.root_id(), &children); 250 directory()->GetChildHandlesById(&trans, trans.root_id(), &children);
250 ASSERT_EQ(0u, children.size()); 251 ASSERT_EQ(0u, children.size());
251 saw_syncer_event_ = false; 252 saw_syncer_event_ = false;
252 root_id_ = TestIdFactory::root(); 253 root_id_ = TestIdFactory::root();
253 parent_id_ = ids_.MakeServer("parent id"); 254 parent_id_ = ids_.MakeServer("parent id");
254 child_id_ = ids_.MakeServer("child id"); 255 child_id_ = ids_.MakeServer("child id");
256 directory()->set_store_birthday(mock_server_->store_birthday());
257 mock_server_->SetKeystoreKey("encryption_key");
255 } 258 }
256 259
257 virtual void TearDown() { 260 virtual void TearDown() {
258 mock_server_.reset(); 261 mock_server_.reset();
259 delete syncer_; 262 delete syncer_;
260 syncer_ = NULL; 263 syncer_ = NULL;
261 dir_maker_.TearDown(); 264 dir_maker_.TearDown();
262 } 265 }
263 void WriteTestDataToEntry(WriteTransaction* trans, MutableEntry* entry) { 266 void WriteTestDataToEntry(WriteTransaction* trans, MutableEntry* entry) {
264 EXPECT_FALSE(entry->Get(IS_DIR)); 267 EXPECT_FALSE(entry->Get(IS_DIR));
(...skipping 2035 matching lines...) Expand 10 before | Expand all | Expand 10 after
2300 MutableEntry entry2(&trans, syncable::CREATE, bob.Get(syncable::ID), 2303 MutableEntry entry2(&trans, syncable::CREATE, bob.Get(syncable::ID),
2301 "bob"); 2304 "bob");
2302 CHECK(entry2.good()); 2305 CHECK(entry2.good());
2303 entry2.Put(syncable::IS_DIR, true); 2306 entry2.Put(syncable::IS_DIR, true);
2304 entry2.Put(syncable::IS_UNSYNCED, true); 2307 entry2.Put(syncable::IS_UNSYNCED, true);
2305 entry2.Put(syncable::SPECIFICS, DefaultBookmarkSpecifics()); 2308 entry2.Put(syncable::SPECIFICS, DefaultBookmarkSpecifics());
2306 } 2309 }
2307 }; 2310 };
2308 2311
2309 TEST_F(EntryCreatedInNewFolderTest, EntryCreatedInNewFolderMidSync) { 2312 TEST_F(EntryCreatedInNewFolderTest, EntryCreatedInNewFolderMidSync) {
2310 directory()->set_store_birthday(mock_server_->store_birthday());
2311 { 2313 {
2312 WriteTransaction trans(FROM_HERE, UNITTEST, directory()); 2314 WriteTransaction trans(FROM_HERE, UNITTEST, directory());
2313 MutableEntry entry(&trans, syncable::CREATE, trans.root_id(), 2315 MutableEntry entry(&trans, syncable::CREATE, trans.root_id(),
2314 "bob"); 2316 "bob");
2315 ASSERT_TRUE(entry.good()); 2317 ASSERT_TRUE(entry.good());
2316 entry.Put(syncable::IS_DIR, true); 2318 entry.Put(syncable::IS_DIR, true);
2317 entry.Put(syncable::IS_UNSYNCED, true); 2319 entry.Put(syncable::IS_UNSYNCED, true);
2318 entry.Put(syncable::SPECIFICS, DefaultBookmarkSpecifics()); 2320 entry.Put(syncable::SPECIFICS, DefaultBookmarkSpecifics());
2319 } 2321 }
2320 2322
(...skipping 1839 matching lines...) Expand 10 before | Expand all | Expand 10 after
4160 // The second node was not downloaded. 4162 // The second node was not downloaded.
4161 Entry n2(&trans, GET_BY_ID, node2); 4163 Entry n2(&trans, GET_BY_ID, node2);
4162 EXPECT_FALSE(n2.good()); 4164 EXPECT_FALSE(n2.good());
4163 4165
4164 // One update remains undownloaded. 4166 // One update remains undownloaded.
4165 mock_server_->ClearUpdatesQueue(); 4167 mock_server_->ClearUpdatesQueue();
4166 4168
4167 EXPECT_FALSE(initial_sync_ended_for_type(BOOKMARKS)); 4169 EXPECT_FALSE(initial_sync_ended_for_type(BOOKMARKS));
4168 } 4170 }
4169 4171
4172 TEST_F(SyncerTest, GetKeySuccess) {
4173 {
4174 syncable::ReadTransaction rtrans(FROM_HERE, directory());
4175 EXPECT_FALSE(cryptographer(&rtrans)->HasKeystoreKey());
4176 }
4177
4178 SyncShareConfigure();
4179
4180 EXPECT_EQ(session_->status_controller().last_get_key_result(), SYNCER_OK);
4181 {
4182 syncable::ReadTransaction rtrans(FROM_HERE, directory());
4183 EXPECT_TRUE(cryptographer(&rtrans)->HasKeystoreKey());
4184 }
4185 }
4186
4187 TEST_F(SyncerTest, GetKeyEmpty) {
4188 {
4189 syncable::ReadTransaction rtrans(FROM_HERE, directory());
4190 EXPECT_FALSE(cryptographer(&rtrans)->HasKeystoreKey());
4191 }
4192
4193 mock_server_->SetKeystoreKey("");
4194 SyncShareConfigure();
4195
4196 EXPECT_NE(session_->status_controller().last_get_key_result(), SYNCER_OK);
4197 {
4198 syncable::ReadTransaction rtrans(FROM_HERE, directory());
4199 EXPECT_FALSE(cryptographer(&rtrans)->HasKeystoreKey());
4200 }
4201 }
4202
4170 // Test what happens if a client deletes, then recreates, an object very 4203 // Test what happens if a client deletes, then recreates, an object very
4171 // quickly. It is possible that the deletion gets sent as a commit, and 4204 // quickly. It is possible that the deletion gets sent as a commit, and
4172 // the undelete happens during the commit request. The principle here 4205 // the undelete happens during the commit request. The principle here
4173 // is that with a single committing client, conflicts should never 4206 // is that with a single committing client, conflicts should never
4174 // be encountered, and a client encountering its past actions during 4207 // be encountered, and a client encountering its past actions during
4175 // getupdates should never feed back to override later actions. 4208 // getupdates should never feed back to override later actions.
4176 // 4209 //
4177 // In cases of ordering A-F below, the outcome should be the same. 4210 // In cases of ordering A-F below, the outcome should be the same.
4178 // Exercised by UndeleteDuringCommit: 4211 // Exercised by UndeleteDuringCommit:
4179 // A. Delete - commit - undelete - commitresponse. 4212 // A. Delete - commit - undelete - commitresponse.
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after
4824 4857
4825 TEST_F(SyncerPositionTiebreakingTest, MidLowHigh) { 4858 TEST_F(SyncerPositionTiebreakingTest, MidLowHigh) {
4826 Add(mid_id_); 4859 Add(mid_id_);
4827 Add(low_id_); 4860 Add(low_id_);
4828 Add(high_id_); 4861 Add(high_id_);
4829 SyncShareNudge(); 4862 SyncShareNudge();
4830 ExpectLocalOrderIsByServerId(); 4863 ExpectLocalOrderIsByServerId();
4831 } 4864 }
4832 4865
4833 } // namespace syncer 4866 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698