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

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

Issue 2585253002: Integration of PasswordReuseDetector into PasswordStore. (Closed)
Patch Set: more tests Created 4 years 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 ee9efa108d4931e06cbb871f6efd0487db0968c7..58e1b2bf619234d0e81179a6d3dbcf7a1ab2895d 100644
--- a/components/password_manager/core/browser/password_reuse_detector_unittest.cc
+++ b/components/password_manager/core/browser/password_reuse_detector_unittest.cc
@@ -10,6 +10,7 @@
#include "base/strings/utf_string_conversions.h"
#include "components/autofill/core/common/password_form.h"
+#include "components/password_manager/core/browser/password_manager_test_utils.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -21,11 +22,6 @@ namespace password_manager {
namespace {
-class MockPasswordReuseDetectorConsumer : public PasswordReuseDetectorConsumer {
- public:
- MOCK_METHOD2(OnReuseFound, void(const base::string16&, const std::string&));
-};
-
std::vector<std::unique_ptr<PasswordForm>> GetSavedForms() {
std::vector<std::unique_ptr<PasswordForm>> result;
std::vector<std::pair<std::string, std::string>> domains_passwords = {
@@ -44,6 +40,16 @@ std::vector<std::unique_ptr<PasswordForm>> GetSavedForms() {
return result;
}
+PasswordStoreChangeList GetChangeList(
+ PasswordStoreChange::Type type,
+ const std::vector<std::unique_ptr<PasswordForm>>& forms) {
+ PasswordStoreChangeList changes;
+ for (auto& form : forms)
+ changes.push_back(PasswordStoreChange(type, *form));
+
+ return changes;
+}
+
TEST(PasswordReuseDetectorTest, TypingPasswordOnDifferentSite) {
PasswordReuseDetector reuse_detector;
reuse_detector.OnGetPasswordStoreResults(GetSavedForms());
@@ -106,6 +112,26 @@ TEST(PasswordReuseDetectorTest, PasswordNotInputSuffixNoReuseEvent) {
&mockConsumer);
}
+TEST(PasswordReuseDetectorTest, OnLoginsChanged) {
+ for (PasswordStoreChange::Type type :
+ {PasswordStoreChange::ADD, PasswordStoreChange::UPDATE,
+ PasswordStoreChange::REMOVE}) {
+ PasswordReuseDetector reuse_detector;
+ PasswordStoreChangeList changes = GetChangeList(type, GetSavedForms());
+ reuse_detector.OnLoginsChanged(changes);
+ MockPasswordReuseDetectorConsumer mockConsumer;
+
+ if (type == PasswordStoreChange::REMOVE) {
+ EXPECT_CALL(mockConsumer, OnReuseFound(_, _)).Times(0);
+ } else {
+ EXPECT_CALL(mockConsumer,
+ OnReuseFound(ASCIIToUTF16("password"), "google.com"));
+ }
+ reuse_detector.CheckReuse(ASCIIToUTF16("123password"), "https://evil.com",
+ &mockConsumer);
+ }
+}
+
} // namespace
} // namespace password_manager

Powered by Google App Engine
This is Rietveld 408576698