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

Side by Side Diff: sync/internal_api/sync_manager_impl_unittest.cc

Issue 302173004: sync: Specialize functions that fetch type root (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: s/GET_BY_SERVER_TAG_DEPRECATED/GET_BY_SERVER_TAG/ Created 6 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 | Annotate | Revision Log
« no previous file with comments | « sync/internal_api/sync_manager_impl.cc ('k') | sync/internal_api/sync_rollback_manager_base.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 // Unit tests for the SyncApi. Note that a lot of the underlying 5 // Unit tests for the SyncApi. Note that a lot of the underlying
6 // functionality is provided by the Syncable layer, which has its own 6 // functionality is provided by the Syncable layer, which has its own
7 // unit tests. We'll test SyncApi specific things in this harness. 7 // unit tests. We'll test SyncApi specific things in this harness.
8 8
9 #include <cstddef> 9 #include <cstddef>
10 #include <map> 10 #include <map>
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 return entry.GetMetahandle(); 167 return entry.GetMetahandle();
168 } 168 }
169 169
170 // Simulates creating a "synced" node as a child of the root datatype node. 170 // Simulates creating a "synced" node as a child of the root datatype node.
171 int64 MakeServerNode(UserShare* share, ModelType model_type, 171 int64 MakeServerNode(UserShare* share, ModelType model_type,
172 const std::string& client_tag, 172 const std::string& client_tag,
173 const std::string& hashed_tag, 173 const std::string& hashed_tag,
174 const sync_pb::EntitySpecifics& specifics) { 174 const sync_pb::EntitySpecifics& specifics) {
175 syncable::WriteTransaction trans( 175 syncable::WriteTransaction trans(
176 FROM_HERE, syncable::UNITTEST, share->directory.get()); 176 FROM_HERE, syncable::UNITTEST, share->directory.get());
177 syncable::Entry root_entry(&trans, syncable::GET_BY_SERVER_TAG, 177 syncable::Entry root_entry(&trans, syncable::GET_TYPE_ROOT, model_type);
178 ModelTypeToRootTag(model_type));
179 EXPECT_TRUE(root_entry.good()); 178 EXPECT_TRUE(root_entry.good());
180 syncable::Id root_id = root_entry.GetId(); 179 syncable::Id root_id = root_entry.GetId();
181 syncable::Id node_id = syncable::Id::CreateFromServerId(client_tag); 180 syncable::Id node_id = syncable::Id::CreateFromServerId(client_tag);
182 syncable::MutableEntry entry(&trans, syncable::CREATE_NEW_UPDATE_ITEM, 181 syncable::MutableEntry entry(&trans, syncable::CREATE_NEW_UPDATE_ITEM,
183 node_id); 182 node_id);
184 EXPECT_TRUE(entry.good()); 183 EXPECT_TRUE(entry.good());
185 entry.PutBaseVersion(1); 184 entry.PutBaseVersion(1);
186 entry.PutServerVersion(1); 185 entry.PutServerVersion(1);
187 entry.PutIsUnappliedUpdate(false); 186 entry.PutIsUnappliedUpdate(false);
188 entry.PutServerParentId(root_id); 187 entry.PutServerParentId(root_id);
(...skipping 387 matching lines...) Expand 10 before | Expand all | Expand 10 after
576 TEST_F(SyncApiTest, EmptyTags) { 575 TEST_F(SyncApiTest, EmptyTags) {
577 WriteTransaction trans(FROM_HERE, user_share()); 576 WriteTransaction trans(FROM_HERE, user_share());
578 ReadNode root_node(&trans); 577 ReadNode root_node(&trans);
579 root_node.InitByRootLookup(); 578 root_node.InitByRootLookup();
580 WriteNode node(&trans); 579 WriteNode node(&trans);
581 std::string empty_tag; 580 std::string empty_tag;
582 WriteNode::InitUniqueByCreationResult result = 581 WriteNode::InitUniqueByCreationResult result =
583 node.InitUniqueByCreation(TYPED_URLS, root_node, empty_tag); 582 node.InitUniqueByCreation(TYPED_URLS, root_node, empty_tag);
584 EXPECT_NE(WriteNode::INIT_SUCCESS, result); 583 EXPECT_NE(WriteNode::INIT_SUCCESS, result);
585 EXPECT_EQ(BaseNode::INIT_FAILED_PRECONDITION, 584 EXPECT_EQ(BaseNode::INIT_FAILED_PRECONDITION,
586 node.InitByTagLookup(empty_tag)); 585 node.InitByClientTagLookup(TYPED_URLS, empty_tag));
587 } 586 }
588 587
589 // Test counting nodes when the type's root node has no children. 588 // Test counting nodes when the type's root node has no children.
590 TEST_F(SyncApiTest, GetTotalNodeCountEmpty) { 589 TEST_F(SyncApiTest, GetTotalNodeCountEmpty) {
591 int64 type_root = MakeServerNodeForType(user_share(), BOOKMARKS); 590 int64 type_root = MakeServerNodeForType(user_share(), BOOKMARKS);
592 { 591 {
593 ReadTransaction trans(FROM_HERE, user_share()); 592 ReadTransaction trans(FROM_HERE, user_share());
594 ReadNode type_root_node(&trans); 593 ReadNode type_root_node(&trans);
595 EXPECT_EQ(BaseNode::INIT_OK, 594 EXPECT_EQ(BaseNode::INIT_OK,
596 type_root_node.InitByIdLookup(type_root)); 595 type_root_node.InitByIdLookup(type_root));
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after
1241 EXPECT_CALL(encryption_observer_, OnCryptographerStateChanged(_)); 1240 EXPECT_CALL(encryption_observer_, OnCryptographerStateChanged(_));
1242 sync_manager_.GetEncryptionHandler()->SetEncryptionPassphrase( 1241 sync_manager_.GetEncryptionHandler()->SetEncryptionPassphrase(
1243 "new_passphrase", 1242 "new_passphrase",
1244 false); 1243 false);
1245 EXPECT_EQ(IMPLICIT_PASSPHRASE, 1244 EXPECT_EQ(IMPLICIT_PASSPHRASE,
1246 sync_manager_.GetEncryptionHandler()->GetPassphraseType()); 1245 sync_manager_.GetEncryptionHandler()->GetPassphraseType());
1247 EXPECT_FALSE(EncryptEverythingEnabledForTest()); 1246 EXPECT_FALSE(EncryptEverythingEnabledForTest());
1248 { 1247 {
1249 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 1248 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
1250 ReadNode node(&trans); 1249 ReadNode node(&trans);
1251 EXPECT_EQ(BaseNode::INIT_OK, node.InitByTagLookup(kNigoriTag)); 1250 EXPECT_EQ(BaseNode::INIT_OK, node.InitTypeRoot(NIGORI));
1252 sync_pb::NigoriSpecifics nigori = node.GetNigoriSpecifics(); 1251 sync_pb::NigoriSpecifics nigori = node.GetNigoriSpecifics();
1253 Cryptographer* cryptographer = trans.GetCryptographer(); 1252 Cryptographer* cryptographer = trans.GetCryptographer();
1254 EXPECT_TRUE(cryptographer->is_ready()); 1253 EXPECT_TRUE(cryptographer->is_ready());
1255 EXPECT_TRUE(cryptographer->CanDecrypt(nigori.encryption_keybag())); 1254 EXPECT_TRUE(cryptographer->CanDecrypt(nigori.encryption_keybag()));
1256 } 1255 }
1257 } 1256 }
1258 1257
1259 // Test that when there are no pending keys and we have on the old GAIA 1258 // Test that when there are no pending keys and we have on the old GAIA
1260 // password, we update and re-encrypt everything with the new GAIA password. 1259 // password, we update and re-encrypt everything with the new GAIA password.
1261 // (case 1 in SyncManager::SyncInternal::SetEncryptionPassphrase) 1260 // (case 1 in SyncManager::SyncInternal::SetEncryptionPassphrase)
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
1361 Cryptographer* cryptographer = trans.GetCryptographer(); 1360 Cryptographer* cryptographer = trans.GetCryptographer();
1362 std::string bootstrap_token; 1361 std::string bootstrap_token;
1363 cryptographer->GetBootstrapToken(&bootstrap_token); 1362 cryptographer->GetBootstrapToken(&bootstrap_token);
1364 other_cryptographer.Bootstrap(bootstrap_token); 1363 other_cryptographer.Bootstrap(bootstrap_token);
1365 1364
1366 // Now update the nigori to reflect the new keys, and update the 1365 // Now update the nigori to reflect the new keys, and update the
1367 // cryptographer to have pending keys. 1366 // cryptographer to have pending keys.
1368 KeyParams params = {"localhost", "dummy", "passphrase2"}; 1367 KeyParams params = {"localhost", "dummy", "passphrase2"};
1369 other_cryptographer.AddKey(params); 1368 other_cryptographer.AddKey(params);
1370 WriteNode node(&trans); 1369 WriteNode node(&trans);
1371 EXPECT_EQ(BaseNode::INIT_OK, node.InitByTagLookup(kNigoriTag)); 1370 EXPECT_EQ(BaseNode::INIT_OK, node.InitTypeRoot(NIGORI));
1372 sync_pb::NigoriSpecifics nigori; 1371 sync_pb::NigoriSpecifics nigori;
1373 other_cryptographer.GetKeys(nigori.mutable_encryption_keybag()); 1372 other_cryptographer.GetKeys(nigori.mutable_encryption_keybag());
1374 cryptographer->SetPendingKeys(nigori.encryption_keybag()); 1373 cryptographer->SetPendingKeys(nigori.encryption_keybag());
1375 EXPECT_TRUE(cryptographer->has_pending_keys()); 1374 EXPECT_TRUE(cryptographer->has_pending_keys());
1376 node.SetNigoriSpecifics(nigori); 1375 node.SetNigoriSpecifics(nigori);
1377 } 1376 }
1378 EXPECT_CALL(encryption_observer_, 1377 EXPECT_CALL(encryption_observer_,
1379 OnBootstrapTokenUpdated(_, PASSPHRASE_BOOTSTRAP_TOKEN)); 1378 OnBootstrapTokenUpdated(_, PASSPHRASE_BOOTSTRAP_TOKEN));
1380 EXPECT_CALL(encryption_observer_, OnPassphraseAccepted()); 1379 EXPECT_CALL(encryption_observer_, OnPassphraseAccepted());
1381 EXPECT_CALL(encryption_observer_, OnEncryptionComplete()); 1380 EXPECT_CALL(encryption_observer_, OnEncryptionComplete());
(...skipping 27 matching lines...) Expand all
1409 Cryptographer* cryptographer = trans.GetCryptographer(); 1408 Cryptographer* cryptographer = trans.GetCryptographer();
1410 std::string bootstrap_token; 1409 std::string bootstrap_token;
1411 cryptographer->GetBootstrapToken(&bootstrap_token); 1410 cryptographer->GetBootstrapToken(&bootstrap_token);
1412 other_cryptographer.Bootstrap(bootstrap_token); 1411 other_cryptographer.Bootstrap(bootstrap_token);
1413 1412
1414 // Now update the nigori to reflect the new keys, and update the 1413 // Now update the nigori to reflect the new keys, and update the
1415 // cryptographer to have pending keys. 1414 // cryptographer to have pending keys.
1416 KeyParams params = {"localhost", "dummy", "old_gaia"}; 1415 KeyParams params = {"localhost", "dummy", "old_gaia"};
1417 other_cryptographer.AddKey(params); 1416 other_cryptographer.AddKey(params);
1418 WriteNode node(&trans); 1417 WriteNode node(&trans);
1419 EXPECT_EQ(BaseNode::INIT_OK, node.InitByTagLookup(kNigoriTag)); 1418 EXPECT_EQ(BaseNode::INIT_OK, node.InitTypeRoot(NIGORI));
1420 sync_pb::NigoriSpecifics nigori; 1419 sync_pb::NigoriSpecifics nigori;
1421 other_cryptographer.GetKeys(nigori.mutable_encryption_keybag()); 1420 other_cryptographer.GetKeys(nigori.mutable_encryption_keybag());
1422 node.SetNigoriSpecifics(nigori); 1421 node.SetNigoriSpecifics(nigori);
1423 cryptographer->SetPendingKeys(nigori.encryption_keybag()); 1422 cryptographer->SetPendingKeys(nigori.encryption_keybag());
1424 1423
1425 // other_cryptographer now contains all encryption keys, and is encrypting 1424 // other_cryptographer now contains all encryption keys, and is encrypting
1426 // with the newest gaia. 1425 // with the newest gaia.
1427 KeyParams new_params = {"localhost", "dummy", "new_gaia"}; 1426 KeyParams new_params = {"localhost", "dummy", "new_gaia"};
1428 other_cryptographer.AddKey(new_params); 1427 other_cryptographer.AddKey(new_params);
1429 } 1428 }
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1492 Cryptographer* cryptographer = trans.GetCryptographer(); 1491 Cryptographer* cryptographer = trans.GetCryptographer();
1493 std::string bootstrap_token; 1492 std::string bootstrap_token;
1494 cryptographer->GetBootstrapToken(&bootstrap_token); 1493 cryptographer->GetBootstrapToken(&bootstrap_token);
1495 other_cryptographer.Bootstrap(bootstrap_token); 1494 other_cryptographer.Bootstrap(bootstrap_token);
1496 1495
1497 // Now update the nigori to reflect the new keys, and update the 1496 // Now update the nigori to reflect the new keys, and update the
1498 // cryptographer to have pending keys. 1497 // cryptographer to have pending keys.
1499 KeyParams params = {"localhost", "dummy", "explicit"}; 1498 KeyParams params = {"localhost", "dummy", "explicit"};
1500 other_cryptographer.AddKey(params); 1499 other_cryptographer.AddKey(params);
1501 WriteNode node(&trans); 1500 WriteNode node(&trans);
1502 EXPECT_EQ(BaseNode::INIT_OK, node.InitByTagLookup(kNigoriTag)); 1501 EXPECT_EQ(BaseNode::INIT_OK, node.InitTypeRoot(NIGORI));
1503 sync_pb::NigoriSpecifics nigori; 1502 sync_pb::NigoriSpecifics nigori;
1504 other_cryptographer.GetKeys(nigori.mutable_encryption_keybag()); 1503 other_cryptographer.GetKeys(nigori.mutable_encryption_keybag());
1505 cryptographer->SetPendingKeys(nigori.encryption_keybag()); 1504 cryptographer->SetPendingKeys(nigori.encryption_keybag());
1506 EXPECT_TRUE(cryptographer->has_pending_keys()); 1505 EXPECT_TRUE(cryptographer->has_pending_keys());
1507 nigori.set_keybag_is_frozen(true); 1506 nigori.set_keybag_is_frozen(true);
1508 node.SetNigoriSpecifics(nigori); 1507 node.SetNigoriSpecifics(nigori);
1509 } 1508 }
1510 EXPECT_CALL(encryption_observer_, OnCryptographerStateChanged(_)); 1509 EXPECT_CALL(encryption_observer_, OnCryptographerStateChanged(_));
1511 EXPECT_CALL(encryption_observer_, 1510 EXPECT_CALL(encryption_observer_,
1512 OnPassphraseTypeChanged(CUSTOM_PASSPHRASE, _)); 1511 OnPassphraseTypeChanged(CUSTOM_PASSPHRASE, _));
(...skipping 28 matching lines...) Expand all
1541 EXPECT_FALSE(SetUpEncryption(DONT_WRITE_NIGORI, UNINITIALIZED)); 1540 EXPECT_FALSE(SetUpEncryption(DONT_WRITE_NIGORI, UNINITIALIZED));
1542 Cryptographer other_cryptographer(&encryptor_); 1541 Cryptographer other_cryptographer(&encryptor_);
1543 { 1542 {
1544 WriteTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 1543 WriteTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
1545 Cryptographer* cryptographer = trans.GetCryptographer(); 1544 Cryptographer* cryptographer = trans.GetCryptographer();
1546 // Now update the nigori to reflect the new keys, and update the 1545 // Now update the nigori to reflect the new keys, and update the
1547 // cryptographer to have pending keys. 1546 // cryptographer to have pending keys.
1548 KeyParams params = {"localhost", "dummy", "passphrase"}; 1547 KeyParams params = {"localhost", "dummy", "passphrase"};
1549 other_cryptographer.AddKey(params); 1548 other_cryptographer.AddKey(params);
1550 WriteNode node(&trans); 1549 WriteNode node(&trans);
1551 EXPECT_EQ(BaseNode::INIT_OK, node.InitByTagLookup(kNigoriTag)); 1550 EXPECT_EQ(BaseNode::INIT_OK, node.InitTypeRoot(NIGORI));
1552 sync_pb::NigoriSpecifics nigori; 1551 sync_pb::NigoriSpecifics nigori;
1553 other_cryptographer.GetKeys(nigori.mutable_encryption_keybag()); 1552 other_cryptographer.GetKeys(nigori.mutable_encryption_keybag());
1554 node.SetNigoriSpecifics(nigori); 1553 node.SetNigoriSpecifics(nigori);
1555 cryptographer->SetPendingKeys(nigori.encryption_keybag()); 1554 cryptographer->SetPendingKeys(nigori.encryption_keybag());
1556 EXPECT_FALSE(cryptographer->is_ready()); 1555 EXPECT_FALSE(cryptographer->is_ready());
1557 } 1556 }
1558 EXPECT_CALL(encryption_observer_, 1557 EXPECT_CALL(encryption_observer_,
1559 OnBootstrapTokenUpdated(_, PASSPHRASE_BOOTSTRAP_TOKEN)); 1558 OnBootstrapTokenUpdated(_, PASSPHRASE_BOOTSTRAP_TOKEN));
1560 EXPECT_CALL(encryption_observer_, OnPassphraseAccepted()); 1559 EXPECT_CALL(encryption_observer_, OnPassphraseAccepted());
1561 EXPECT_CALL(encryption_observer_, OnEncryptionComplete()); 1560 EXPECT_CALL(encryption_observer_, OnEncryptionComplete());
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
1736 1735
1737 // Create a bookmark and set the title/url, then verify the data was properly 1736 // Create a bookmark and set the title/url, then verify the data was properly
1738 // set. This replicates the unique way bookmarks have of creating sync nodes. 1737 // set. This replicates the unique way bookmarks have of creating sync nodes.
1739 // See BookmarkChangeProcessor::PlaceSyncNode(..). 1738 // See BookmarkChangeProcessor::PlaceSyncNode(..).
1740 TEST_F(SyncManagerTest, CreateLocalBookmark) { 1739 TEST_F(SyncManagerTest, CreateLocalBookmark) {
1741 std::string title = "title"; 1740 std::string title = "title";
1742 std::string url = "url"; 1741 std::string url = "url";
1743 { 1742 {
1744 WriteTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 1743 WriteTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
1745 ReadNode bookmark_root(&trans); 1744 ReadNode bookmark_root(&trans);
1746 ASSERT_EQ(BaseNode::INIT_OK, 1745 ASSERT_EQ(BaseNode::INIT_OK, bookmark_root.InitTypeRoot(BOOKMARKS));
1747 bookmark_root.InitByTagLookup(ModelTypeToRootTag(BOOKMARKS)));
1748 WriteNode node(&trans); 1746 WriteNode node(&trans);
1749 ASSERT_TRUE(node.InitBookmarkByCreation(bookmark_root, NULL)); 1747 ASSERT_TRUE(node.InitBookmarkByCreation(bookmark_root, NULL));
1750 node.SetIsFolder(false); 1748 node.SetIsFolder(false);
1751 node.SetTitle(title); 1749 node.SetTitle(title);
1752 1750
1753 sync_pb::BookmarkSpecifics bookmark_specifics(node.GetBookmarkSpecifics()); 1751 sync_pb::BookmarkSpecifics bookmark_specifics(node.GetBookmarkSpecifics());
1754 bookmark_specifics.set_url(url); 1752 bookmark_specifics.set_url(url);
1755 node.SetBookmarkSpecifics(bookmark_specifics); 1753 node.SetBookmarkSpecifics(bookmark_specifics);
1756 } 1754 }
1757 { 1755 {
1758 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 1756 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
1759 ReadNode bookmark_root(&trans); 1757 ReadNode bookmark_root(&trans);
1760 ASSERT_EQ(BaseNode::INIT_OK, 1758 ASSERT_EQ(BaseNode::INIT_OK, bookmark_root.InitTypeRoot(BOOKMARKS));
1761 bookmark_root.InitByTagLookup(ModelTypeToRootTag(BOOKMARKS)));
1762 int64 child_id = bookmark_root.GetFirstChildId(); 1759 int64 child_id = bookmark_root.GetFirstChildId();
1763 1760
1764 ReadNode node(&trans); 1761 ReadNode node(&trans);
1765 ASSERT_EQ(BaseNode::INIT_OK, node.InitByIdLookup(child_id)); 1762 ASSERT_EQ(BaseNode::INIT_OK, node.InitByIdLookup(child_id));
1766 EXPECT_FALSE(node.GetIsFolder()); 1763 EXPECT_FALSE(node.GetIsFolder());
1767 EXPECT_EQ(title, node.GetTitle()); 1764 EXPECT_EQ(title, node.GetTitle());
1768 EXPECT_EQ(url, node.GetBookmarkSpecifics().url()); 1765 EXPECT_EQ(url, node.GetBookmarkSpecifics().url());
1769 } 1766 }
1770 } 1767 }
1771 1768
(...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after
2576 2573
2577 UserShare* share = sync_manager_.GetUserShare(); 2574 UserShare* share = sync_manager_.GetUserShare();
2578 2575
2579 // The test harness automatically initializes all types in the routing info. 2576 // The test harness automatically initializes all types in the routing info.
2580 // Check that autofill is not among them. 2577 // Check that autofill is not among them.
2581 ASSERT_FALSE(enabled_types.Has(AUTOFILL)); 2578 ASSERT_FALSE(enabled_types.Has(AUTOFILL));
2582 2579
2583 // Further ensure that the test harness did not create its root node. 2580 // Further ensure that the test harness did not create its root node.
2584 { 2581 {
2585 syncable::ReadTransaction trans(FROM_HERE, share->directory.get()); 2582 syncable::ReadTransaction trans(FROM_HERE, share->directory.get());
2586 syncable::Entry autofill_root_node(&trans, syncable::GET_BY_SERVER_TAG, 2583 syncable::Entry autofill_root_node(&trans,
2587 ModelTypeToRootTag(AUTOFILL)); 2584 syncable::GET_TYPE_ROOT,
2585 AUTOFILL);
2588 ASSERT_FALSE(autofill_root_node.good()); 2586 ASSERT_FALSE(autofill_root_node.good());
2589 } 2587 }
2590 2588
2591 // One more redundant check. 2589 // One more redundant check.
2592 ASSERT_FALSE(sync_manager_.InitialSyncEndedTypes().Has(AUTOFILL)); 2590 ASSERT_FALSE(sync_manager_.InitialSyncEndedTypes().Has(AUTOFILL));
2593 2591
2594 // Give autofill a progress marker. 2592 // Give autofill a progress marker.
2595 sync_pb::DataTypeProgressMarker autofill_marker; 2593 sync_pb::DataTypeProgressMarker autofill_marker;
2596 autofill_marker.set_data_type_id( 2594 autofill_marker.set_data_type_id(
2597 GetSpecificsFieldNumberFromModelType(AUTOFILL)); 2595 GetSpecificsFieldNumberFromModelType(AUTOFILL));
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
3135 // SyncManagerInitInvalidStorageTest::GetFactory will return 3133 // SyncManagerInitInvalidStorageTest::GetFactory will return
3136 // DirectoryBackingStore that ensures that SyncManagerImpl::OpenDirectory fails. 3134 // DirectoryBackingStore that ensures that SyncManagerImpl::OpenDirectory fails.
3137 // SyncManagerImpl initialization is done in SyncManagerTest::SetUp. This test's 3135 // SyncManagerImpl initialization is done in SyncManagerTest::SetUp. This test's
3138 // task is to ensure that SyncManagerImpl reported initialization failure in 3136 // task is to ensure that SyncManagerImpl reported initialization failure in
3139 // OnInitializationComplete callback. 3137 // OnInitializationComplete callback.
3140 TEST_F(SyncManagerInitInvalidStorageTest, FailToOpenDatabase) { 3138 TEST_F(SyncManagerInitInvalidStorageTest, FailToOpenDatabase) {
3141 EXPECT_FALSE(initialization_succeeded_); 3139 EXPECT_FALSE(initialization_succeeded_);
3142 } 3140 }
3143 3141
3144 } // namespace syncer 3142 } // namespace syncer
OLDNEW
« no previous file with comments | « sync/internal_api/sync_manager_impl.cc ('k') | sync/internal_api/sync_rollback_manager_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698