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

Unified Diff: components/password_manager/core/browser/password_reuse_detector_unittest.cc

Issue 2847743002: Implementation of sync password reuse checking. (Closed)
Patch Set: Addressed comments Created 3 years, 8 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
Index: components/password_manager/core/browser/password_reuse_detector_unittest.cc
diff --git a/components/password_manager/core/browser/password_reuse_detector_unittest.cc b/components/password_manager/core/browser/password_reuse_detector_unittest.cc
index dac4dd694cb000f0dc3ec6b6e3486778c3bbc81a..09342614b282af93a655f7a89dcde1bf19990042 100644
--- a/components/password_manager/core/browser/password_reuse_detector_unittest.cc
+++ b/components/password_manager/core/browser/password_reuse_detector_unittest.cc
@@ -184,6 +184,49 @@ TEST(PasswordReuseDetectorTest, CheckLongestPasswordMatchReturn) {
&mockConsumer);
}
+TEST(PasswordReuseDetectorTest, SyncPasswordNoReuse) {
+ PasswordReuseDetector reuse_detector;
+ reuse_detector.OnGetPasswordStoreResults(GetForms(GetTestDomainsPasswords()));
+ MockPasswordReuseDetectorConsumer mockConsumer;
+
+ reuse_detector.SaveSyncPasswordHash(ASCIIToUTF16("sync_password"));
+
+ EXPECT_CALL(mockConsumer, OnReuseFound(_, _, _, _)).Times(0);
+ reuse_detector.CheckReuse(ASCIIToUTF16("sync_password"),
+ "https://accounts.google.com", &mockConsumer);
+ // Only suffixes are verifed.
+ reuse_detector.CheckReuse(ASCIIToUTF16("sync_password123"),
+ "https://evil.com", &mockConsumer);
+}
+
+TEST(PasswordReuseDetectorTest, SyncPasswordReuseFound) {
+ PasswordReuseDetector reuse_detector;
+ reuse_detector.OnGetPasswordStoreResults(GetForms(GetTestDomainsPasswords()));
+ MockPasswordReuseDetectorConsumer mockConsumer;
+
+ reuse_detector.SaveSyncPasswordHash(ASCIIToUTF16("sync_password"));
+
+ EXPECT_CALL(mockConsumer, OnReuseFound(ASCIIToUTF16("sync_password"),
+ "accounts.google.com", 1, 0));
+ reuse_detector.CheckReuse(ASCIIToUTF16("sync_password"), "https://evil.com",
+ &mockConsumer);
+}
+
+TEST(PasswordReuseDetectorTest, SavedPasswordsReuseSyncPasswordAvailable) {
+ // Check that reuse of saved passwords is detected also if the sync password
+ // hash is saved.
+ PasswordReuseDetector reuse_detector;
+ reuse_detector.OnGetPasswordStoreResults(GetForms(GetTestDomainsPasswords()));
+ MockPasswordReuseDetectorConsumer mockConsumer;
+
+ reuse_detector.SaveSyncPasswordHash(ASCIIToUTF16("sync_password"));
+
+ EXPECT_CALL(mockConsumer,
+ OnReuseFound(ASCIIToUTF16("password"), "google.com", 5, 1));
+ reuse_detector.CheckReuse(ASCIIToUTF16("password"), "https://evil.com",
+ &mockConsumer);
+}
+
} // namespace
} // namespace password_manager

Powered by Google App Engine
This is Rietveld 408576698