Index: chrome/browser/sync/engine/syncapi_unittest.cc |
diff --git a/chrome/browser/sync/engine/syncapi_unittest.cc b/chrome/browser/sync/engine/syncapi_unittest.cc |
index 95a3ada183ac9d155c55cb9964d100ee6e36eb3d..2bc580441d65ca9037c220bd432f9fd779c88a95 100644 |
--- a/chrome/browser/sync/engine/syncapi_unittest.cc |
+++ b/chrome/browser/sync/engine/syncapi_unittest.cc |
@@ -1321,6 +1321,75 @@ TEST_F(SyncManagerTest, EncryptDataTypesWithData) { |
} |
} |
+TEST_F(SyncManagerTest, SetPassphraseWithPassword) { |
+ EXPECT_TRUE(SetUpEncryption()); |
+ { |
+ WriteTransaction trans(sync_manager_.GetUserShare()); |
+ ReadNode root_node(&trans); |
+ root_node.InitByRootLookup(); |
+ |
+ WriteNode password_node(&trans); |
+ EXPECT_TRUE(password_node.InitUniqueByCreation(syncable::PASSWORDS, |
+ root_node, "foo")); |
+ sync_pb::PasswordSpecificsData data; |
+ data.set_password_value("secret"); |
+ password_node.SetPasswordSpecifics(data); |
+ } |
+ EXPECT_CALL(observer_, OnPassphraseAccepted(_)); |
+ EXPECT_CALL(observer_, OnEncryptionComplete(_)); |
+ sync_manager_.SetPassphrase("new_passphrase", true); |
+ { |
+ ReadTransaction trans(sync_manager_.GetUserShare()); |
+ ReadNode root_node(&trans); |
+ root_node.InitByRootLookup(); |
+ |
+ ReadNode password_node(&trans); |
+ EXPECT_TRUE(password_node.InitByClientTagLookup(syncable::PASSWORDS, |
+ "foo")); |
+ const sync_pb::PasswordSpecificsData& data = |
+ password_node.GetPasswordSpecifics(); |
+ EXPECT_EQ("secret", data.password_value()); |
+ } |
+} |
+ |
+TEST_F(SyncManagerTest, SetPassphraseWithEmptyPasswordNode) { |
+ EXPECT_TRUE(SetUpEncryption()); |
+ int64 node_id = 0; |
+ std::string tag = "foo"; |
+ { |
+ WriteTransaction trans(sync_manager_.GetUserShare()); |
+ ReadNode root_node(&trans); |
+ root_node.InitByRootLookup(); |
+ |
+ WriteNode password_node(&trans); |
+ EXPECT_TRUE(password_node.InitUniqueByCreation(syncable::PASSWORDS, |
+ root_node, tag)); |
+ sync_pb::PasswordSpecificsData data; |
+ password_node.SetPasswordSpecifics(data); |
tim (not reviewing)
2011/06/13 17:43:22
Is this legal?
Nicolas Zea
2011/06/13 18:38:22
Not really, but I primarily want to test that SetP
|
+ node_id = password_node.GetId(); |
+ } |
+ EXPECT_CALL(observer_, OnPassphraseAccepted(_)); |
+ EXPECT_CALL(observer_, OnEncryptionComplete(_)); |
+ sync_manager_.SetPassphrase("new_passphrase", true); |
+ { |
+ ReadTransaction trans(sync_manager_.GetUserShare()); |
+ ReadNode root_node(&trans); |
+ root_node.InitByRootLookup(); |
+ |
+ ReadNode password_node(&trans); |
+ EXPECT_FALSE(password_node.InitByClientTagLookup(syncable::PASSWORDS, |
+ tag)); |
+ } |
+ { |
+ ReadTransaction trans(sync_manager_.GetUserShare()); |
+ ReadNode root_node(&trans); |
+ root_node.InitByRootLookup(); |
+ |
+ ReadNode password_node(&trans); |
+ EXPECT_FALSE(password_node.InitByIdLookup(node_id)); |
+ } |
+} |
+ |
} // namespace |
} // namespace browser_sync |