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

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

Issue 8637006: [Sync] Make syncer commands avoid posting tasks on threads with no work to do (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Refactor some test code Created 9 years, 1 month 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #include <string> 5 #include <string>
6 6
7 #include "base/format_macros.h" 7 #include "base/format_macros.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/stringprintf.h" 9 #include "base/stringprintf.h"
10 #include "chrome/browser/sync/engine/apply_updates_command.h" 10 #include "chrome/browser/sync/engine/apply_updates_command.h"
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 workers()->push_back( 56 workers()->push_back(
57 make_scoped_refptr(new FakeModelWorker(GROUP_UI))); 57 make_scoped_refptr(new FakeModelWorker(GROUP_UI)));
58 workers()->push_back( 58 workers()->push_back(
59 make_scoped_refptr(new FakeModelWorker(GROUP_PASSWORD))); 59 make_scoped_refptr(new FakeModelWorker(GROUP_PASSWORD)));
60 workers()->push_back( 60 workers()->push_back(
61 make_scoped_refptr(new FakeModelWorker(GROUP_PASSIVE))); 61 make_scoped_refptr(new FakeModelWorker(GROUP_PASSIVE)));
62 (*mutable_routing_info())[syncable::BOOKMARKS] = GROUP_UI; 62 (*mutable_routing_info())[syncable::BOOKMARKS] = GROUP_UI;
63 (*mutable_routing_info())[syncable::PASSWORDS] = GROUP_PASSWORD; 63 (*mutable_routing_info())[syncable::PASSWORDS] = GROUP_PASSWORD;
64 (*mutable_routing_info())[syncable::NIGORI] = GROUP_PASSIVE; 64 (*mutable_routing_info())[syncable::NIGORI] = GROUP_PASSIVE;
65 SyncerCommandTest::SetUp(); 65 SyncerCommandTest::SetUp();
66 ExpectNoGroupsToChange(apply_updates_command_);
66 } 67 }
67 68
68 // Create a new unapplied folder node with a parent. 69 // Create a new unapplied folder node with a parent.
69 void CreateUnappliedNewItemWithParent( 70 void CreateUnappliedNewItemWithParent(
70 const string& item_id, 71 const string& item_id,
71 const sync_pb::EntitySpecifics& specifics, 72 const sync_pb::EntitySpecifics& specifics,
72 const string& parent_id) { 73 const string& parent_id) {
73 ScopedDirLookup dir(syncdb()->manager(), syncdb()->name()); 74 ScopedDirLookup dir(syncdb()->manager(), syncdb()->name());
74 ASSERT_TRUE(dir.good()); 75 ASSERT_TRUE(dir.good());
75 WriteTransaction trans(FROM_HERE, UNITTEST, dir); 76 WriteTransaction trans(FROM_HERE, UNITTEST, dir);
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
153 154
154 TEST_F(ApplyUpdatesCommandTest, Simple) { 155 TEST_F(ApplyUpdatesCommandTest, Simple) {
155 string root_server_id = syncable::GetNullId().GetServerId(); 156 string root_server_id = syncable::GetNullId().GetServerId();
156 CreateUnappliedNewItemWithParent("parent", 157 CreateUnappliedNewItemWithParent("parent",
157 DefaultBookmarkSpecifics(), 158 DefaultBookmarkSpecifics(),
158 root_server_id); 159 root_server_id);
159 CreateUnappliedNewItemWithParent("child", 160 CreateUnappliedNewItemWithParent("child",
160 DefaultBookmarkSpecifics(), 161 DefaultBookmarkSpecifics(),
161 "parent"); 162 "parent");
162 163
164 ExpectGroupToChange(apply_updates_command_, GROUP_UI);
163 apply_updates_command_.ExecuteImpl(session()); 165 apply_updates_command_.ExecuteImpl(session());
164 166
165 sessions::StatusController* status = session()->mutable_status_controller(); 167 sessions::StatusController* status = session()->mutable_status_controller();
166 168
167 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI); 169 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI);
168 ASSERT_TRUE(status->update_progress()); 170 ASSERT_TRUE(status->update_progress());
169 EXPECT_EQ(2, status->update_progress()->AppliedUpdatesSize()) 171 EXPECT_EQ(2, status->update_progress()->AppliedUpdatesSize())
170 << "All updates should have been attempted"; 172 << "All updates should have been attempted";
171 ASSERT_TRUE(status->conflict_progress()); 173 ASSERT_TRUE(status->conflict_progress());
172 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize()) 174 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize())
(...skipping 15 matching lines...) Expand all
188 CreateUnappliedNewItemWithParent("parent", 190 CreateUnappliedNewItemWithParent("parent",
189 DefaultBookmarkSpecifics(), 191 DefaultBookmarkSpecifics(),
190 root_server_id); 192 root_server_id);
191 CreateUnappliedNewItemWithParent("a_child_created_second", 193 CreateUnappliedNewItemWithParent("a_child_created_second",
192 DefaultBookmarkSpecifics(), 194 DefaultBookmarkSpecifics(),
193 "parent"); 195 "parent");
194 CreateUnappliedNewItemWithParent("x_child_created_second", 196 CreateUnappliedNewItemWithParent("x_child_created_second",
195 DefaultBookmarkSpecifics(), 197 DefaultBookmarkSpecifics(),
196 "parent"); 198 "parent");
197 199
200 ExpectGroupToChange(apply_updates_command_, GROUP_UI);
198 apply_updates_command_.ExecuteImpl(session()); 201 apply_updates_command_.ExecuteImpl(session());
199 202
200 sessions::StatusController* status = session()->mutable_status_controller(); 203 sessions::StatusController* status = session()->mutable_status_controller();
201 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI); 204 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI);
202 ASSERT_TRUE(status->update_progress()); 205 ASSERT_TRUE(status->update_progress());
203 EXPECT_EQ(5, status->update_progress()->AppliedUpdatesSize()) 206 EXPECT_EQ(5, status->update_progress()->AppliedUpdatesSize())
204 << "All updates should have been attempted"; 207 << "All updates should have been attempted";
205 ASSERT_TRUE(status->conflict_progress()); 208 ASSERT_TRUE(status->conflict_progress());
206 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize()) 209 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize())
207 << "Simple update shouldn't result in conflicts, even if out-of-order"; 210 << "Simple update shouldn't result in conflicts, even if out-of-order";
208 EXPECT_EQ(5, status->update_progress()->SuccessfullyAppliedUpdateCount()) 211 EXPECT_EQ(5, status->update_progress()->SuccessfullyAppliedUpdateCount())
209 << "All updates should have been successfully applied"; 212 << "All updates should have been successfully applied";
210 } 213 }
211 214
212 TEST_F(ApplyUpdatesCommandTest, NestedItemsWithUnknownParent) { 215 TEST_F(ApplyUpdatesCommandTest, NestedItemsWithUnknownParent) {
213 // We shouldn't be able to do anything with either of these items. 216 // We shouldn't be able to do anything with either of these items.
214 CreateUnappliedNewItemWithParent("some_item", 217 CreateUnappliedNewItemWithParent("some_item",
215 DefaultBookmarkSpecifics(), 218 DefaultBookmarkSpecifics(),
216 "unknown_parent"); 219 "unknown_parent");
217 CreateUnappliedNewItemWithParent("some_other_item", 220 CreateUnappliedNewItemWithParent("some_other_item",
218 DefaultBookmarkSpecifics(), 221 DefaultBookmarkSpecifics(),
219 "some_item"); 222 "some_item");
220 223
224 ExpectGroupToChange(apply_updates_command_, GROUP_UI);
221 apply_updates_command_.ExecuteImpl(session()); 225 apply_updates_command_.ExecuteImpl(session());
222 226
223 sessions::StatusController* status = session()->mutable_status_controller(); 227 sessions::StatusController* status = session()->mutable_status_controller();
224 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI); 228 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI);
225 ASSERT_TRUE(status->update_progress()); 229 ASSERT_TRUE(status->update_progress());
226 EXPECT_EQ(2, status->update_progress()->AppliedUpdatesSize()) 230 EXPECT_EQ(2, status->update_progress()->AppliedUpdatesSize())
227 << "All updates should have been attempted"; 231 << "All updates should have been attempted";
228 ASSERT_TRUE(status->conflict_progress()); 232 ASSERT_TRUE(status->conflict_progress());
229 EXPECT_EQ(2, status->conflict_progress()->ConflictingItemsSize()) 233 EXPECT_EQ(2, status->conflict_progress()->ConflictingItemsSize())
230 << "All updates with an unknown ancestors should be in conflict"; 234 << "All updates with an unknown ancestors should be in conflict";
(...skipping 16 matching lines...) Expand all
247 CreateUnappliedNewItemWithParent("second_known_item", 251 CreateUnappliedNewItemWithParent("second_known_item",
248 DefaultBookmarkSpecifics(), 252 DefaultBookmarkSpecifics(),
249 "first_known_item"); 253 "first_known_item");
250 CreateUnappliedNewItemWithParent("third_known_item", 254 CreateUnappliedNewItemWithParent("third_known_item",
251 DefaultBookmarkSpecifics(), 255 DefaultBookmarkSpecifics(),
252 "fourth_known_item"); 256 "fourth_known_item");
253 CreateUnappliedNewItemWithParent("fourth_known_item", 257 CreateUnappliedNewItemWithParent("fourth_known_item",
254 DefaultBookmarkSpecifics(), 258 DefaultBookmarkSpecifics(),
255 root_server_id); 259 root_server_id);
256 260
261 ExpectGroupToChange(apply_updates_command_, GROUP_UI);
257 apply_updates_command_.ExecuteImpl(session()); 262 apply_updates_command_.ExecuteImpl(session());
258 263
259 sessions::StatusController* status = session()->mutable_status_controller(); 264 sessions::StatusController* status = session()->mutable_status_controller();
260 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI); 265 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI);
261 ASSERT_TRUE(status->update_progress()); 266 ASSERT_TRUE(status->update_progress());
262 EXPECT_EQ(6, status->update_progress()->AppliedUpdatesSize()) 267 EXPECT_EQ(6, status->update_progress()->AppliedUpdatesSize())
263 << "All updates should have been attempted"; 268 << "All updates should have been attempted";
264 ASSERT_TRUE(status->conflict_progress()); 269 ASSERT_TRUE(status->conflict_progress());
265 EXPECT_EQ(2, status->conflict_progress()->ConflictingItemsSize()) 270 EXPECT_EQ(2, status->conflict_progress()->ConflictingItemsSize())
266 << "The updates with unknown ancestors should be in conflict"; 271 << "The updates with unknown ancestors should be in conflict";
(...skipping 18 matching lines...) Expand all
285 cryptographer->AddKey(params); 290 cryptographer->AddKey(params);
286 291
287 sync_pb::EntitySpecifics specifics; 292 sync_pb::EntitySpecifics specifics;
288 sync_pb::PasswordSpecificsData data; 293 sync_pb::PasswordSpecificsData data;
289 data.set_origin("http://example.com"); 294 data.set_origin("http://example.com");
290 295
291 cryptographer->Encrypt(data, 296 cryptographer->Encrypt(data,
292 specifics.MutableExtension(sync_pb::password)->mutable_encrypted()); 297 specifics.MutableExtension(sync_pb::password)->mutable_encrypted());
293 CreateUnappliedNewItem("item", specifics, false); 298 CreateUnappliedNewItem("item", specifics, false);
294 299
300 ExpectGroupToChange(apply_updates_command_, GROUP_PASSWORD);
295 apply_updates_command_.ExecuteImpl(session()); 301 apply_updates_command_.ExecuteImpl(session());
296 302
297 sessions::StatusController* status = session()->mutable_status_controller(); 303 sessions::StatusController* status = session()->mutable_status_controller();
298 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSWORD); 304 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSWORD);
299 ASSERT_TRUE(status->update_progress()); 305 ASSERT_TRUE(status->update_progress());
300 EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize()) 306 EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize())
301 << "All updates should have been attempted"; 307 << "All updates should have been attempted";
302 ASSERT_TRUE(status->conflict_progress()); 308 ASSERT_TRUE(status->conflict_progress());
303 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize()) 309 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize())
304 << "No update should be in conflict because they're all decryptable"; 310 << "No update should be in conflict because they're all decryptable";
305 EXPECT_EQ(1, status->update_progress()->SuccessfullyAppliedUpdateCount()) 311 EXPECT_EQ(1, status->update_progress()->SuccessfullyAppliedUpdateCount())
306 << "The updates that can be decrypted should be applied"; 312 << "The updates that can be decrypted should be applied";
307 } 313 }
308 314
309 TEST_F(ApplyUpdatesCommandTest, UndecryptableData) { 315 TEST_F(ApplyUpdatesCommandTest, UndecryptableData) {
310 // Undecryptable updates should not be applied. 316 // Undecryptable updates should not be applied.
311 sync_pb::EntitySpecifics encrypted_bookmark; 317 sync_pb::EntitySpecifics encrypted_bookmark;
312 encrypted_bookmark.mutable_encrypted(); 318 encrypted_bookmark.mutable_encrypted();
313 AddDefaultExtensionValue(syncable::BOOKMARKS, &encrypted_bookmark); 319 AddDefaultExtensionValue(syncable::BOOKMARKS, &encrypted_bookmark);
314 string root_server_id = syncable::GetNullId().GetServerId(); 320 string root_server_id = syncable::GetNullId().GetServerId();
315 CreateUnappliedNewItemWithParent("folder", 321 CreateUnappliedNewItemWithParent("folder",
316 encrypted_bookmark, 322 encrypted_bookmark,
317 root_server_id); 323 root_server_id);
318 CreateUnappliedNewItem("item2", encrypted_bookmark, false); 324 CreateUnappliedNewItem("item2", encrypted_bookmark, false);
319 sync_pb::EntitySpecifics encrypted_password; 325 sync_pb::EntitySpecifics encrypted_password;
320 encrypted_password.MutableExtension(sync_pb::password); 326 encrypted_password.MutableExtension(sync_pb::password);
321 CreateUnappliedNewItem("item3", encrypted_password, false); 327 CreateUnappliedNewItem("item3", encrypted_password, false);
322 328
329 ExpectGroupsToChange(apply_updates_command_, GROUP_UI, GROUP_PASSWORD);
323 apply_updates_command_.ExecuteImpl(session()); 330 apply_updates_command_.ExecuteImpl(session());
324 331
325 sessions::StatusController* status = session()->mutable_status_controller(); 332 sessions::StatusController* status = session()->mutable_status_controller();
326 EXPECT_TRUE(status->HasConflictingUpdates()) 333 EXPECT_TRUE(status->HasConflictingUpdates())
327 << "Updates that can't be decrypted should trigger the syncer to have " 334 << "Updates that can't be decrypted should trigger the syncer to have "
328 << "conflicting updates."; 335 << "conflicting updates.";
329 { 336 {
330 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI); 337 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_UI);
331 ASSERT_TRUE(status->update_progress()); 338 ASSERT_TRUE(status->update_progress());
332 EXPECT_EQ(2, status->update_progress()->AppliedUpdatesSize()) 339 EXPECT_EQ(2, status->update_progress()->AppliedUpdatesSize())
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 394
388 sync_pb::EntitySpecifics specifics; 395 sync_pb::EntitySpecifics specifics;
389 sync_pb::PasswordSpecificsData data; 396 sync_pb::PasswordSpecificsData data;
390 data.set_origin("http://example.com/2"); 397 data.set_origin("http://example.com/2");
391 398
392 cryptographer.Encrypt(data, 399 cryptographer.Encrypt(data,
393 specifics.MutableExtension(sync_pb::password)->mutable_encrypted()); 400 specifics.MutableExtension(sync_pb::password)->mutable_encrypted());
394 CreateUnappliedNewItem("item2", specifics, false); 401 CreateUnappliedNewItem("item2", specifics, false);
395 } 402 }
396 403
404 ExpectGroupToChange(apply_updates_command_, GROUP_PASSWORD);
397 apply_updates_command_.ExecuteImpl(session()); 405 apply_updates_command_.ExecuteImpl(session());
398 406
399 sessions::StatusController* status = session()->mutable_status_controller(); 407 sessions::StatusController* status = session()->mutable_status_controller();
400 EXPECT_TRUE(status->HasConflictingUpdates()) 408 EXPECT_TRUE(status->HasConflictingUpdates())
401 << "Updates that can't be decrypted should trigger the syncer to have " 409 << "Updates that can't be decrypted should trigger the syncer to have "
402 << "conflicting updates."; 410 << "conflicting updates.";
403 { 411 {
404 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSWORD); 412 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSWORD);
405 ASSERT_TRUE(status->update_progress()); 413 ASSERT_TRUE(status->update_progress());
406 EXPECT_EQ(2, status->update_progress()->AppliedUpdatesSize()) 414 EXPECT_EQ(2, status->update_progress()->AppliedUpdatesSize())
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 sync_pb::EntitySpecifics specifics; 449 sync_pb::EntitySpecifics specifics;
442 sync_pb::NigoriSpecifics* nigori = 450 sync_pb::NigoriSpecifics* nigori =
443 specifics.MutableExtension(sync_pb::nigori); 451 specifics.MutableExtension(sync_pb::nigori);
444 other_cryptographer.GetKeys(nigori->mutable_encrypted()); 452 other_cryptographer.GetKeys(nigori->mutable_encrypted());
445 nigori->set_encrypt_bookmarks(true); 453 nigori->set_encrypt_bookmarks(true);
446 encrypted_types.insert(syncable::BOOKMARKS); 454 encrypted_types.insert(syncable::BOOKMARKS);
447 CreateUnappliedNewItem(syncable::ModelTypeToRootTag(syncable::NIGORI), 455 CreateUnappliedNewItem(syncable::ModelTypeToRootTag(syncable::NIGORI),
448 specifics, true); 456 specifics, true);
449 EXPECT_FALSE(cryptographer->has_pending_keys()); 457 EXPECT_FALSE(cryptographer->has_pending_keys());
450 458
459 ExpectGroupToChange(apply_updates_command_, GROUP_PASSIVE);
451 apply_updates_command_.ExecuteImpl(session()); 460 apply_updates_command_.ExecuteImpl(session());
452 461
453 sessions::StatusController* status = session()->mutable_status_controller(); 462 sessions::StatusController* status = session()->mutable_status_controller();
454 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSIVE); 463 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSIVE);
455 ASSERT_TRUE(status->update_progress()); 464 ASSERT_TRUE(status->update_progress());
456 EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize()) 465 EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize())
457 << "All updates should have been attempted"; 466 << "All updates should have been attempted";
458 ASSERT_TRUE(status->conflict_progress()); 467 ASSERT_TRUE(status->conflict_progress());
459 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize()) 468 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize())
460 << "The nigori update shouldn't be in conflict"; 469 << "The nigori update shouldn't be in conflict";
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 specifics.MutableExtension(sync_pb::nigori); 501 specifics.MutableExtension(sync_pb::nigori);
493 other_cryptographer.GetKeys(nigori->mutable_encrypted()); 502 other_cryptographer.GetKeys(nigori->mutable_encrypted());
494 nigori->set_encrypt_sessions(true); 503 nigori->set_encrypt_sessions(true);
495 nigori->set_encrypt_themes(true); 504 nigori->set_encrypt_themes(true);
496 encrypted_types.insert(syncable::SESSIONS); 505 encrypted_types.insert(syncable::SESSIONS);
497 encrypted_types.insert(syncable::THEMES); 506 encrypted_types.insert(syncable::THEMES);
498 CreateUnappliedNewItem(syncable::ModelTypeToRootTag(syncable::NIGORI), 507 CreateUnappliedNewItem(syncable::ModelTypeToRootTag(syncable::NIGORI),
499 specifics, true); 508 specifics, true);
500 EXPECT_FALSE(cryptographer->has_pending_keys()); 509 EXPECT_FALSE(cryptographer->has_pending_keys());
501 510
511 ExpectGroupToChange(apply_updates_command_, GROUP_PASSIVE);
502 apply_updates_command_.ExecuteImpl(session()); 512 apply_updates_command_.ExecuteImpl(session());
503 513
504 sessions::StatusController* status = session()->mutable_status_controller(); 514 sessions::StatusController* status = session()->mutable_status_controller();
505 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSIVE); 515 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSIVE);
506 ASSERT_TRUE(status->update_progress()); 516 ASSERT_TRUE(status->update_progress());
507 EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize()) 517 EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize())
508 << "All updates should have been attempted"; 518 << "All updates should have been attempted";
509 ASSERT_TRUE(status->conflict_progress()); 519 ASSERT_TRUE(status->conflict_progress());
510 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize()) 520 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize())
511 << "The nigori update shouldn't be in conflict"; 521 << "The nigori update shouldn't be in conflict";
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 ScopedDirLookup dir(syncdb()->manager(), syncdb()->name()); 589 ScopedDirLookup dir(syncdb()->manager(), syncdb()->name());
580 ASSERT_TRUE(dir.good()); 590 ASSERT_TRUE(dir.good());
581 ReadTransaction trans(FROM_HERE, dir); 591 ReadTransaction trans(FROM_HERE, dir);
582 EXPECT_FALSE(VerifyUnsyncedChangesAreEncrypted(&trans, encrypted_types)); 592 EXPECT_FALSE(VerifyUnsyncedChangesAreEncrypted(&trans, encrypted_types));
583 593
584 Syncer::UnsyncedMetaHandles handles; 594 Syncer::UnsyncedMetaHandles handles;
585 SyncerUtil::GetUnsyncedEntries(&trans, &handles); 595 SyncerUtil::GetUnsyncedEntries(&trans, &handles);
586 EXPECT_EQ(2*batch_s+1, handles.size()); 596 EXPECT_EQ(2*batch_s+1, handles.size());
587 } 597 }
588 598
599 ExpectGroupToChange(apply_updates_command_, GROUP_PASSIVE);
589 apply_updates_command_.ExecuteImpl(session()); 600 apply_updates_command_.ExecuteImpl(session());
590 601
591 sessions::StatusController* status = session()->mutable_status_controller(); 602 sessions::StatusController* status = session()->mutable_status_controller();
592 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSIVE); 603 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSIVE);
593 ASSERT_TRUE(status->update_progress()); 604 ASSERT_TRUE(status->update_progress());
594 EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize()) 605 EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize())
595 << "All updates should have been attempted"; 606 << "All updates should have been attempted";
596 ASSERT_TRUE(status->conflict_progress()); 607 ASSERT_TRUE(status->conflict_progress());
597 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize()) 608 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize())
598 << "No updates should be in conflict"; 609 << "No updates should be in conflict";
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 // Ensure we have unsynced nodes that aren't properly encrypted. 692 // Ensure we have unsynced nodes that aren't properly encrypted.
682 ScopedDirLookup dir(syncdb()->manager(), syncdb()->name()); 693 ScopedDirLookup dir(syncdb()->manager(), syncdb()->name());
683 ASSERT_TRUE(dir.good()); 694 ASSERT_TRUE(dir.good());
684 ReadTransaction trans(FROM_HERE, dir); 695 ReadTransaction trans(FROM_HERE, dir);
685 EXPECT_FALSE(VerifyUnsyncedChangesAreEncrypted(&trans, encrypted_types)); 696 EXPECT_FALSE(VerifyUnsyncedChangesAreEncrypted(&trans, encrypted_types));
686 Syncer::UnsyncedMetaHandles handles; 697 Syncer::UnsyncedMetaHandles handles;
687 SyncerUtil::GetUnsyncedEntries(&trans, &handles); 698 SyncerUtil::GetUnsyncedEntries(&trans, &handles);
688 EXPECT_EQ(2*batch_s+1, handles.size()); 699 EXPECT_EQ(2*batch_s+1, handles.size());
689 } 700 }
690 701
702 ExpectGroupToChange(apply_updates_command_, GROUP_PASSIVE);
691 apply_updates_command_.ExecuteImpl(session()); 703 apply_updates_command_.ExecuteImpl(session());
692 704
693 sessions::StatusController* status = session()->mutable_status_controller(); 705 sessions::StatusController* status = session()->mutable_status_controller();
694 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSIVE); 706 sessions::ScopedModelSafeGroupRestriction r(status, GROUP_PASSIVE);
695 ASSERT_TRUE(status->update_progress()); 707 ASSERT_TRUE(status->update_progress());
696 EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize()) 708 EXPECT_EQ(1, status->update_progress()->AppliedUpdatesSize())
697 << "All updates should have been attempted"; 709 << "All updates should have been attempted";
698 ASSERT_TRUE(status->conflict_progress()); 710 ASSERT_TRUE(status->conflict_progress());
699 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize()) 711 EXPECT_EQ(0, status->conflict_progress()->ConflictingItemsSize())
700 << "The unsynced changes don't trigger a blocking conflict with the " 712 << "The unsynced changes don't trigger a blocking conflict with the "
(...skipping 19 matching lines...) Expand all
720 encrypted_types.insert(syncable::BOOKMARKS); 732 encrypted_types.insert(syncable::BOOKMARKS);
721 EXPECT_EQ(GetAllRealModelTypes(), cryptographer->GetEncryptedTypes()); 733 EXPECT_EQ(GetAllRealModelTypes(), cryptographer->GetEncryptedTypes());
722 734
723 Syncer::UnsyncedMetaHandles handles; 735 Syncer::UnsyncedMetaHandles handles;
724 SyncerUtil::GetUnsyncedEntries(&trans, &handles); 736 SyncerUtil::GetUnsyncedEntries(&trans, &handles);
725 EXPECT_EQ(2*batch_s+1, handles.size()); 737 EXPECT_EQ(2*batch_s+1, handles.size());
726 } 738 }
727 } 739 }
728 740
729 } // namespace browser_sync 741 } // namespace browser_sync
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698