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

Unified Diff: chrome/browser/ui/passwords/password_manager_presenter_unittest.cc

Issue 1936053002: [Password Manager] Add federations to sort key on password page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2704
Patch Set: Created 4 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
« no previous file with comments | « chrome/browser/ui/passwords/password_manager_presenter.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/passwords/password_manager_presenter_unittest.cc
diff --git a/chrome/browser/ui/passwords/password_manager_presenter_unittest.cc b/chrome/browser/ui/passwords/password_manager_presenter_unittest.cc
index d0855f8438665f6b46a1a8b918ee86689604c1c2..f81376906dae98c25a7652049356f26640ec2a83 100644
--- a/chrome/browser/ui/passwords/password_manager_presenter_unittest.cc
+++ b/chrome/browser/ui/passwords/password_manager_presenter_unittest.cc
@@ -30,6 +30,7 @@ struct SortEntry {
const char* const username;
const char* const password;
const char* const affiliated_web_realm;
+ const char* const federation;
const int expected_position;
};
@@ -90,7 +91,7 @@ class PasswordManagerPresenterTest : public testing::Test {
MockPasswordUIView* GetUIController() { return mock_controller_.get(); }
void SortAndCheckPositions(const SortEntry test_entries[],
size_t number_of_entries,
- bool username_and_password_in_key);
+ PasswordEntryType entry_type);
private:
content::TestBrowserThreadBundle thread_bundle_;
@@ -129,7 +130,7 @@ void PasswordManagerPresenterTest::UpdateLists() {
void PasswordManagerPresenterTest::SortAndCheckPositions(
const SortEntry test_entries[],
size_t number_of_entries,
- bool username_and_password_in_key) {
+ PasswordEntryType entry_type) {
std::vector<std::unique_ptr<autofill::PasswordForm>> list;
size_t expected_number_of_unique_entries = 0;
for (size_t i = 0; i < number_of_entries; i++) {
@@ -137,9 +138,11 @@ void PasswordManagerPresenterTest::SortAndCheckPositions(
std::unique_ptr<autofill::PasswordForm> form(new autofill::PasswordForm());
form->signon_realm = entry.origin;
form->origin = GURL(base::ASCIIToUTF16(entry.origin));
- if (username_and_password_in_key) {
+ if (entry_type == PasswordEntryType::SAVED) {
form->username_value = base::ASCIIToUTF16(entry.username);
form->password_value = base::ASCIIToUTF16(entry.password);
+ if (entry.federation != nullptr)
+ form->federation_origin = url::Origin(GURL(entry.federation));
}
if (entry.affiliated_web_realm)
form->affiliated_web_realm = entry.affiliated_web_realm;
@@ -150,7 +153,7 @@ void PasswordManagerPresenterTest::SortAndCheckPositions(
DuplicatesMap duplicates;
mock_controller_->GetPasswordManagerPresenter()->SortEntriesAndHideDuplicates(
- &list, &duplicates, username_and_password_in_key);
+ &list, &duplicates, entry_type);
ASSERT_EQ(expected_number_of_unique_entries, list.size());
ASSERT_EQ(number_of_entries - expected_number_of_unique_entries,
@@ -162,11 +165,14 @@ void PasswordManagerPresenterTest::SortAndCheckPositions(
<< entry.expected_position);
EXPECT_EQ(GURL(base::ASCIIToUTF16(entry.origin)),
list[entry.expected_position]->origin);
- if (username_and_password_in_key) {
+ if (entry_type == PasswordEntryType::SAVED) {
EXPECT_EQ(base::ASCIIToUTF16(entry.username),
list[entry.expected_position]->username_value);
EXPECT_EQ(base::ASCIIToUTF16(entry.password),
list[entry.expected_position]->password_value);
+ if (entry.federation != nullptr)
+ EXPECT_EQ(url::Origin(GURL(entry.federation)),
+ list[entry.expected_position]->federation_origin);
}
}
}
@@ -221,63 +227,82 @@ TEST_F(PasswordManagerPresenterTest, UIControllerIsCalled) {
TEST_F(PasswordManagerPresenterTest, Sorting_DifferentOrigins) {
const SortEntry test_cases[] = {
- {"http://example-b.com", "user_a", "pwd", nullptr, 2},
- {"http://example-a.com", "user_a1", "pwd", nullptr, 0},
- {"http://example-a.com", "user_a2", "pwd", nullptr, 1},
- {"http://example-c.com", "user_a", "pwd", nullptr, 3}};
- SortAndCheckPositions(test_cases, arraysize(test_cases), true);
+ {"http://example-b.com", "user_a", "pwd", nullptr, nullptr, 2},
+ {"http://example-a.com", "user_a1", "pwd", nullptr, nullptr, 0},
+ {"http://example-a.com", "user_a2", "pwd", nullptr, nullptr, 1},
+ {"http://example-c.com", "user_a", "pwd", nullptr, nullptr, 3}};
+ SortAndCheckPositions(test_cases, arraysize(test_cases),
+ PasswordEntryType::SAVED);
}
TEST_F(PasswordManagerPresenterTest, Sorting_DifferentUsernames) {
const SortEntry test_cases[] = {
- {"http://example.com", "user_a", "pwd", nullptr, 0},
- {"http://example.com", "user_c", "pwd", nullptr, 2},
- {"http://example.com", "user_b", "pwd", nullptr, 1}};
- SortAndCheckPositions(test_cases, arraysize(test_cases), true);
+ {"http://example.com", "user_a", "pwd", nullptr, nullptr, 0},
+ {"http://example.com", "user_c", "pwd", nullptr, nullptr, 2},
+ {"http://example.com", "user_b", "pwd", nullptr, nullptr, 1}};
+ SortAndCheckPositions(test_cases, arraysize(test_cases),
+ PasswordEntryType::SAVED);
}
TEST_F(PasswordManagerPresenterTest, Sorting_DifferentPasswords) {
const SortEntry test_cases[] = {
- {"http://example.com", "user_a", "1", nullptr, 0},
- {"http://example.com", "user_a", "2", nullptr, 1},
- {"http://example.com", "user_a", "3", nullptr, 2}};
- SortAndCheckPositions(test_cases, arraysize(test_cases), true);
+ {"http://example.com", "user_a", "1", nullptr, nullptr, 0},
+ {"http://example.com", "user_a", "2", nullptr, nullptr, 1},
+ {"http://example.com", "user_a", "3", nullptr, nullptr, 2}};
+ SortAndCheckPositions(test_cases, arraysize(test_cases),
+ PasswordEntryType::SAVED);
}
TEST_F(PasswordManagerPresenterTest, Sorting_HideDuplicates) {
const SortEntry test_cases[] = {
- {"http://example.com", "user_a", "pwd", nullptr, 0},
+ {"http://example.com", "user_a", "pwd", nullptr, nullptr, 0},
// Different username.
- {"http://example.com", "user_b", "pwd", nullptr, 2},
+ {"http://example.com", "user_b", "pwd", nullptr, nullptr, 2},
// Different password.
- {"http://example.com", "user_a", "secret", nullptr, 1},
+ {"http://example.com", "user_a", "secret", nullptr, nullptr, 1},
// Different origin.
- {"http://sub1.example.com", "user_a", "pwd", nullptr, 3},
- {"http://example.com", "user_a", "pwd", nullptr, -1} // Hide it.
+ {"http://sub1.example.com", "user_a", "pwd", nullptr, nullptr, 3},
+ {"http://example.com", "user_a", "pwd", nullptr, nullptr, -1} // Hide it.
};
- SortAndCheckPositions(test_cases, arraysize(test_cases), true);
+ SortAndCheckPositions(test_cases, arraysize(test_cases),
+ PasswordEntryType::SAVED);
}
-TEST_F(PasswordManagerPresenterTest, Sorting_DontUseUsernameAndPasswordInKey) {
+TEST_F(PasswordManagerPresenterTest, Sorting_PasswordExceptions) {
const SortEntry test_cases[] = {
- {"http://example-b.com", nullptr, nullptr, nullptr, 1},
- {"http://example-a.com", nullptr, nullptr, nullptr, 0},
- {"http://example-a.com", nullptr, nullptr, nullptr, -1}, // Hide it.
- {"http://example-c.com", nullptr, nullptr, nullptr, 2}};
- SortAndCheckPositions(test_cases, arraysize(test_cases), false);
+ {"http://example-b.com", nullptr, nullptr, nullptr, nullptr, 1},
+ {"http://example-a.com", nullptr, nullptr, nullptr, nullptr, 0},
+ {"http://example-a.com", nullptr, nullptr, nullptr, nullptr,
+ -1}, // Hide it.
+ {"http://example-c.com", nullptr, nullptr, nullptr, nullptr, 2}};
+ SortAndCheckPositions(test_cases, arraysize(test_cases),
+ PasswordEntryType::BLACKLISTED);
}
TEST_F(PasswordManagerPresenterTest, Sorting_AndroidCredentials) {
const SortEntry test_cases[] = {
- {"https://alpha.com", "user", "secret", nullptr, 0},
- {"android://hash@com.alpha", "user", "secret", "https://alpha.com", 1},
- {"android://hash@com.alpha", "user", "secret", "https://alpha.com", -1},
- {"android://hash@com.alpha", "user", "secret", nullptr, 2},
-
+ {"https://alpha.com", "user", "secret", nullptr, nullptr, 0},
+ {"android://hash@com.alpha", "user", "secret", "https://alpha.com",
+ nullptr, 1},
+ {"android://hash@com.alpha", "user", "secret", "https://alpha.com",
+ nullptr, -1},
+ {"android://hash@com.alpha", "user", "secret", nullptr, nullptr, 2},
{"android://hash@com.betta.android", "user", "secret",
- "https://betta.com", 3},
- {"android://hash@com.betta.android", "user", "secret", nullptr, 4}};
- SortAndCheckPositions(test_cases, arraysize(test_cases), true);
+ "https://betta.com", nullptr, 3},
+ {"android://hash@com.betta.android", "user", "secret", nullptr, nullptr,
+ 4}};
+ SortAndCheckPositions(test_cases, arraysize(test_cases),
+ PasswordEntryType::SAVED);
+}
+
+TEST_F(PasswordManagerPresenterTest, Sorting_Federations) {
+ const SortEntry test_cases[] = {
+ {"https://example.com", "user", "secret", nullptr, nullptr, 0},
+ {"https://example.com", "user", "secret", nullptr, "https://fed1.com", 1},
+ {"https://example.com", "user", "secret", nullptr, "https://fed2.com",
+ 2}};
+ SortAndCheckPositions(test_cases, arraysize(test_cases),
+ PasswordEntryType::SAVED);
}
} // namespace
« no previous file with comments | « chrome/browser/ui/passwords/password_manager_presenter.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698