diff options
author | zea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-17 22:41:25 +0000 |
---|---|---|
committer | zea@chromium.org <zea@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-17 22:41:25 +0000 |
commit | 03c41c9ea235907c443e5c653377b3732a8009ec (patch) | |
tree | 01a5124dc9666fe4312b8a9b0b2164dfa812db2e /chrome/browser/sync/util/cryptographer_unittest.cc | |
parent | 9f65f4b35ac1725f96884597d93ae39b0c10e5a9 (diff) | |
download | chromium_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.cc | 11 |
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) { |