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

Side by Side Diff: chrome/browser/ui/passwords/manage_passwords_ui_controller_unittest.cc

Issue 1415533013: Fix password manager internals renderer reporting (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Separate dummy log manager Created 5 years, 1 month 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/prefs/pref_service.h" 6 #include "base/prefs/pref_service.h"
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "base/time/time.h" 8 #include "base/time/time.h"
9 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" 9 #include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h"
10 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller_mock.h" 10 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller_mock.h"
11 #include "chrome/test/base/chrome_render_view_host_test_harness.h" 11 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
12 #include "chrome/test/base/testing_profile.h" 12 #include "chrome/test/base/testing_profile.h"
13 #include "components/autofill/core/common/password_form.h" 13 #include "components/autofill/core/common/password_form.h"
14 #include "components/password_manager/core/browser/dummy_log_manager.h"
14 #include "components/password_manager/core/browser/password_form_manager.h" 15 #include "components/password_manager/core/browser/password_form_manager.h"
15 #include "components/password_manager/core/browser/password_manager.h" 16 #include "components/password_manager/core/browser/password_manager.h"
16 #include "components/password_manager/core/browser/stub_password_manager_client. h" 17 #include "components/password_manager/core/browser/stub_password_manager_client. h"
17 #include "components/password_manager/core/browser/stub_password_manager_driver. h" 18 #include "components/password_manager/core/browser/stub_password_manager_driver. h"
18 #include "components/password_manager/core/common/credential_manager_types.h" 19 #include "components/password_manager/core/common/credential_manager_types.h"
19 #include "components/password_manager/core/common/password_manager_ui.h" 20 #include "components/password_manager/core/common/password_manager_ui.h"
20 #include "content/public/browser/navigation_details.h" 21 #include "content/public/browser/navigation_details.h"
21 #include "content/public/test/test_browser_thread_bundle.h" 22 #include "content/public/test/test_browser_thread_bundle.h"
22 #include "content/public/test/web_contents_tester.h" 23 #include "content/public/test/web_contents_tester.h"
23 #include "testing/gmock/include/gmock/gmock.h" 24 #include "testing/gmock/include/gmock/gmock.h"
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 password_manager::PasswordStoreChange change( 118 password_manager::PasswordStoreChange change(
118 password_manager::PasswordStoreChange::ADD, blacklisted); 119 password_manager::PasswordStoreChange::ADD, blacklisted);
119 password_manager::PasswordStoreChangeList list(1, change); 120 password_manager::PasswordStoreChangeList list(1, change);
120 OnLoginsChanged(list); 121 OnLoginsChanged(list);
121 } 122 }
122 123
123 // TODO(crbug.com/554886) Centralise mock clients. 124 // TODO(crbug.com/554886) Centralise mock clients.
124 class MockPasswordManagerClient 125 class MockPasswordManagerClient
125 : public password_manager::StubPasswordManagerClient { 126 : public password_manager::StubPasswordManagerClient {
126 public: 127 public:
127 MOCK_CONST_METHOD0(GetPasswordManager, 128 MockPasswordManagerClient() = default;
128 const password_manager::PasswordManager*()); 129 ~MockPasswordManagerClient() override = default;
130
131 MOCK_CONST_METHOD0(GetLogManager, const password_manager::LogManager*());
132
133 private:
134 DISALLOW_COPY_AND_ASSIGN(MockPasswordManagerClient);
129 }; 135 };
130 136
131 } // namespace 137 } // namespace
132 138
133 class ManagePasswordsUIControllerTest : public ChromeRenderViewHostTestHarness { 139 class ManagePasswordsUIControllerTest : public ChromeRenderViewHostTestHarness {
134 public: 140 public:
135 ManagePasswordsUIControllerTest() : password_manager_(&mock_client_) {} 141 ManagePasswordsUIControllerTest() : password_manager_(&mock_client_) {}
136 142
137 void SetUp() override { 143 void SetUp() override {
138 ChromeRenderViewHostTestHarness::SetUp(); 144 ChromeRenderViewHostTestHarness::SetUp();
139 145
140 ON_CALL(mock_client_, GetPasswordManager()) 146 ON_CALL(mock_client_, GetLogManager())
141 .WillByDefault(testing::Return(&password_manager_)); 147 .WillByDefault(testing::Return(&log_manager_));
142 148
143 // Create the test UIController here so that it's bound to 149 // Create the test UIController here so that it's bound to
144 // |test_web_contents_|, and will be retrieved correctly via 150 // |test_web_contents_|, and will be retrieved correctly via
145 // ManagePasswordsUIController::FromWebContents in |controller()|. 151 // ManagePasswordsUIController::FromWebContents in |controller()|.
146 new TestManagePasswordsUIController(web_contents(), &mock_client_); 152 new TestManagePasswordsUIController(web_contents(), &mock_client_);
147 153
148 test_local_form_.origin = GURL("http://example.com"); 154 test_local_form_.origin = GURL("http://example.com");
149 test_local_form_.username_value = base::ASCIIToUTF16("username"); 155 test_local_form_.username_value = base::ASCIIToUTF16("username");
150 test_local_form_.password_value = base::ASCIIToUTF16("12345"); 156 test_local_form_.password_value = base::ASCIIToUTF16("12345");
151 157
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 CreateFormManagerWithBestMatches( 197 CreateFormManagerWithBestMatches(
192 const autofill::PasswordForm& observed_form, 198 const autofill::PasswordForm& observed_form,
193 ScopedVector<autofill::PasswordForm> best_matches); 199 ScopedVector<autofill::PasswordForm> best_matches);
194 200
195 scoped_ptr<password_manager::PasswordFormManager> CreateFormManager(); 201 scoped_ptr<password_manager::PasswordFormManager> CreateFormManager();
196 202
197 private: 203 private:
198 MockPasswordManagerClient mock_client_; 204 MockPasswordManagerClient mock_client_;
199 password_manager::StubPasswordManagerDriver driver_; 205 password_manager::StubPasswordManagerDriver driver_;
200 password_manager::PasswordManager password_manager_; 206 password_manager::PasswordManager password_manager_;
207 password_manager::DummyLogManager log_manager_;
201 208
202 autofill::PasswordForm test_local_form_; 209 autofill::PasswordForm test_local_form_;
203 autofill::PasswordForm test_federated_form_; 210 autofill::PasswordForm test_federated_form_;
204 scoped_ptr<password_manager::CredentialInfo> credential_info_; 211 scoped_ptr<password_manager::CredentialInfo> credential_info_;
205 }; 212 };
206 213
207 scoped_ptr<password_manager::PasswordFormManager> 214 scoped_ptr<password_manager::PasswordFormManager>
208 ManagePasswordsUIControllerTest::CreateFormManagerWithBestMatches( 215 ManagePasswordsUIControllerTest::CreateFormManagerWithBestMatches(
209 const autofill::PasswordForm& observed_form, 216 const autofill::PasswordForm& observed_form,
210 ScopedVector<autofill::PasswordForm> best_matches) { 217 ScopedVector<autofill::PasswordForm> best_matches) {
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 // Fake-navigate after 5 seconds. We expect the bubble's state to be reset 594 // Fake-navigate after 5 seconds. We expect the bubble's state to be reset
588 // if a navigation occurs after this limit. 595 // if a navigation occurs after this limit.
589 controller()->SetElapsed( 596 controller()->SetElapsed(
590 base::TimeDelta::FromMilliseconds(kSlowNavigationDelayInMS)); 597 base::TimeDelta::FromMilliseconds(kSlowNavigationDelayInMS));
591 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(), 598 controller()->DidNavigateMainFrame(content::LoadCommittedDetails(),
592 content::FrameNavigateParams()); 599 content::FrameNavigateParams());
593 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state()); 600 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, controller()->state());
594 // The following line shouldn't crash browser. 601 // The following line shouldn't crash browser.
595 controller()->OnNoInteractionOnUpdate(); 602 controller()->OnNoInteractionOnUpdate();
596 } 603 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698