Chromium Code Reviews| Index: sync/internal_api/sync_encryption_handler_impl_unittest.cc |
| diff --git a/sync/internal_api/sync_encryption_handler_impl_unittest.cc b/sync/internal_api/sync_encryption_handler_impl_unittest.cc |
| index a10d6d5a9a8f0771d87cc8659426156defba26a9..5dab09419ad2972a7383a9d1b0e4768a827cfcab 100644 |
| --- a/sync/internal_api/sync_encryption_handler_impl_unittest.cc |
| +++ b/sync/internal_api/sync_encryption_handler_impl_unittest.cc |
| @@ -40,7 +40,8 @@ class SyncEncryptionHandlerObserverMock |
| void(PassphraseRequiredReason, |
| const sync_pb::EncryptedData&)); // NOLINT |
| MOCK_METHOD0(OnPassphraseAccepted, void()); // NOLINT |
| - MOCK_METHOD1(OnBootstrapTokenUpdated, void(const std::string&)); // NOLINT |
| + MOCK_METHOD2(OnBootstrapTokenUpdated, |
| + void(const std::string&, BootstrapTokenType type)); // NOLINT |
| MOCK_METHOD2(OnEncryptedTypesChanged, |
| void(ModelTypeSet, bool)); // NOLINT |
| MOCK_METHOD0(OnEncryptionComplete, void()); // NOLINT |
| @@ -67,10 +68,10 @@ class SyncEncryptionHandlerImplTest : public ::testing::Test { |
| protected: |
| void SetUpEncryption() { |
| - ReadTransaction trans(FROM_HERE, user_share()); |
| encryption_handler_.reset( |
| new SyncEncryptionHandlerImpl(user_share(), |
| - &encryptor_)); |
| + &encryptor_, |
| + std::string(), std::string())); |
|
akalin
2012/08/22 22:09:33
why not ""?
Nicolas Zea
2012/08/22 22:48:59
Done.
|
| encryption_handler_->AddObserver(&observer_); |
| } |
| @@ -128,7 +129,8 @@ TEST_F(SyncEncryptionHandlerImplTest, NigoriEncryptionTypes) { |
| StrictMock<SyncEncryptionHandlerObserverMock> observer2; |
| SyncEncryptionHandlerImpl handler2(user_share(), |
| - &encryptor_); |
| + &encryptor_, |
| + std::string(), std::string()); |
| handler2.AddObserver(&observer2); |
| // Just set the sensitive types (shouldn't trigger any notifications). |
| @@ -411,4 +413,25 @@ TEST_F(SyncEncryptionHandlerImplTest, ReceiveOldNigori) { |
| EXPECT_TRUE(encryption_handler()->EncryptEverythingEnabled()); |
| } |
| +// Ensure setting the keystore key works, updates the bootstrap token, and |
| +// doesn't modify the cryptographer. |
| +TEST_F(SyncEncryptionHandlerImplTest, SetKeystoreUpdatedBoostrapToken) { |
| + WriteTransaction trans(FROM_HERE, user_share()); |
| + EXPECT_CALL(*observer(), OnBootstrapTokenUpdated(_, _)).Times(0); |
| + EXPECT_FALSE(encryption_handler()->cryptographer_unsafe()->is_initialized()); |
| + EXPECT_TRUE(encryption_handler()->NeedKeystoreKey(trans.GetWrappedTrans())); |
| + EXPECT_FALSE(encryption_handler()->SetKeystoreKey("", |
| + trans.GetWrappedTrans())); |
| + EXPECT_TRUE(encryption_handler()->NeedKeystoreKey(trans.GetWrappedTrans())); |
| + Mock::VerifyAndClearExpectations(observer()); |
| + |
| + std::string valid_key = "keystore_key"; |
|
akalin
2012/08/22 22:09:33
const char kValidKey[] = ...
Nicolas Zea
2012/08/22 22:48:59
Done.
|
| + EXPECT_CALL(*observer(), |
| + OnBootstrapTokenUpdated(valid_key, KEYSTORE_BOOTSTRAP_TOKEN)); |
| + EXPECT_TRUE(encryption_handler()->SetKeystoreKey(valid_key, |
| + trans.GetWrappedTrans())); |
| + EXPECT_FALSE(encryption_handler()->NeedKeystoreKey(trans.GetWrappedTrans())); |
| + EXPECT_FALSE(encryption_handler()->cryptographer_unsafe()->is_initialized()); |
| +} |
| + |
| } // namespace syncer |