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

Side by Side Diff: chrome/browser/password_manager/password_form_manager_unittest.cc

Issue 12546016: Remove the Extensions URLRequestContext (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix silly compile error Created 7 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "testing/gtest/include/gtest/gtest.h" 5 #include "testing/gtest/include/gtest/gtest.h"
6 6
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/message_loop/message_loop.h"
9 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
10 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
11 #include "chrome/browser/password_manager/password_form_manager.h" 10 #include "chrome/browser/password_manager/password_form_manager.h"
12 #include "chrome/browser/password_manager/password_manager.h" 11 #include "chrome/browser/password_manager/password_manager.h"
13 #include "chrome/browser/password_manager/password_manager_delegate.h" 12 #include "chrome/browser/password_manager/password_manager_delegate.h"
14 #include "chrome/browser/password_manager/password_store.h" 13 #include "chrome/browser/password_manager/password_store.h"
15 #include "chrome/browser/password_manager/password_store_factory.h" 14 #include "chrome/browser/password_manager/password_store_factory.h"
16 #include "chrome/browser/password_manager/test_password_store.h" 15 #include "chrome/browser/password_manager/test_password_store.h"
17 #include "chrome/browser/profiles/profile_manager.h" 16 #include "chrome/browser/profiles/profile_manager.h"
18 #include "chrome/test/base/testing_profile.h" 17 #include "chrome/test/base/testing_profile.h"
19 #include "content/public/common/password_form.h" 18 #include "content/public/common/password_form.h"
19 #include "content/public/test/test_browser_thread_bundle.h"
20 #include "content/public/test/test_utils.h" 20 #include "content/public/test/test_utils.h"
21 #include "testing/gmock/include/gmock/gmock.h" 21 #include "testing/gmock/include/gmock/gmock.h"
22 22
23 using content::PasswordForm; 23 using content::PasswordForm;
24 24
25 using ::testing::Eq; 25 using ::testing::Eq;
26 26
27 class TestPasswordManagerDelegate : public PasswordManagerDelegate { 27 class TestPasswordManagerDelegate : public PasswordManagerDelegate {
28 public: 28 public:
29 explicit TestPasswordManagerDelegate(Profile* profile) : profile_(profile) {} 29 explicit TestPasswordManagerDelegate(Profile* profile) : profile_(profile) {}
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 size_t num_sent_messages() { 67 size_t num_sent_messages() {
68 return num_sent_messages_; 68 return num_sent_messages_;
69 } 69 }
70 70
71 private: 71 private:
72 size_t num_sent_messages_; 72 size_t num_sent_messages_;
73 }; 73 };
74 74
75 class PasswordFormManagerTest : public testing::Test { 75 class PasswordFormManagerTest : public testing::Test {
76 public: 76 public:
77 PasswordFormManagerTest() {
78 }
79 virtual void SetUp() { 77 virtual void SetUp() {
80 observed_form_.origin = GURL("http://accounts.google.com/a/LoginAuth"); 78 observed_form_.origin = GURL("http://accounts.google.com/a/LoginAuth");
81 observed_form_.action = GURL("http://accounts.google.com/a/Login"); 79 observed_form_.action = GURL("http://accounts.google.com/a/Login");
82 observed_form_.username_element = ASCIIToUTF16("Email"); 80 observed_form_.username_element = ASCIIToUTF16("Email");
83 observed_form_.password_element = ASCIIToUTF16("Passwd"); 81 observed_form_.password_element = ASCIIToUTF16("Passwd");
84 observed_form_.submit_element = ASCIIToUTF16("signIn"); 82 observed_form_.submit_element = ASCIIToUTF16("signIn");
85 observed_form_.signon_realm = "http://accounts.google.com"; 83 observed_form_.signon_realm = "http://accounts.google.com";
86 84
87 saved_match_ = observed_form_; 85 saved_match_ = observed_form_;
88 saved_match_.origin = GURL("http://accounts.google.com/a/ServiceLoginAuth"); 86 saved_match_.origin = GURL("http://accounts.google.com/a/ServiceLoginAuth");
89 saved_match_.action = GURL("http://accounts.google.com/a/ServiceLogin"); 87 saved_match_.action = GURL("http://accounts.google.com/a/ServiceLogin");
90 saved_match_.preferred = true; 88 saved_match_.preferred = true;
91 saved_match_.username_value = ASCIIToUTF16("test@gmail.com"); 89 saved_match_.username_value = ASCIIToUTF16("test@gmail.com");
92 saved_match_.password_value = ASCIIToUTF16("test1"); 90 saved_match_.password_value = ASCIIToUTF16("test1");
93 saved_match_.other_possible_usernames.push_back( 91 saved_match_.other_possible_usernames.push_back(
94 ASCIIToUTF16("test2@gmail.com")); 92 ASCIIToUTF16("test2@gmail.com"));
95 profile_ = new TestingProfile();
96 }
97
98 virtual void TearDown() {
99 delete profile_;
100 } 93 }
101 94
102 PasswordForm* GetPendingCredentials(PasswordFormManager* p) { 95 PasswordForm* GetPendingCredentials(PasswordFormManager* p) {
103 return &p->pending_credentials_; 96 return &p->pending_credentials_;
104 } 97 }
105 98
106 void SimulateMatchingPhase(PasswordFormManager* p, bool find_match) { 99 void SimulateMatchingPhase(PasswordFormManager* p, bool find_match) {
107 // Roll up the state to mock out the matching phase. 100 // Roll up the state to mock out the matching phase.
108 p->state_ = PasswordFormManager::POST_MATCHING_PHASE; 101 p->state_ = PasswordFormManager::POST_MATCHING_PHASE;
109 if (!find_match) 102 if (!find_match)
(...skipping 20 matching lines...) Expand all
130 } 123 }
131 124
132 void SanitizePossibleUsernames(PasswordFormManager* p, PasswordForm* form) { 125 void SanitizePossibleUsernames(PasswordFormManager* p, PasswordForm* form) {
133 p->SanitizePossibleUsernames(form); 126 p->SanitizePossibleUsernames(form);
134 } 127 }
135 128
136 bool IgnoredResult(PasswordFormManager* p, PasswordForm* form) { 129 bool IgnoredResult(PasswordFormManager* p, PasswordForm* form) {
137 return p->IgnoreResult(*form); 130 return p->IgnoreResult(*form);
138 } 131 }
139 132
140 Profile* profile() { return profile_; } 133 Profile* profile() { return &profile_; }
141 134
142 PasswordForm* observed_form() { return &observed_form_; } 135 PasswordForm* observed_form() { return &observed_form_; }
143 PasswordForm* saved_match() { return &saved_match_; } 136 PasswordForm* saved_match() { return &saved_match_; }
144 PasswordForm* CreateSavedMatch(bool blacklisted) { 137 PasswordForm* CreateSavedMatch(bool blacklisted) {
145 // Owned by the caller of this method. 138 // Owned by the caller of this method.
146 PasswordForm* match = new PasswordForm(saved_match_); 139 PasswordForm* match = new PasswordForm(saved_match_);
147 match->blacklisted_by_user = blacklisted; 140 match->blacklisted_by_user = blacklisted;
148 return match; 141 return match;
149 } 142 }
150 143
151 private: 144 private:
145 content::TestBrowserThreadBundle thread_bundle_;
146 TestingProfile profile_;
152 PasswordForm observed_form_; 147 PasswordForm observed_form_;
153 PasswordForm saved_match_; 148 PasswordForm saved_match_;
154 Profile* profile_;
155 }; 149 };
156 150
157 TEST_F(PasswordFormManagerTest, TestNewLogin) { 151 TEST_F(PasswordFormManagerTest, TestNewLogin) {
158 PasswordFormManager* manager = new PasswordFormManager( 152 PasswordFormManager* manager = new PasswordFormManager(
159 profile(), NULL, NULL, *observed_form(), false); 153 profile(), NULL, NULL, *observed_form(), false);
160 SimulateMatchingPhase(manager, false); 154 SimulateMatchingPhase(manager, false);
161 // User submits credentials for the observed form. 155 // User submits credentials for the observed form.
162 PasswordForm credentials = *observed_form(); 156 PasswordForm credentials = *observed_form();
163 credentials.username_value = saved_match()->username_value; 157 credentials.username_value = saved_match()->username_value;
164 credentials.password_value = saved_match()->password_value; 158 credentials.password_value = saved_match()->password_value;
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 login, 320 login,
327 PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); 321 PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
328 EXPECT_TRUE(manager->IsNewLogin()); 322 EXPECT_TRUE(manager->IsNewLogin());
329 // Check that the provisionally saved action URL is the same as the submitted 323 // Check that the provisionally saved action URL is the same as the submitted
330 // action URL, not the one observed on page load. 324 // action URL, not the one observed on page load.
331 EXPECT_EQ(new_action, 325 EXPECT_EQ(new_action,
332 GetPendingCredentials(manager.get())->action); 326 GetPendingCredentials(manager.get())->action);
333 } 327 }
334 328
335 TEST_F(PasswordFormManagerTest, TestAlternateUsername) { 329 TEST_F(PasswordFormManagerTest, TestAlternateUsername) {
336 // Need a MessageLoop for callbacks.
337 base::MessageLoop message_loop;
338 PasswordStoreFactory::GetInstance()->SetTestingFactory( 330 PasswordStoreFactory::GetInstance()->SetTestingFactory(
339 profile(), &TestPasswordStore::Create); 331 profile(), &TestPasswordStore::Create);
340 scoped_refptr<TestPasswordStore> password_store = 332 scoped_refptr<TestPasswordStore> password_store =
341 static_cast<TestPasswordStore*>( 333 static_cast<TestPasswordStore*>(
342 PasswordStoreFactory::GetForProfile(profile(), 334 PasswordStoreFactory::GetForProfile(profile(),
343 Profile::IMPLICIT_ACCESS).get()); 335 Profile::IMPLICIT_ACCESS).get());
344 TestPasswordManagerDelegate delegate(profile()); 336 TestPasswordManagerDelegate delegate(profile());
345 TestPasswordManager password_manager(&delegate); 337 TestPasswordManager password_manager(&delegate);
346 scoped_ptr<TestPasswordFormManager> manager(new TestPasswordFormManager( 338 scoped_ptr<TestPasswordFormManager> manager(new TestPasswordFormManager(
347 profile(), &password_manager, *observed_form(), false)); 339 profile(), &password_manager, *observed_form(), false));
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 529
538 SanitizePossibleUsernames(manager.get(), &credentials); 530 SanitizePossibleUsernames(manager.get(), &credentials);
539 531
540 // SSN, duplicate in |other_possible_usernames| and duplicate of 532 // SSN, duplicate in |other_possible_usernames| and duplicate of
541 // |username_value| all removed. 533 // |username_value| all removed.
542 expected.clear(); 534 expected.clear();
543 expected.push_back(ASCIIToUTF16("duplicate")); 535 expected.push_back(ASCIIToUTF16("duplicate"));
544 expected.push_back(ASCIIToUTF16("random")); 536 expected.push_back(ASCIIToUTF16("random"));
545 EXPECT_THAT(credentials.other_possible_usernames, Eq(expected)); 537 EXPECT_THAT(credentials.other_possible_usernames, Eq(expected));
546 } 538 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698