summaryrefslogtreecommitdiffstats
path: root/chrome/browser/sync/util/cryptographer_unittest.cc
diff options
context:
space:
mode:
authorzea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-17 22:41:25 +0000
committerzea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-17 22:41:25 +0000
commit03c41c9ea235907c443e5c653377b3732a8009ec (patch)
tree01a5124dc9666fe4312b8a9b0b2164dfa812db2e /chrome/browser/sync/util/cryptographer_unittest.cc
parent9f65f4b35ac1725f96884597d93ae39b0c10e5a9 (diff)
downloadchromium_src-03c41c9ea235907c443e5c653377b3732a8009ec.zip
chromium_src-03c41c9ea235907c443e5c653377b3732a8009ec.tar.gz
chromium_src-03c41c9ea235907c443e5c653377b3732a8009ec.tar.bz2
[Sync] The cryptographer should be able to handle empty or old nigori nodes.
This includes never unsetting the encryption status of a type once it has been set. BUG=104218 TEST=unit_tests Review URL: http://codereview.chromium.org/8564032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110578 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/sync/util/cryptographer_unittest.cc')
-rw-r--r--chrome/browser/sync/util/cryptographer_unittest.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/chrome/browser/sync/util/cryptographer_unittest.cc b/chrome/browser/sync/util/cryptographer_unittest.cc
index 43a9771..73e3891 100644
--- a/chrome/browser/sync/util/cryptographer_unittest.cc
+++ b/chrome/browser/sync/util/cryptographer_unittest.cc
@@ -207,7 +207,7 @@ TEST(CryptographerTest, NigoriEncryptionTypes) {
// Just set the sensitive types (shouldn't trigger any
// notifications).
ModelTypeSet encrypted_types(Cryptographer::SensitiveTypes());
- cryptographer.SetEncryptedTypesForTest(encrypted_types);
+ cryptographer.MergeEncryptedTypesForTest(encrypted_types);
cryptographer.UpdateNigoriFromEncryptedTypes(&nigori);
cryptographer2.UpdateEncryptedTypesFromNigori(nigori);
EXPECT_EQ(encrypted_types, cryptographer.GetEncryptedTypes());
@@ -225,11 +225,18 @@ TEST(CryptographerTest, NigoriEncryptionTypes) {
// Set all encrypted types
encrypted_types = syncable::GetAllRealModelTypes();
- cryptographer.SetEncryptedTypesForTest(encrypted_types);
+ cryptographer.MergeEncryptedTypesForTest(encrypted_types);
cryptographer.UpdateNigoriFromEncryptedTypes(&nigori);
cryptographer2.UpdateEncryptedTypesFromNigori(nigori);
EXPECT_EQ(encrypted_types, cryptographer.GetEncryptedTypes());
EXPECT_EQ(encrypted_types, cryptographer2.GetEncryptedTypes());
+
+ // Receiving an empty nigori should not reset any encrypted types or trigger
+ // an observer notification.
+ Mock::VerifyAndClearExpectations(&observer);
+ nigori = sync_pb::NigoriSpecifics();
+ cryptographer.UpdateEncryptedTypesFromNigori(nigori);
+ EXPECT_EQ(encrypted_types, cryptographer.GetEncryptedTypes());
}
TEST(CryptographerTest, EncryptEverythingExplicit) {