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

Side by Side Diff: chrome/browser/sync/internal_api/syncapi_unittest.cc

Issue 8919021: [Sync] Rename ModelEnumSet to ModelTypeSet (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years 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 // 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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 using browser_sync::JsReplyHandler; 67 using browser_sync::JsReplyHandler;
68 using browser_sync::MockJsEventHandler; 68 using browser_sync::MockJsEventHandler;
69 using browser_sync::MockJsReplyHandler; 69 using browser_sync::MockJsReplyHandler;
70 using browser_sync::ModelSafeRoutingInfo; 70 using browser_sync::ModelSafeRoutingInfo;
71 using browser_sync::ModelSafeWorker; 71 using browser_sync::ModelSafeWorker;
72 using browser_sync::ModelSafeWorkerRegistrar; 72 using browser_sync::ModelSafeWorkerRegistrar;
73 using browser_sync::sessions::SyncSessionSnapshot; 73 using browser_sync::sessions::SyncSessionSnapshot;
74 using browser_sync::WeakHandle; 74 using browser_sync::WeakHandle;
75 using content::BrowserThread; 75 using content::BrowserThread;
76 using syncable::kEncryptedString; 76 using syncable::kEncryptedString;
77 using syncable::ModelEnumSet; 77 using syncable::ModelTypeSet;
78 using syncable::ModelType; 78 using syncable::ModelType;
79 using test::ExpectDictStringValue; 79 using test::ExpectDictStringValue;
80 using testing::_; 80 using testing::_;
81 using testing::AnyNumber; 81 using testing::AnyNumber;
82 using testing::AtLeast; 82 using testing::AtLeast;
83 using testing::InSequence; 83 using testing::InSequence;
84 using testing::Invoke; 84 using testing::Invoke;
85 using testing::SaveArg; 85 using testing::SaveArg;
86 using testing::StrictMock; 86 using testing::StrictMock;
87 87
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 void(const WeakHandle<JsBackend>&, bool)); // NOLINT 625 void(const WeakHandle<JsBackend>&, bool)); // NOLINT
626 MOCK_METHOD1(OnAuthError, void(const GoogleServiceAuthError&)); // NOLINT 626 MOCK_METHOD1(OnAuthError, void(const GoogleServiceAuthError&)); // NOLINT
627 MOCK_METHOD1(OnPassphraseRequired, 627 MOCK_METHOD1(OnPassphraseRequired,
628 void(sync_api::PassphraseRequiredReason)); // NOLINT 628 void(sync_api::PassphraseRequiredReason)); // NOLINT
629 MOCK_METHOD1(OnPassphraseAccepted, void(const std::string&)); // NOLINT 629 MOCK_METHOD1(OnPassphraseAccepted, void(const std::string&)); // NOLINT
630 MOCK_METHOD0(OnStopSyncingPermanently, void()); // NOLINT 630 MOCK_METHOD0(OnStopSyncingPermanently, void()); // NOLINT
631 MOCK_METHOD1(OnUpdatedToken, void(const std::string&)); // NOLINT 631 MOCK_METHOD1(OnUpdatedToken, void(const std::string&)); // NOLINT
632 MOCK_METHOD0(OnClearServerDataFailed, void()); // NOLINT 632 MOCK_METHOD0(OnClearServerDataFailed, void()); // NOLINT
633 MOCK_METHOD0(OnClearServerDataSucceeded, void()); // NOLINT 633 MOCK_METHOD0(OnClearServerDataSucceeded, void()); // NOLINT
634 MOCK_METHOD2(OnEncryptedTypesChanged, 634 MOCK_METHOD2(OnEncryptedTypesChanged,
635 void(ModelEnumSet, bool)); // NOLINT 635 void(ModelTypeSet, bool)); // NOLINT
636 MOCK_METHOD0(OnEncryptionComplete, void()); // NOLINT 636 MOCK_METHOD0(OnEncryptionComplete, void()); // NOLINT
637 MOCK_METHOD1(OnActionableError, 637 MOCK_METHOD1(OnActionableError,
638 void(const browser_sync::SyncProtocolError&)); // NOLINT 638 void(const browser_sync::SyncProtocolError&)); // NOLINT
639 }; 639 };
640 640
641 class SyncNotifierMock : public sync_notifier::SyncNotifier { 641 class SyncNotifierMock : public sync_notifier::SyncNotifier {
642 public: 642 public:
643 MOCK_METHOD1(AddObserver, void(sync_notifier::SyncNotifierObserver*)); 643 MOCK_METHOD1(AddObserver, void(sync_notifier::SyncNotifierObserver*));
644 MOCK_METHOD1(RemoveObserver, void(sync_notifier::SyncNotifierObserver*)); 644 MOCK_METHOD1(RemoveObserver, void(sync_notifier::SyncNotifierObserver*));
645 MOCK_METHOD1(SetUniqueId, void(const std::string&)); 645 MOCK_METHOD1(SetUniqueId, void(const std::string&));
646 MOCK_METHOD1(SetState, void(const std::string&)); 646 MOCK_METHOD1(SetState, void(const std::string&));
647 MOCK_METHOD2(UpdateCredentials, 647 MOCK_METHOD2(UpdateCredentials,
648 void(const std::string&, const std::string&)); 648 void(const std::string&, const std::string&));
649 MOCK_METHOD1(UpdateEnabledTypes, 649 MOCK_METHOD1(UpdateEnabledTypes,
650 void(syncable::ModelEnumSet)); 650 void(syncable::ModelTypeSet));
651 MOCK_METHOD1(SendNotification, void(syncable::ModelEnumSet)); 651 MOCK_METHOD1(SendNotification, void(syncable::ModelTypeSet));
652 }; 652 };
653 653
654 class SyncManagerTest : public testing::Test, 654 class SyncManagerTest : public testing::Test,
655 public ModelSafeWorkerRegistrar, 655 public ModelSafeWorkerRegistrar,
656 public SyncManager::ChangeDelegate { 656 public SyncManager::ChangeDelegate {
657 protected: 657 protected:
658 SyncManagerTest() 658 SyncManagerTest()
659 : ui_thread_(BrowserThread::UI, &ui_loop_), 659 : ui_thread_(BrowserThread::UI, &ui_loop_),
660 sync_notifier_mock_(NULL), 660 sync_notifier_mock_(NULL),
661 sync_manager_("Test sync manager"), 661 sync_manager_("Test sync manager"),
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 EXPECT_EQ(NULL, sync_notifier_observer_); 794 EXPECT_EQ(NULL, sync_notifier_observer_);
795 sync_notifier_observer_ = sync_notifier_observer; 795 sync_notifier_observer_ = sync_notifier_observer;
796 } 796 }
797 797
798 void SyncNotifierRemoveObserver( 798 void SyncNotifierRemoveObserver(
799 sync_notifier::SyncNotifierObserver* sync_notifier_observer) { 799 sync_notifier::SyncNotifierObserver* sync_notifier_observer) {
800 EXPECT_EQ(sync_notifier_observer_, sync_notifier_observer); 800 EXPECT_EQ(sync_notifier_observer_, sync_notifier_observer);
801 sync_notifier_observer_ = NULL; 801 sync_notifier_observer_ = NULL;
802 } 802 }
803 803
804 void SyncNotifierUpdateEnabledTypes(syncable::ModelEnumSet types) { 804 void SyncNotifierUpdateEnabledTypes(syncable::ModelTypeSet types) {
805 ModelSafeRoutingInfo routes; 805 ModelSafeRoutingInfo routes;
806 GetModelSafeRoutingInfo(&routes); 806 GetModelSafeRoutingInfo(&routes);
807 const syncable::ModelEnumSet expected_types = 807 const syncable::ModelTypeSet expected_types =
808 GetRoutingInfoTypes(routes); 808 GetRoutingInfoTypes(routes);
809 EXPECT_TRUE(types.Equals(expected_types)); 809 EXPECT_TRUE(types.Equals(expected_types));
810 ++update_enabled_types_call_count_; 810 ++update_enabled_types_call_count_;
811 } 811 }
812 812
813 void PumpLoop() { 813 void PumpLoop() {
814 ui_loop_.RunAllPending(); 814 ui_loop_.RunAllPending();
815 } 815 }
816 816
817 void SendJsMessage(const std::string& name, const JsArgList& args, 817 void SendJsMessage(const std::string& name, const JsArgList& args,
(...skipping 29 matching lines...) Expand all
847 }; 847 };
848 848
849 TEST_F(SyncManagerTest, UpdateEnabledTypes) { 849 TEST_F(SyncManagerTest, UpdateEnabledTypes) {
850 EXPECT_EQ(1, update_enabled_types_call_count_); 850 EXPECT_EQ(1, update_enabled_types_call_count_);
851 // Triggers SyncNotifierUpdateEnabledTypes. 851 // Triggers SyncNotifierUpdateEnabledTypes.
852 sync_manager_.UpdateEnabledTypes(); 852 sync_manager_.UpdateEnabledTypes();
853 EXPECT_EQ(2, update_enabled_types_call_count_); 853 EXPECT_EQ(2, update_enabled_types_call_count_);
854 } 854 }
855 855
856 TEST_F(SyncManagerTest, DoNotSyncTabsInNigoriNode) { 856 TEST_F(SyncManagerTest, DoNotSyncTabsInNigoriNode) {
857 const syncable::ModelEnumSet encrypted_types(syncable::TYPED_URLS); 857 const syncable::ModelTypeSet encrypted_types(syncable::TYPED_URLS);
858 sync_manager_.MaybeSetSyncTabsInNigoriNode(encrypted_types); 858 sync_manager_.MaybeSetSyncTabsInNigoriNode(encrypted_types);
859 859
860 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 860 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
861 ReadNode node(&trans); 861 ReadNode node(&trans);
862 ASSERT_TRUE(node.InitByIdLookup(GetIdForDataType(syncable::NIGORI))); 862 ASSERT_TRUE(node.InitByIdLookup(GetIdForDataType(syncable::NIGORI)));
863 EXPECT_FALSE(node.GetNigoriSpecifics().sync_tabs()); 863 EXPECT_FALSE(node.GetNigoriSpecifics().sync_tabs());
864 } 864 }
865 865
866 TEST_F(SyncManagerTest, SyncTabsInNigoriNode) { 866 TEST_F(SyncManagerTest, SyncTabsInNigoriNode) {
867 const syncable::ModelEnumSet encrypted_types(syncable::SESSIONS); 867 const syncable::ModelTypeSet encrypted_types(syncable::SESSIONS);
868 sync_manager_.MaybeSetSyncTabsInNigoriNode(encrypted_types); 868 sync_manager_.MaybeSetSyncTabsInNigoriNode(encrypted_types);
869 869
870 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 870 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
871 ReadNode node(&trans); 871 ReadNode node(&trans);
872 ASSERT_TRUE(node.InitByIdLookup(GetIdForDataType(syncable::NIGORI))); 872 ASSERT_TRUE(node.InitByIdLookup(GetIdForDataType(syncable::NIGORI)));
873 EXPECT_TRUE(node.GetNigoriSpecifics().sync_tabs()); 873 EXPECT_TRUE(node.GetNigoriSpecifics().sync_tabs());
874 } 874 }
875 875
876 TEST_F(SyncManagerTest, ProcessJsMessage) { 876 TEST_F(SyncManagerTest, ProcessJsMessage) {
877 const JsArgList kNoArgs; 877 const JsArgList kNoArgs;
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
1151 sync_manager_.TriggerOnNotificationStateChangeForTest(true); 1151 sync_manager_.TriggerOnNotificationStateChangeForTest(true);
1152 sync_manager_.TriggerOnNotificationStateChangeForTest(false); 1152 sync_manager_.TriggerOnNotificationStateChangeForTest(false);
1153 1153
1154 // Should trigger the replies. 1154 // Should trigger the replies.
1155 PumpLoop(); 1155 PumpLoop();
1156 } 1156 }
1157 1157
1158 TEST_F(SyncManagerTest, OnIncomingNotification) { 1158 TEST_F(SyncManagerTest, OnIncomingNotification) {
1159 StrictMock<MockJsEventHandler> event_handler; 1159 StrictMock<MockJsEventHandler> event_handler;
1160 1160
1161 const syncable::ModelEnumSet empty_model_types; 1161 const syncable::ModelTypeSet empty_model_types;
1162 const syncable::ModelEnumSet model_types( 1162 const syncable::ModelTypeSet model_types(
1163 syncable::BOOKMARKS, syncable::THEMES); 1163 syncable::BOOKMARKS, syncable::THEMES);
1164 1164
1165 // Build expected_args to have a single argument with the string 1165 // Build expected_args to have a single argument with the string
1166 // equivalents of model_types. 1166 // equivalents of model_types.
1167 DictionaryValue expected_details; 1167 DictionaryValue expected_details;
1168 { 1168 {
1169 ListValue* model_type_list = new ListValue(); 1169 ListValue* model_type_list = new ListValue();
1170 expected_details.Set("changedTypes", model_type_list); 1170 expected_details.Set("changedTypes", model_type_list);
1171 for (syncable::ModelEnumSet::Iterator it = model_types.First(); 1171 for (syncable::ModelTypeSet::Iterator it = model_types.First();
1172 it.Good(); it.Inc()) { 1172 it.Good(); it.Inc()) {
1173 model_type_list->Append( 1173 model_type_list->Append(
1174 Value::CreateStringValue( 1174 Value::CreateStringValue(
1175 syncable::ModelTypeToString(it.Get()))); 1175 syncable::ModelTypeToString(it.Get())));
1176 } 1176 }
1177 } 1177 }
1178 1178
1179 EXPECT_CALL(event_handler, 1179 EXPECT_CALL(event_handler,
1180 HandleJsEvent("onIncomingNotification", 1180 HandleJsEvent("onIncomingNotification",
1181 HasDetailsAsDictionary(expected_details))); 1181 HasDetailsAsDictionary(expected_details)));
1182 1182
1183 sync_manager_.TriggerOnIncomingNotificationForTest(empty_model_types); 1183 sync_manager_.TriggerOnIncomingNotificationForTest(empty_model_types);
1184 sync_manager_.TriggerOnIncomingNotificationForTest(model_types); 1184 sync_manager_.TriggerOnIncomingNotificationForTest(model_types);
1185 1185
1186 SetJsEventHandler(event_handler.AsWeakHandle()); 1186 SetJsEventHandler(event_handler.AsWeakHandle());
1187 sync_manager_.TriggerOnIncomingNotificationForTest(model_types); 1187 sync_manager_.TriggerOnIncomingNotificationForTest(model_types);
1188 SetJsEventHandler(WeakHandle<JsEventHandler>()); 1188 SetJsEventHandler(WeakHandle<JsEventHandler>());
1189 1189
1190 sync_manager_.TriggerOnIncomingNotificationForTest(empty_model_types); 1190 sync_manager_.TriggerOnIncomingNotificationForTest(empty_model_types);
1191 sync_manager_.TriggerOnIncomingNotificationForTest(model_types); 1191 sync_manager_.TriggerOnIncomingNotificationForTest(model_types);
1192 1192
1193 // Should trigger the replies. 1193 // Should trigger the replies.
1194 PumpLoop(); 1194 PumpLoop();
1195 } 1195 }
1196 1196
1197 TEST_F(SyncManagerTest, RefreshEncryptionReady) { 1197 TEST_F(SyncManagerTest, RefreshEncryptionReady) {
1198 EXPECT_TRUE(SetUpEncryption(true)); 1198 EXPECT_TRUE(SetUpEncryption(true));
1199 EXPECT_CALL(observer_, OnEncryptionComplete()); 1199 EXPECT_CALL(observer_, OnEncryptionComplete());
1200 sync_manager_.RefreshEncryption(); 1200 sync_manager_.RefreshEncryption();
1201 const syncable::ModelEnumSet encrypted_types = 1201 const syncable::ModelTypeSet encrypted_types =
1202 sync_manager_.GetEncryptedDataTypesForTest(); 1202 sync_manager_.GetEncryptedDataTypesForTest();
1203 EXPECT_TRUE(encrypted_types.Has(syncable::PASSWORDS)); 1203 EXPECT_TRUE(encrypted_types.Has(syncable::PASSWORDS));
1204 EXPECT_FALSE(sync_manager_.EncryptEverythingEnabledForTest()); 1204 EXPECT_FALSE(sync_manager_.EncryptEverythingEnabledForTest());
1205 { 1205 {
1206 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 1206 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
1207 ReadNode node(&trans); 1207 ReadNode node(&trans);
1208 EXPECT_TRUE(node.InitByIdLookup(GetIdForDataType(syncable::NIGORI))); 1208 EXPECT_TRUE(node.InitByIdLookup(GetIdForDataType(syncable::NIGORI)));
1209 sync_pb::NigoriSpecifics nigori = node.GetNigoriSpecifics(); 1209 sync_pb::NigoriSpecifics nigori = node.GetNigoriSpecifics();
1210 EXPECT_TRUE(nigori.has_encrypted()); 1210 EXPECT_TRUE(nigori.has_encrypted());
1211 Cryptographer* cryptographer = trans.GetCryptographer(); 1211 Cryptographer* cryptographer = trans.GetCryptographer();
1212 EXPECT_TRUE(cryptographer->is_ready()); 1212 EXPECT_TRUE(cryptographer->is_ready());
1213 EXPECT_TRUE(cryptographer->CanDecrypt(nigori.encrypted())); 1213 EXPECT_TRUE(cryptographer->CanDecrypt(nigori.encrypted()));
1214 } 1214 }
1215 } 1215 }
1216 1216
1217 // Attempt to refresh encryption when nigori not downloaded. 1217 // Attempt to refresh encryption when nigori not downloaded.
1218 TEST_F(SyncManagerTest, RefreshEncryptionNotReady) { 1218 TEST_F(SyncManagerTest, RefreshEncryptionNotReady) {
1219 // Don't set up encryption (no nigori node created). 1219 // Don't set up encryption (no nigori node created).
1220 sync_manager_.RefreshEncryption(); // Should fail. 1220 sync_manager_.RefreshEncryption(); // Should fail.
1221 const syncable::ModelEnumSet encrypted_types = 1221 const syncable::ModelTypeSet encrypted_types =
1222 sync_manager_.GetEncryptedDataTypesForTest(); 1222 sync_manager_.GetEncryptedDataTypesForTest();
1223 EXPECT_TRUE(encrypted_types.Has(syncable::PASSWORDS)); // Hardcoded. 1223 EXPECT_TRUE(encrypted_types.Has(syncable::PASSWORDS)); // Hardcoded.
1224 EXPECT_FALSE(sync_manager_.EncryptEverythingEnabledForTest()); 1224 EXPECT_FALSE(sync_manager_.EncryptEverythingEnabledForTest());
1225 } 1225 }
1226 1226
1227 // Attempt to refresh encryption when nigori is empty. 1227 // Attempt to refresh encryption when nigori is empty.
1228 TEST_F(SyncManagerTest, RefreshEncryptionEmptyNigori) { 1228 TEST_F(SyncManagerTest, RefreshEncryptionEmptyNigori) {
1229 EXPECT_TRUE(SetUpEncryption(false)); 1229 EXPECT_TRUE(SetUpEncryption(false));
1230 EXPECT_CALL(observer_, OnEncryptionComplete()); 1230 EXPECT_CALL(observer_, OnEncryptionComplete());
1231 sync_manager_.RefreshEncryption(); // Should write to nigori. 1231 sync_manager_.RefreshEncryption(); // Should write to nigori.
1232 const syncable::ModelEnumSet encrypted_types = 1232 const syncable::ModelTypeSet encrypted_types =
1233 sync_manager_.GetEncryptedDataTypesForTest(); 1233 sync_manager_.GetEncryptedDataTypesForTest();
1234 EXPECT_TRUE(encrypted_types.Has(syncable::PASSWORDS)); // Hardcoded. 1234 EXPECT_TRUE(encrypted_types.Has(syncable::PASSWORDS)); // Hardcoded.
1235 EXPECT_FALSE(sync_manager_.EncryptEverythingEnabledForTest()); 1235 EXPECT_FALSE(sync_manager_.EncryptEverythingEnabledForTest());
1236 { 1236 {
1237 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 1237 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
1238 ReadNode node(&trans); 1238 ReadNode node(&trans);
1239 EXPECT_TRUE(node.InitByIdLookup(GetIdForDataType(syncable::NIGORI))); 1239 EXPECT_TRUE(node.InitByIdLookup(GetIdForDataType(syncable::NIGORI)));
1240 sync_pb::NigoriSpecifics nigori = node.GetNigoriSpecifics(); 1240 sync_pb::NigoriSpecifics nigori = node.GetNigoriSpecifics();
1241 EXPECT_TRUE(nigori.has_encrypted()); 1241 EXPECT_TRUE(nigori.has_encrypted());
1242 Cryptographer* cryptographer = trans.GetCryptographer(); 1242 Cryptographer* cryptographer = trans.GetCryptographer();
1243 EXPECT_TRUE(cryptographer->is_ready()); 1243 EXPECT_TRUE(cryptographer->is_ready());
1244 EXPECT_TRUE(cryptographer->CanDecrypt(nigori.encrypted())); 1244 EXPECT_TRUE(cryptographer->CanDecrypt(nigori.encrypted()));
1245 } 1245 }
1246 } 1246 }
1247 1247
1248 TEST_F(SyncManagerTest, EncryptDataTypesWithNoData) { 1248 TEST_F(SyncManagerTest, EncryptDataTypesWithNoData) {
1249 EXPECT_TRUE(SetUpEncryption(true)); 1249 EXPECT_TRUE(SetUpEncryption(true));
1250 EXPECT_CALL(observer_, 1250 EXPECT_CALL(observer_,
1251 OnEncryptedTypesChanged( 1251 OnEncryptedTypesChanged(
1252 HasModelTypes(syncable::ModelEnumSet::All()), true)); 1252 HasModelTypes(syncable::ModelTypeSet::All()), true));
1253 EXPECT_CALL(observer_, OnEncryptionComplete()); 1253 EXPECT_CALL(observer_, OnEncryptionComplete());
1254 sync_manager_.EnableEncryptEverything(); 1254 sync_manager_.EnableEncryptEverything();
1255 EXPECT_TRUE(sync_manager_.EncryptEverythingEnabledForTest()); 1255 EXPECT_TRUE(sync_manager_.EncryptEverythingEnabledForTest());
1256 } 1256 }
1257 1257
1258 TEST_F(SyncManagerTest, EncryptDataTypesWithData) { 1258 TEST_F(SyncManagerTest, EncryptDataTypesWithData) {
1259 size_t batch_size = 5; 1259 size_t batch_size = 5;
1260 EXPECT_TRUE(SetUpEncryption(true)); 1260 EXPECT_TRUE(SetUpEncryption(true));
1261 1261
1262 // Create some unencrypted unsynced data. 1262 // Create some unencrypted unsynced data.
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1299 false /* not encrypted */)); 1299 false /* not encrypted */));
1300 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1300 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1301 trans.GetWrappedTrans(), 1301 trans.GetWrappedTrans(),
1302 trans.GetCryptographer(), 1302 trans.GetCryptographer(),
1303 syncable::THEMES, 1303 syncable::THEMES,
1304 false /* not encrypted */)); 1304 false /* not encrypted */));
1305 } 1305 }
1306 1306
1307 EXPECT_CALL(observer_, 1307 EXPECT_CALL(observer_,
1308 OnEncryptedTypesChanged( 1308 OnEncryptedTypesChanged(
1309 HasModelTypes(syncable::ModelEnumSet::All()), true)); 1309 HasModelTypes(syncable::ModelTypeSet::All()), true));
1310 EXPECT_CALL(observer_, OnEncryptionComplete()); 1310 EXPECT_CALL(observer_, OnEncryptionComplete());
1311 sync_manager_.EnableEncryptEverything(); 1311 sync_manager_.EnableEncryptEverything();
1312 EXPECT_TRUE(sync_manager_.EncryptEverythingEnabledForTest()); 1312 EXPECT_TRUE(sync_manager_.EncryptEverythingEnabledForTest());
1313 { 1313 {
1314 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 1314 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
1315 EXPECT_TRUE(GetEncryptedTypes(&trans).Equals( 1315 EXPECT_TRUE(GetEncryptedTypes(&trans).Equals(
1316 syncable::ModelEnumSet::All())); 1316 syncable::ModelTypeSet::All()));
1317 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1317 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1318 trans.GetWrappedTrans(), 1318 trans.GetWrappedTrans(),
1319 trans.GetCryptographer(), 1319 trans.GetCryptographer(),
1320 syncable::BOOKMARKS, 1320 syncable::BOOKMARKS,
1321 true /* is encrypted */)); 1321 true /* is encrypted */));
1322 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1322 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1323 trans.GetWrappedTrans(), 1323 trans.GetWrappedTrans(),
1324 trans.GetCryptographer(), 1324 trans.GetCryptographer(),
1325 syncable::SESSIONS, 1325 syncable::SESSIONS,
1326 true /* is encrypted */)); 1326 true /* is encrypted */));
1327 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1327 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1328 trans.GetWrappedTrans(), 1328 trans.GetWrappedTrans(),
1329 trans.GetCryptographer(), 1329 trans.GetCryptographer(),
1330 syncable::THEMES, 1330 syncable::THEMES,
1331 true /* is encrypted */)); 1331 true /* is encrypted */));
1332 } 1332 }
1333 1333
1334 // Trigger's a ReEncryptEverything with new passphrase. 1334 // Trigger's a ReEncryptEverything with new passphrase.
1335 testing::Mock::VerifyAndClearExpectations(&observer_); 1335 testing::Mock::VerifyAndClearExpectations(&observer_);
1336 EXPECT_CALL(observer_, OnPassphraseAccepted(_)); 1336 EXPECT_CALL(observer_, OnPassphraseAccepted(_));
1337 EXPECT_CALL(observer_, OnEncryptionComplete()); 1337 EXPECT_CALL(observer_, OnEncryptionComplete());
1338 sync_manager_.SetPassphrase("new_passphrase", true); 1338 sync_manager_.SetPassphrase("new_passphrase", true);
1339 EXPECT_TRUE(sync_manager_.EncryptEverythingEnabledForTest()); 1339 EXPECT_TRUE(sync_manager_.EncryptEverythingEnabledForTest());
1340 { 1340 {
1341 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 1341 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
1342 EXPECT_TRUE(GetEncryptedTypes(&trans).Equals( 1342 EXPECT_TRUE(GetEncryptedTypes(&trans).Equals(
1343 syncable::ModelEnumSet::All())); 1343 syncable::ModelTypeSet::All()));
1344 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1344 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1345 trans.GetWrappedTrans(), 1345 trans.GetWrappedTrans(),
1346 trans.GetCryptographer(), 1346 trans.GetCryptographer(),
1347 syncable::BOOKMARKS, 1347 syncable::BOOKMARKS,
1348 true /* is encrypted */)); 1348 true /* is encrypted */));
1349 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1349 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1350 trans.GetWrappedTrans(), 1350 trans.GetWrappedTrans(),
1351 trans.GetCryptographer(), 1351 trans.GetCryptographer(),
1352 syncable::SESSIONS, 1352 syncable::SESSIONS,
1353 true /* is encrypted */)); 1353 true /* is encrypted */));
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
1494 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 1494 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
1495 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1495 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1496 trans.GetWrappedTrans(), 1496 trans.GetWrappedTrans(),
1497 trans.GetCryptographer(), 1497 trans.GetCryptographer(),
1498 syncable::BOOKMARKS, 1498 syncable::BOOKMARKS,
1499 false /* not encrypted */)); 1499 false /* not encrypted */));
1500 } 1500 }
1501 1501
1502 EXPECT_CALL(observer_, 1502 EXPECT_CALL(observer_,
1503 OnEncryptedTypesChanged( 1503 OnEncryptedTypesChanged(
1504 HasModelTypes(syncable::ModelEnumSet::All()), true)); 1504 HasModelTypes(syncable::ModelTypeSet::All()), true));
1505 EXPECT_CALL(observer_, OnEncryptionComplete()); 1505 EXPECT_CALL(observer_, OnEncryptionComplete());
1506 sync_manager_.EnableEncryptEverything(); 1506 sync_manager_.EnableEncryptEverything();
1507 EXPECT_TRUE(sync_manager_.EncryptEverythingEnabledForTest()); 1507 EXPECT_TRUE(sync_manager_.EncryptEverythingEnabledForTest());
1508 1508
1509 { 1509 {
1510 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare()); 1510 ReadTransaction trans(FROM_HERE, sync_manager_.GetUserShare());
1511 EXPECT_TRUE(GetEncryptedTypes(&trans).Equals( 1511 EXPECT_TRUE(GetEncryptedTypes(&trans).Equals(
1512 syncable::ModelEnumSet::All())); 1512 syncable::ModelTypeSet::All()));
1513 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest( 1513 EXPECT_TRUE(syncable::VerifyDataTypeEncryptionForTest(
1514 trans.GetWrappedTrans(), 1514 trans.GetWrappedTrans(),
1515 trans.GetCryptographer(), 1515 trans.GetCryptographer(),
1516 syncable::BOOKMARKS, 1516 syncable::BOOKMARKS,
1517 true /* is encrypted */)); 1517 true /* is encrypted */));
1518 1518
1519 ReadNode node(&trans); 1519 ReadNode node(&trans);
1520 EXPECT_TRUE(node.InitByIdLookup(node_id1)); 1520 EXPECT_TRUE(node.InitByIdLookup(node_id1));
1521 EXPECT_EQ(syncable::BOOKMARKS, node.GetModelType()); 1521 EXPECT_EQ(syncable::BOOKMARKS, node.GetModelType());
1522 EXPECT_EQ(title, node.GetTitle()); 1522 EXPECT_EQ(title, node.GetTitle());
1523 EXPECT_EQ(title, node.GetBookmarkSpecifics().title()); 1523 EXPECT_EQ(title, node.GetBookmarkSpecifics().title());
1524 EXPECT_EQ(url, node.GetBookmarkSpecifics().url()); 1524 EXPECT_EQ(url, node.GetBookmarkSpecifics().url());
1525 1525
1526 ReadNode node2(&trans); 1526 ReadNode node2(&trans);
1527 EXPECT_TRUE(node2.InitByIdLookup(node_id2)); 1527 EXPECT_TRUE(node2.InitByIdLookup(node_id2));
1528 EXPECT_EQ(syncable::BOOKMARKS, node2.GetModelType()); 1528 EXPECT_EQ(syncable::BOOKMARKS, node2.GetModelType());
1529 // We should de-canonicalize the title in GetTitle(), but the title in the 1529 // We should de-canonicalize the title in GetTitle(), but the title in the
1530 // specifics should be stored in the server legal form. 1530 // specifics should be stored in the server legal form.
1531 EXPECT_EQ(raw_title2, node2.GetTitle()); 1531 EXPECT_EQ(raw_title2, node2.GetTitle());
1532 EXPECT_EQ(title2, node2.GetBookmarkSpecifics().title()); 1532 EXPECT_EQ(title2, node2.GetBookmarkSpecifics().title());
1533 EXPECT_EQ(url2, node2.GetBookmarkSpecifics().url()); 1533 EXPECT_EQ(url2, node2.GetBookmarkSpecifics().url());
1534 } 1534 }
1535 } 1535 }
1536 1536
1537 } // namespace browser_sync 1537 } // namespace browser_sync
OLDNEW
« no previous file with comments | « chrome/browser/sync/internal_api/sync_manager.cc ('k') | chrome/browser/sync/internal_api/write_node.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698