| 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
|
|
|