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

Unified Diff: components/password_manager/sync/browser/sync_credentials_filter_unittest.cc

Issue 2263933002: Make FormFetcher a PasswordStoreConsumer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@621355_form_fetcher
Patch Set: Also operator= is now default 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
« no previous file with comments | « components/password_manager/core/browser/password_store.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/password_manager/sync/browser/sync_credentials_filter_unittest.cc
diff --git a/components/password_manager/sync/browser/sync_credentials_filter_unittest.cc b/components/password_manager/sync/browser/sync_credentials_filter_unittest.cc
index bb43bdc65df0a069cf707c43b52c9eb5a588cbce..a74a4711fb13899030dd0f41fb1419129220f006 100644
--- a/components/password_manager/sync/browser/sync_credentials_filter_unittest.cc
+++ b/components/password_manager/sync/browser/sync_credentials_filter_unittest.cc
@@ -16,10 +16,12 @@
#include "base/memory/ptr_util.h"
#include "base/memory/scoped_vector.h"
#include "base/message_loop/message_loop.h"
+#include "base/strings/utf_string_conversions.h"
#include "base/test/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
#include "base/test/user_action_tester.h"
#include "components/autofill/core/common/password_form.h"
+#include "components/password_manager/core/browser/fake_form_fetcher.h"
#include "components/password_manager/core/browser/mock_password_store.h"
#include "components/password_manager/core/browser/password_manager.h"
#include "components/password_manager/core/browser/password_manager_test_utils.h"
@@ -94,21 +96,30 @@ class CredentialsFilterTest : public SyncUsernameTestBase {
CredentialsFilterTest()
: password_manager_(&client_),
+ pending_(SimpleGaiaForm("user@gmail.com")),
+ form_manager_(&password_manager_,
+ &client_,
+ driver_.AsWeakPtr(),
+ pending_,
+ base::MakeUnique<StubFormSaver>(),
+ &fetcher_),
filter_(&client_,
base::Bind(&SyncUsernameTestBase::sync_service,
base::Unretained(this)),
base::Bind(&SyncUsernameTestBase::signin_manager,
- base::Unretained(this))) {}
+ base::Unretained(this))) {
+ fetcher_.Fetch();
+ }
void CheckFilterResultsTestCase(const TestCase& test_case) {
SetSyncingPasswords(test_case.password_sync == TestCase::SYNCING_PASSWORDS);
FakeSigninAs(test_case.fake_sync_username);
- client()->set_last_committed_entry_url(test_case.last_committed_entry_url);
+ client_.set_last_committed_entry_url(test_case.last_committed_entry_url);
base::HistogramTester tester;
const bool expected_is_form_filtered =
test_case.is_form_filtered == TestCase::FORM_FILTERED;
EXPECT_EQ(expected_is_form_filtered,
- IsFormFiltered(filter(), test_case.form));
+ IsFormFiltered(&filter_, test_case.form));
if (test_case.histogram_reported == TestCase::HISTOGRAM_REPORTED) {
tester.ExpectUniqueSample("PasswordManager.SyncCredentialFiltered",
expected_is_form_filtered, 1);
@@ -118,36 +129,27 @@ class CredentialsFilterTest : public SyncUsernameTestBase {
FakeSignout();
}
- // Creates a PasswordFormManager for the |pending| form and provisionally
- // saves it. Ensures that the created manager's IsNewLogin responds according
- // to |login_state|.
- std::unique_ptr<PasswordFormManager> CreateFormManager(
- LoginState login_state,
- const PasswordForm& pending) {
- auto form_manager = base::MakeUnique<PasswordFormManager>(
- &password_manager_, &client_, driver_.AsWeakPtr(), pending,
- base::MakeUnique<StubFormSaver>());
-
- std::vector<std::unique_ptr<PasswordForm>> saved_forms;
+ // Makes |form_manager_| provisionally save |pending_|. Depending on
+ // |login_state| being NEW or EXISTING, prepares |form_manager_| in a state in
+ // which |pending_| looks like a new or existing credential, respectively.
+ void SavePending(LoginState login_state) {
+ std::vector<const PasswordForm*> matches;
if (login_state == LoginState::EXISTING) {
- saved_forms.push_back(base::MakeUnique<PasswordForm>(pending));
+ matches.push_back(&pending_);
}
- form_manager->OnGetPasswordStoreResults(std::move(saved_forms));
-
- form_manager->ProvisionallySave(
- pending, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
+ fetcher_.SetNonFederated(matches, 0u);
- return form_manager;
+ form_manager_.ProvisionallySave(
+ pending_, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
}
- SyncCredentialsFilter* filter() { return &filter_; }
-
- FakePasswordManagerClient* client() { return &client_; }
-
- private:
+ protected:
FakePasswordManagerClient client_;
PasswordManager password_manager_;
StubPasswordManagerDriver driver_;
+ PasswordForm pending_;
+ FakeFormFetcher fetcher_;
+ PasswordFormManager form_manager_;
SyncCredentialsFilter filter_;
};
@@ -280,57 +282,55 @@ TEST_F(CredentialsFilterTest, FilterResults_DisallowSync) {
}
TEST_F(CredentialsFilterTest, ReportFormLoginSuccess_ExistingSyncCredentials) {
- PasswordForm pending = SimpleGaiaForm("user@gmail.com");
FakeSigninAs("user@gmail.com");
SetSyncingPasswords(true);
base::UserActionTester tester;
- auto form_manager = CreateFormManager(LoginState::EXISTING, pending);
- filter()->ReportFormLoginSuccess(*form_manager);
+ SavePending(LoginState::EXISTING);
+ filter_.ReportFormLoginSuccess(form_manager_);
EXPECT_EQ(1, tester.GetActionCount(kFilledAndLoginActionName));
}
TEST_F(CredentialsFilterTest, ReportFormLoginSuccess_NewSyncCredentials) {
- PasswordForm pending = SimpleGaiaForm("user@gmail.com");
FakeSigninAs("user@gmail.com");
SetSyncingPasswords(true);
base::UserActionTester tester;
- auto form_manager = CreateFormManager(LoginState::NEW, pending);
- filter()->ReportFormLoginSuccess(*form_manager);
+ SavePending(LoginState::NEW);
+ filter_.ReportFormLoginSuccess(form_manager_);
EXPECT_EQ(0, tester.GetActionCount(kFilledAndLoginActionName));
}
TEST_F(CredentialsFilterTest, ReportFormLoginSuccess_GAIANotSyncCredentials) {
- PasswordForm pending = SimpleGaiaForm("user@gmail.com");
- FakeSigninAs("other_user@gmail.com");
+ const char kOtherUsername[] = "other_user@gmail.com";
+ FakeSigninAs(kOtherUsername);
+ ASSERT_NE(pending_.username_value, base::ASCIIToUTF16(kOtherUsername));
SetSyncingPasswords(true);
base::UserActionTester tester;
- auto form_manager = CreateFormManager(LoginState::EXISTING, pending);
- filter()->ReportFormLoginSuccess(*form_manager);
+ SavePending(LoginState::EXISTING);
+ filter_.ReportFormLoginSuccess(form_manager_);
EXPECT_EQ(0, tester.GetActionCount(kFilledAndLoginActionName));
}
TEST_F(CredentialsFilterTest, ReportFormLoginSuccess_NotGAIACredentials) {
- PasswordForm pending = SimpleNonGaiaForm("user@gmail.com");
+ pending_ = SimpleNonGaiaForm("user@gmail.com");
FakeSigninAs("user@gmail.com");
SetSyncingPasswords(true);
base::UserActionTester tester;
- auto form_manager = CreateFormManager(LoginState::EXISTING, pending);
- filter()->ReportFormLoginSuccess(*form_manager);
+ SavePending(LoginState::EXISTING);
+ filter_.ReportFormLoginSuccess(form_manager_);
EXPECT_EQ(0, tester.GetActionCount(kFilledAndLoginActionName));
}
TEST_F(CredentialsFilterTest, ReportFormLoginSuccess_NotSyncing) {
- PasswordForm pending = SimpleGaiaForm("user@gmail.com");
FakeSigninAs("user@gmail.com");
SetSyncingPasswords(false);
base::UserActionTester tester;
- auto form_manager = CreateFormManager(LoginState::EXISTING, pending);
- filter()->ReportFormLoginSuccess(*form_manager);
+ SavePending(LoginState::EXISTING);
+ filter_.ReportFormLoginSuccess(form_manager_);
EXPECT_EQ(0, tester.GetActionCount(kFilledAndLoginActionName));
}
@@ -340,7 +340,7 @@ TEST_F(CredentialsFilterTest, ShouldSave_NotSyncCredential) {
ASSERT_NE("user@example.org",
signin_manager()->GetAuthenticatedAccountInfo().email);
SetSyncingPasswords(true);
- EXPECT_TRUE(filter()->ShouldSave(form));
+ EXPECT_TRUE(filter_.ShouldSave(form));
}
TEST_F(CredentialsFilterTest, ShouldSave_SyncCredential) {
@@ -348,7 +348,7 @@ TEST_F(CredentialsFilterTest, ShouldSave_SyncCredential) {
FakeSigninAs("user@example.org");
SetSyncingPasswords(true);
- EXPECT_FALSE(filter()->ShouldSave(form));
+ EXPECT_FALSE(filter_.ShouldSave(form));
}
TEST_F(CredentialsFilterTest, ShouldSave_SyncCredential_NotSyncingPasswords) {
@@ -356,7 +356,7 @@ TEST_F(CredentialsFilterTest, ShouldSave_SyncCredential_NotSyncingPasswords) {
FakeSigninAs("user@example.org");
SetSyncingPasswords(false);
- EXPECT_TRUE(filter()->ShouldSave(form));
+ EXPECT_TRUE(filter_.ShouldSave(form));
}
TEST_F(CredentialsFilterTest, ShouldFilterOneForm) {
@@ -376,7 +376,7 @@ TEST_F(CredentialsFilterTest, ShouldFilterOneForm) {
FakeSigninAs("test1@gmail.com");
- results = filter()->FilterResults(std::move(results));
+ results = filter_.FilterResults(std::move(results));
ASSERT_EQ(1u, results.size());
EXPECT_EQ(SimpleGaiaForm("test2@gmail.com"), *results[0]);
« no previous file with comments | « components/password_manager/core/browser/password_store.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698