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

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

Issue 10855037: [Sync] Add history delete directive type (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix tests Created 8 years, 2 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 // 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 1401 matching lines...) Expand 10 before | Expand all | Expand 10 after
1412 Cryptographer* cryptographer = trans.GetCryptographer(); 1412 Cryptographer* cryptographer = trans.GetCryptographer();
1413 EXPECT_TRUE(cryptographer->is_ready()); 1413 EXPECT_TRUE(cryptographer->is_ready());
1414 EXPECT_TRUE(cryptographer->CanDecrypt(nigori.encryption_keybag())); 1414 EXPECT_TRUE(cryptographer->CanDecrypt(nigori.encryption_keybag()));
1415 } 1415 }
1416 } 1416 }
1417 1417
1418 TEST_F(SyncManagerTest, EncryptDataTypesWithNoData) { 1418 TEST_F(SyncManagerTest, EncryptDataTypesWithNoData) {
1419 EXPECT_TRUE(SetUpEncryption(WRITE_TO_NIGORI, DEFAULT_ENCRYPTION)); 1419 EXPECT_TRUE(SetUpEncryption(WRITE_TO_NIGORI, DEFAULT_ENCRYPTION));
1420 EXPECT_CALL(encryption_observer_, 1420 EXPECT_CALL(encryption_observer_,
1421 OnEncryptedTypesChanged( 1421 OnEncryptedTypesChanged(
1422 HasModelTypes(UserTypes()), true)); 1422 HasModelTypes(EncryptableUserTypes()), true));
1423 EXPECT_CALL(encryption_observer_, OnEncryptionComplete()); 1423 EXPECT_CALL(encryption_observer_, OnEncryptionComplete());
1424 sync_manager_.GetEncryptionHandler()->EnableEncryptEverything(); 1424 sync_manager_.GetEncryptionHandler()->EnableEncryptEverything();
1425 EXPECT_TRUE(EncryptEverythingEnabledForTest()); 1425 EXPECT_TRUE(EncryptEverythingEnabledForTest());
1426 } 1426 }
1427 1427
1428 TEST_F(SyncManagerTest, EncryptDataTypesWithData) { 1428 TEST_F(SyncManagerTest, EncryptDataTypesWithData) {
1429 size_t batch_size = 5; 1429 size_t batch_size = 5;
1430 EXPECT_TRUE(SetUpEncryption(WRITE_TO_NIGORI, DEFAULT_ENCRYPTION)); 1430 EXPECT_TRUE(SetUpEncryption(WRITE_TO_NIGORI, DEFAULT_ENCRYPTION));
1431 1431
1432 // Create some unencrypted unsynced data. 1432 // Create some unencrypted unsynced data.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1466 SESSIONS, 1466 SESSIONS,
1467 false /* not encrypted */)); 1467 false /* not encrypted */));
1468 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1468 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1469 trans.GetWrappedTrans(), 1469 trans.GetWrappedTrans(),
1470 THEMES, 1470 THEMES,
1471 false /* not encrypted */)); 1471 false /* not encrypted */));
1472 } 1472 }
1473 1473
1474 EXPECT_CALL(encryption_observer_, 1474 EXPECT_CALL(encryption_observer_,
1475 OnEncryptedTypesChanged( 1475 OnEncryptedTypesChanged(
1476 HasModelTypes(UserTypes()), true)); 1476 HasModelTypes(EncryptableUserTypes()), true));
1477 EXPECT_CALL(encryption_observer_, OnEncryptionComplete()); 1477 EXPECT_CALL(encryption_observer_, OnEncryptionComplete());
1478 sync_manager_.GetEncryptionHandler()->EnableEncryptEverything(); 1478 sync_manager_.GetEncryptionHandler()->EnableEncryptEverything();
1479 EXPECT_TRUE(EncryptEverythingEnabledForTest()); 1479 EXPECT_TRUE(EncryptEverythingEnabledForTest());
1480 { 1480 {
1481 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 1481 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
1482 EXPECT_TRUE(GetEncryptedTypesWithTrans(&trans).Equals( 1482 EXPECT_TRUE(GetEncryptedTypesWithTrans(&trans).Equals(
1483 UserTypes())); 1483 EncryptableUserTypes()));
1484 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1484 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1485 trans.GetWrappedTrans(), 1485 trans.GetWrappedTrans(),
1486 BOOKMARKS, 1486 BOOKMARKS,
1487 true /* is encrypted */)); 1487 true /* is encrypted */));
1488 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1488 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1489 trans.GetWrappedTrans(), 1489 trans.GetWrappedTrans(),
1490 SESSIONS, 1490 SESSIONS,
1491 true /* is encrypted */)); 1491 true /* is encrypted */));
1492 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1492 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1493 trans.GetWrappedTrans(), 1493 trans.GetWrappedTrans(),
1494 THEMES, 1494 THEMES,
1495 true /* is encrypted */)); 1495 true /* is encrypted */));
1496 } 1496 }
1497 1497
1498 // Trigger's a ReEncryptEverything with new passphrase. 1498 // Trigger's a ReEncryptEverything with new passphrase.
1499 testing::Mock::VerifyAndClearExpectations(&encryption_observer_); 1499 testing::Mock::VerifyAndClearExpectations(&encryption_observer_);
1500 EXPECT_CALL(encryption_observer_, 1500 EXPECT_CALL(encryption_observer_,
1501 OnBootstrapTokenUpdated(_, PASSPHRASE_BOOTSTRAP_TOKEN)); 1501 OnBootstrapTokenUpdated(_, PASSPHRASE_BOOTSTRAP_TOKEN));
1502 EXPECT_CALL(encryption_observer_, OnPassphraseAccepted()); 1502 EXPECT_CALL(encryption_observer_, OnPassphraseAccepted());
1503 EXPECT_CALL(encryption_observer_, OnEncryptionComplete()); 1503 EXPECT_CALL(encryption_observer_, OnEncryptionComplete());
1504 EXPECT_CALL(encryption_observer_, OnCryptographerStateChanged(_)); 1504 EXPECT_CALL(encryption_observer_, OnCryptographerStateChanged(_));
1505 EXPECT_CALL(encryption_observer_, 1505 EXPECT_CALL(encryption_observer_,
1506 OnPassphraseTypeChanged(CUSTOM_PASSPHRASE, _)); 1506 OnPassphraseTypeChanged(CUSTOM_PASSPHRASE, _));
1507 sync_manager_.GetEncryptionHandler()->SetEncryptionPassphrase( 1507 sync_manager_.GetEncryptionHandler()->SetEncryptionPassphrase(
1508 "new_passphrase", true); 1508 "new_passphrase", true);
1509 EXPECT_TRUE(EncryptEverythingEnabledForTest()); 1509 EXPECT_TRUE(EncryptEverythingEnabledForTest());
1510 { 1510 {
1511 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 1511 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
1512 EXPECT_TRUE(GetEncryptedTypesWithTrans(&trans).Equals(UserTypes())); 1512 EXPECT_TRUE(GetEncryptedTypesWithTrans(&trans).Equals(
1513 EncryptableUserTypes()));
1513 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1514 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1514 trans.GetWrappedTrans(), 1515 trans.GetWrappedTrans(),
1515 BOOKMARKS, 1516 BOOKMARKS,
1516 true /* is encrypted */)); 1517 true /* is encrypted */));
1517 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1518 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1518 trans.GetWrappedTrans(), 1519 trans.GetWrappedTrans(),
1519 SESSIONS, 1520 SESSIONS,
1520 true /* is encrypted */)); 1521 true /* is encrypted */));
1521 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1522 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1522 trans.GetWrappedTrans(), 1523 trans.GetWrappedTrans(),
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
1999 { 2000 {
2000 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 2001 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
2001 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 2002 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
2002 trans.GetWrappedTrans(), 2003 trans.GetWrappedTrans(),
2003 BOOKMARKS, 2004 BOOKMARKS,
2004 false /* not encrypted */)); 2005 false /* not encrypted */));
2005 } 2006 }
2006 2007
2007 EXPECT_CALL(encryption_observer_, 2008 EXPECT_CALL(encryption_observer_,
2008 OnEncryptedTypesChanged( 2009 OnEncryptedTypesChanged(
2009 HasModelTypes(UserTypes()), true)); 2010 HasModelTypes(EncryptableUserTypes()), true));
2010 EXPECT_CALL(encryption_observer_, OnEncryptionComplete()); 2011 EXPECT_CALL(encryption_observer_, OnEncryptionComplete());
2011 sync_manager_.GetEncryptionHandler()->EnableEncryptEverything(); 2012 sync_manager_.GetEncryptionHandler()->EnableEncryptEverything();
2012 EXPECT_TRUE(EncryptEverythingEnabledForTest()); 2013 EXPECT_TRUE(EncryptEverythingEnabledForTest());
2013 2014
2014 { 2015 {
2015 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 2016 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
2016 EXPECT_TRUE(GetEncryptedTypesWithTrans(&trans).Equals(UserTypes())); 2017 EXPECT_TRUE(GetEncryptedTypesWithTrans(&trans).Equals(
2018 EncryptableUserTypes()));
2017 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 2019 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
2018 trans.GetWrappedTrans(), 2020 trans.GetWrappedTrans(),
2019 BOOKMARKS, 2021 BOOKMARKS,
2020 true /* is encrypted */)); 2022 true /* is encrypted */));
2021 2023
2022 ReadNode node(&trans); 2024 ReadNode node(&trans);
2023 EXPECT_EQ(BaseNode::INIT_OK, node.InitByIdLookup(node_id1)); 2025 EXPECT_EQ(BaseNode::INIT_OK, node.InitByIdLookup(node_id1));
2024 EXPECT_EQ(BOOKMARKS, node.GetModelType()); 2026 EXPECT_EQ(BOOKMARKS, node.GetModelType());
2025 EXPECT_EQ(title, node.GetTitle()); 2027 EXPECT_EQ(title, node.GetTitle());
2026 EXPECT_EQ(title, node.GetBookmarkSpecifics().title()); 2028 EXPECT_EQ(title, node.GetBookmarkSpecifics().title());
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
2086 WriteNode node(&trans); 2088 WriteNode node(&trans);
2087 EXPECT_EQ(BaseNode::INIT_OK, 2089 EXPECT_EQ(BaseNode::INIT_OK,
2088 node.InitByClientTagLookup(BOOKMARKS, client_tag)); 2090 node.InitByClientTagLookup(BOOKMARKS, client_tag));
2089 node.SetEntitySpecifics(entity_specifics); 2091 node.SetEntitySpecifics(entity_specifics);
2090 } 2092 }
2091 EXPECT_FALSE(ResetUnsyncedEntry(BOOKMARKS, client_tag)); 2093 EXPECT_FALSE(ResetUnsyncedEntry(BOOKMARKS, client_tag));
2092 2094
2093 // Encrypt the datatatype, should set is_unsynced. 2095 // Encrypt the datatatype, should set is_unsynced.
2094 EXPECT_CALL(encryption_observer_, 2096 EXPECT_CALL(encryption_observer_,
2095 OnEncryptedTypesChanged( 2097 OnEncryptedTypesChanged(
2096 HasModelTypes(UserTypes()), true)); 2098 HasModelTypes(EncryptableUserTypes()), true));
2097 EXPECT_CALL(encryption_observer_, OnEncryptionComplete()); 2099 EXPECT_CALL(encryption_observer_, OnEncryptionComplete());
2098 EXPECT_TRUE(SetUpEncryption(WRITE_TO_NIGORI, FULL_ENCRYPTION)); 2100 EXPECT_TRUE(SetUpEncryption(WRITE_TO_NIGORI, FULL_ENCRYPTION));
2099 2101
2100 EXPECT_CALL(encryption_observer_, OnCryptographerStateChanged(_)); 2102 EXPECT_CALL(encryption_observer_, OnCryptographerStateChanged(_));
2101 EXPECT_CALL(encryption_observer_, OnEncryptedTypesChanged(_, true)); 2103 EXPECT_CALL(encryption_observer_, OnEncryptedTypesChanged(_, true));
2102 sync_manager_.GetEncryptionHandler()->Init(); 2104 sync_manager_.GetEncryptionHandler()->Init();
2103 PumpLoop(); 2105 PumpLoop();
2104 { 2106 {
2105 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 2107 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
2106 ReadNode node(&trans); 2108 ReadNode node(&trans);
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
2411 MakeServerNode(sync_manager_.GetUserShare(), BOOKMARKS, client_tag, 2413 MakeServerNode(sync_manager_.GetUserShare(), BOOKMARKS, client_tag,
2412 BaseNode::GenerateSyncableHash(BOOKMARKS, 2414 BaseNode::GenerateSyncableHash(BOOKMARKS,
2413 client_tag), 2415 client_tag),
2414 entity_specifics); 2416 entity_specifics);
2415 // New node shouldn't start off unsynced. 2417 // New node shouldn't start off unsynced.
2416 EXPECT_FALSE(ResetUnsyncedEntry(BOOKMARKS, client_tag)); 2418 EXPECT_FALSE(ResetUnsyncedEntry(BOOKMARKS, client_tag));
2417 2419
2418 // Encrypt the datatatype, should set is_unsynced. 2420 // Encrypt the datatatype, should set is_unsynced.
2419 EXPECT_CALL(encryption_observer_, 2421 EXPECT_CALL(encryption_observer_,
2420 OnEncryptedTypesChanged( 2422 OnEncryptedTypesChanged(
2421 HasModelTypes(UserTypes()), true)); 2423 HasModelTypes(EncryptableUserTypes()), true));
2422 EXPECT_CALL(encryption_observer_, OnEncryptionComplete()); 2424 EXPECT_CALL(encryption_observer_, OnEncryptionComplete());
2423 EXPECT_TRUE(SetUpEncryption(WRITE_TO_NIGORI, FULL_ENCRYPTION)); 2425 EXPECT_TRUE(SetUpEncryption(WRITE_TO_NIGORI, FULL_ENCRYPTION));
2424 EXPECT_CALL(encryption_observer_, OnCryptographerStateChanged(_)); 2426 EXPECT_CALL(encryption_observer_, OnCryptographerStateChanged(_));
2425 EXPECT_CALL(encryption_observer_, OnEncryptedTypesChanged(_, true)); 2427 EXPECT_CALL(encryption_observer_, OnEncryptedTypesChanged(_, true));
2426 sync_manager_.GetEncryptionHandler()->Init(); 2428 sync_manager_.GetEncryptionHandler()->Init();
2427 PumpLoop(); 2429 PumpLoop();
2428 EXPECT_TRUE(ResetUnsyncedEntry(BOOKMARKS, client_tag)); 2430 EXPECT_TRUE(ResetUnsyncedEntry(BOOKMARKS, client_tag));
2429 2431
2430 // Manually change to the same title. Should not set is_unsynced. 2432 // Manually change to the same title. Should not set is_unsynced.
2431 // NON_UNIQUE_NAME should be kEncryptedString. 2433 // NON_UNIQUE_NAME should be kEncryptedString.
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
2508 client_tag, 2510 client_tag,
2509 BaseNode::GenerateSyncableHash(PREFERENCES, 2511 BaseNode::GenerateSyncableHash(PREFERENCES,
2510 client_tag), 2512 client_tag),
2511 entity_specifics); 2513 entity_specifics);
2512 // New node shouldn't start off unsynced. 2514 // New node shouldn't start off unsynced.
2513 EXPECT_FALSE(ResetUnsyncedEntry(PREFERENCES, client_tag)); 2515 EXPECT_FALSE(ResetUnsyncedEntry(PREFERENCES, client_tag));
2514 2516
2515 // Encrypt the datatatype, should set is_unsynced. 2517 // Encrypt the datatatype, should set is_unsynced.
2516 EXPECT_CALL(encryption_observer_, 2518 EXPECT_CALL(encryption_observer_,
2517 OnEncryptedTypesChanged( 2519 OnEncryptedTypesChanged(
2518 HasModelTypes(UserTypes()), true)); 2520 HasModelTypes(EncryptableUserTypes()), true));
2519 EXPECT_CALL(encryption_observer_, OnEncryptionComplete()); 2521 EXPECT_CALL(encryption_observer_, OnEncryptionComplete());
2520 EXPECT_TRUE(SetUpEncryption(WRITE_TO_NIGORI, FULL_ENCRYPTION)); 2522 EXPECT_TRUE(SetUpEncryption(WRITE_TO_NIGORI, FULL_ENCRYPTION));
2521 EXPECT_CALL(encryption_observer_, OnCryptographerStateChanged(_)); 2523 EXPECT_CALL(encryption_observer_, OnCryptographerStateChanged(_));
2522 EXPECT_CALL(encryption_observer_, OnEncryptedTypesChanged(_, true)); 2524 EXPECT_CALL(encryption_observer_, OnEncryptedTypesChanged(_, true));
2523 sync_manager_.GetEncryptionHandler()->Init(); 2525 sync_manager_.GetEncryptionHandler()->Init();
2524 PumpLoop(); 2526 PumpLoop();
2525 EXPECT_TRUE(ResetUnsyncedEntry(PREFERENCES, client_tag)); 2527 EXPECT_TRUE(ResetUnsyncedEntry(PREFERENCES, client_tag));
2526 2528
2527 // Manually change to the same title. Should not set is_unsynced. 2529 // Manually change to the same title. Should not set is_unsynced.
2528 // NON_UNIQUE_NAME should be kEncryptedString. 2530 // NON_UNIQUE_NAME should be kEncryptedString.
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
2885 2887
2886 // Verify only the non-disabled types remain after cleanup. 2888 // Verify only the non-disabled types remain after cleanup.
2887 sync_manager_.PurgeDisabledTypes(enabled_types, new_enabled_types); 2889 sync_manager_.PurgeDisabledTypes(enabled_types, new_enabled_types);
2888 EXPECT_TRUE(new_enabled_types.Equals( 2890 EXPECT_TRUE(new_enabled_types.Equals(
2889 Union(sync_manager_.InitialSyncEndedTypes(), partial_enabled_types))); 2891 Union(sync_manager_.InitialSyncEndedTypes(), partial_enabled_types)));
2890 EXPECT_TRUE(disabled_types.Equals( 2892 EXPECT_TRUE(disabled_types.Equals(
2891 sync_manager_.GetTypesWithEmptyProgressMarkerToken(ModelTypeSet::All()))); 2893 sync_manager_.GetTypesWithEmptyProgressMarkerToken(ModelTypeSet::All())));
2892 } 2894 }
2893 2895
2894 } // namespace 2896 } // namespace
OLDNEW
« no previous file with comments | « sync/internal_api/sync_encryption_handler_impl_unittest.cc ('k') | sync/protocol/history_delete_directive_specifics.proto » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698