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

Unified Diff: sync/util/cryptographer_unittest.cc

Issue 10827266: [Sync] Add SyncEncryptionHandler (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sync/util/cryptographer.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/util/cryptographer_unittest.cc
diff --git a/sync/util/cryptographer_unittest.cc b/sync/util/cryptographer_unittest.cc
index 01190e9865fa1c200a83ac1016be32f670551e66..09fb63fec0662022eb0fd28bad0f703e5d0ba118 100644
--- a/sync/util/cryptographer_unittest.cc
+++ b/sync/util/cryptographer_unittest.cc
@@ -8,8 +8,6 @@
#include "base/memory/scoped_ptr.h"
#include "base/string_util.h"
-#include "sync/internal_api/public/base/model_type_test_util.h"
-#include "sync/protocol/nigori_specifics.pb.h"
#include "sync/protocol/password_specifics.pb.h"
#include "sync/test/fake_encryptor.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -20,13 +18,6 @@ namespace syncer {
namespace {
using ::testing::_;
-using ::testing::Mock;
-using ::testing::StrictMock;
-
-class MockObserver : public Cryptographer::Observer {
- public:
- MOCK_METHOD2(OnEncryptedTypesChanged, void(ModelTypeSet, bool));
-};
} // namespace
@@ -251,167 +242,4 @@ TEST_F(SyncCryptographerTest, BootstrapKeystore) {
EXPECT_FALSE(cryptographer2.is_initialized());
}
-TEST_F(SyncCryptographerTest, NigoriEncryptionTypes) {
- Cryptographer cryptographer2(&encryptor_);
- sync_pb::NigoriSpecifics nigori;
-
- StrictMock<MockObserver> observer;
- cryptographer_.AddObserver(&observer);
- StrictMock<MockObserver> observer2;
- cryptographer2.AddObserver(&observer2);
-
- // Just set the sensitive types (shouldn't trigger any
- // notifications).
- ModelTypeSet encrypted_types(Cryptographer::SensitiveTypes());
- cryptographer_.MergeEncryptedTypesForTest(encrypted_types);
- cryptographer_.UpdateNigoriFromEncryptedTypes(&nigori);
- cryptographer2.UpdateEncryptedTypesFromNigori(nigori);
- EXPECT_TRUE(encrypted_types.Equals(cryptographer_.GetEncryptedTypes()));
- EXPECT_TRUE(encrypted_types.Equals(cryptographer2.GetEncryptedTypes()));
-
- Mock::VerifyAndClearExpectations(&observer);
- Mock::VerifyAndClearExpectations(&observer2);
-
- EXPECT_CALL(observer,
- OnEncryptedTypesChanged(
- HasModelTypes(ModelTypeSet::All()), false));
- EXPECT_CALL(observer2,
- OnEncryptedTypesChanged(
- HasModelTypes(ModelTypeSet::All()), false));
-
- // Set all encrypted types
- encrypted_types = ModelTypeSet::All();
- cryptographer_.MergeEncryptedTypesForTest(encrypted_types);
- cryptographer_.UpdateNigoriFromEncryptedTypes(&nigori);
- cryptographer2.UpdateEncryptedTypesFromNigori(nigori);
- EXPECT_TRUE(encrypted_types.Equals(cryptographer_.GetEncryptedTypes()));
- EXPECT_TRUE(encrypted_types.Equals(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_TRUE(encrypted_types.Equals(cryptographer_.GetEncryptedTypes()));
-}
-
-TEST_F(SyncCryptographerTest, EncryptEverythingExplicit) {
- ModelTypeSet real_types = ModelTypeSet::All();
- sync_pb::NigoriSpecifics specifics;
- specifics.set_encrypt_everything(true);
-
- StrictMock<MockObserver> observer;
- cryptographer_.AddObserver(&observer);
-
- EXPECT_CALL(observer,
- OnEncryptedTypesChanged(
- HasModelTypes(ModelTypeSet::All()), true));
-
- EXPECT_FALSE(cryptographer_.encrypt_everything());
- ModelTypeSet encrypted_types = cryptographer_.GetEncryptedTypes();
- for (ModelTypeSet::Iterator iter = real_types.First();
- iter.Good(); iter.Inc()) {
- if (iter.Get() == PASSWORDS || iter.Get() == NIGORI)
- EXPECT_TRUE(encrypted_types.Has(iter.Get()));
- else
- EXPECT_FALSE(encrypted_types.Has(iter.Get()));
- }
-
- cryptographer_.UpdateEncryptedTypesFromNigori(specifics);
-
- EXPECT_TRUE(cryptographer_.encrypt_everything());
- encrypted_types = cryptographer_.GetEncryptedTypes();
- for (ModelTypeSet::Iterator iter = real_types.First();
- iter.Good(); iter.Inc()) {
- EXPECT_TRUE(encrypted_types.Has(iter.Get()));
- }
-
- // Shouldn't trigger another notification.
- specifics.set_encrypt_everything(true);
-
- cryptographer_.RemoveObserver(&observer);
-}
-
-TEST_F(SyncCryptographerTest, EncryptEverythingImplicit) {
- ModelTypeSet real_types = ModelTypeSet::All();
- sync_pb::NigoriSpecifics specifics;
- specifics.set_encrypt_bookmarks(true); // Non-passwords = encrypt everything
-
- StrictMock<MockObserver> observer;
- cryptographer_.AddObserver(&observer);
-
- EXPECT_CALL(observer,
- OnEncryptedTypesChanged(
- HasModelTypes(ModelTypeSet::All()), true));
-
- EXPECT_FALSE(cryptographer_.encrypt_everything());
- ModelTypeSet encrypted_types = cryptographer_.GetEncryptedTypes();
- for (ModelTypeSet::Iterator iter = real_types.First();
- iter.Good(); iter.Inc()) {
- if (iter.Get() == PASSWORDS || iter.Get() == NIGORI)
- EXPECT_TRUE(encrypted_types.Has(iter.Get()));
- else
- EXPECT_FALSE(encrypted_types.Has(iter.Get()));
- }
-
- cryptographer_.UpdateEncryptedTypesFromNigori(specifics);
-
- EXPECT_TRUE(cryptographer_.encrypt_everything());
- encrypted_types = cryptographer_.GetEncryptedTypes();
- for (ModelTypeSet::Iterator iter = real_types.First();
- iter.Good(); iter.Inc()) {
- EXPECT_TRUE(encrypted_types.Has(iter.Get()));
- }
-
- // Shouldn't trigger another notification.
- specifics.set_encrypt_everything(true);
-
- cryptographer_.RemoveObserver(&observer);
-}
-
-TEST_F(SyncCryptographerTest, UnknownSensitiveTypes) {
- ModelTypeSet real_types = ModelTypeSet::All();
- sync_pb::NigoriSpecifics specifics;
- // Explicitly setting encrypt everything should override logic for implicit
- // encrypt everything.
- specifics.set_encrypt_everything(false);
- specifics.set_encrypt_bookmarks(true);
-
- StrictMock<MockObserver> observer;
- cryptographer_.AddObserver(&observer);
-
- ModelTypeSet expected_encrypted_types = Cryptographer::SensitiveTypes();
- expected_encrypted_types.Put(BOOKMARKS);
-
- EXPECT_CALL(observer,
- OnEncryptedTypesChanged(
- HasModelTypes(expected_encrypted_types), false));
-
- EXPECT_FALSE(cryptographer_.encrypt_everything());
- ModelTypeSet encrypted_types = cryptographer_.GetEncryptedTypes();
- for (ModelTypeSet::Iterator iter = real_types.First();
- iter.Good(); iter.Inc()) {
- if (iter.Get() == PASSWORDS || iter.Get() == NIGORI)
- EXPECT_TRUE(encrypted_types.Has(iter.Get()));
- else
- EXPECT_FALSE(encrypted_types.Has(iter.Get()));
- }
-
- cryptographer_.UpdateEncryptedTypesFromNigori(specifics);
-
- EXPECT_FALSE(cryptographer_.encrypt_everything());
- encrypted_types = cryptographer_.GetEncryptedTypes();
- for (ModelTypeSet::Iterator iter = real_types.First();
- iter.Good(); iter.Inc()) {
- if (iter.Get() == PASSWORDS ||
- iter.Get() == NIGORI ||
- iter.Get() == BOOKMARKS)
- EXPECT_TRUE(encrypted_types.Has(iter.Get()));
- else
- EXPECT_FALSE(encrypted_types.Has(iter.Get()));
- }
-
- cryptographer_.RemoveObserver(&observer);
-}
-
} // namespace syncer
« no previous file with comments | « sync/util/cryptographer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698