OLD | NEW |
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 "chrome/browser/ui/passwords/manage_passwords_test.h" | 5 #include "chrome/browser/ui/passwords/manage_passwords_test.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
9 #include "chrome/app/chrome_command_ids.h" | 9 #include "chrome/app/chrome_command_ids.h" |
10 #include "chrome/browser/ui/browser.h" | 10 #include "chrome/browser/ui/browser.h" |
11 #include "chrome/browser/ui/browser_command_controller.h" | 11 #include "chrome/browser/ui/browser_command_controller.h" |
12 #include "chrome/browser/ui/browser_window.h" | 12 #include "chrome/browser/ui/browser_window.h" |
13 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" | 13 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" |
14 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 14 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
15 #include "chrome/test/base/in_process_browser_test.h" | 15 #include "chrome/test/base/in_process_browser_test.h" |
16 #include "chrome/test/base/interactive_test_utils.h" | 16 #include "chrome/test/base/interactive_test_utils.h" |
17 #include "components/autofill/core/common/password_form.h" | 17 #include "components/autofill/core/common/password_form.h" |
| 18 #include "components/password_manager/core/browser/dummy_log_manager.h" |
18 #include "components/password_manager/core/browser/password_form_manager.h" | 19 #include "components/password_manager/core/browser/password_form_manager.h" |
19 #include "components/password_manager/core/browser/password_manager.h" | |
20 #include "components/password_manager/core/browser/password_manager_metrics_util
.h" | 20 #include "components/password_manager/core/browser/password_manager_metrics_util
.h" |
21 #include "components/password_manager/core/browser/stub_password_manager_client.
h" | 21 #include "components/password_manager/core/browser/stub_password_manager_client.
h" |
22 #include "components/password_manager/core/browser/stub_password_manager_driver.
h" | 22 #include "components/password_manager/core/browser/stub_password_manager_driver.
h" |
23 #include "testing/gtest/include/gtest/gtest.h" | 23 #include "testing/gtest/include/gtest/gtest.h" |
24 | 24 |
| 25 namespace { |
| 26 |
| 27 class MockPasswordManagerClient |
| 28 : public password_manager::StubPasswordManagerClient { |
| 29 public: |
| 30 MockPasswordManagerClient() = default; |
| 31 ~MockPasswordManagerClient() override = default; |
| 32 |
| 33 MOCK_CONST_METHOD0(GetLogManager, const password_manager::LogManager*()); |
| 34 |
| 35 private: |
| 36 DISALLOW_COPY_AND_ASSIGN(MockPasswordManagerClient); |
| 37 }; |
| 38 |
| 39 } // namespace |
| 40 |
25 ManagePasswordsTest::ManagePasswordsTest() { | 41 ManagePasswordsTest::ManagePasswordsTest() { |
26 } | 42 } |
27 | 43 |
28 ManagePasswordsTest::~ManagePasswordsTest() { | 44 ManagePasswordsTest::~ManagePasswordsTest() { |
29 } | 45 } |
30 | 46 |
31 void ManagePasswordsTest::SetUpOnMainThread() { | 47 void ManagePasswordsTest::SetUpOnMainThread() { |
32 AddTabAtIndex(0, GURL("http://example.com/"), ui::PAGE_TRANSITION_TYPED); | 48 AddTabAtIndex(0, GURL("http://example.com/"), ui::PAGE_TRANSITION_TYPED); |
33 } | 49 } |
34 | 50 |
(...skipping 11 matching lines...) Expand all Loading... |
46 | 62 |
47 void ManagePasswordsTest::SetupManagingPasswords() { | 63 void ManagePasswordsTest::SetupManagingPasswords() { |
48 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); | 64 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); |
49 autofill::PasswordFormMap map; | 65 autofill::PasswordFormMap map; |
50 map.insert(kTestUsername, | 66 map.insert(kTestUsername, |
51 make_scoped_ptr(new autofill::PasswordForm(*test_form()))); | 67 make_scoped_ptr(new autofill::PasswordForm(*test_form()))); |
52 GetController()->OnPasswordAutofilled(map, map.begin()->second->origin); | 68 GetController()->OnPasswordAutofilled(map, map.begin()->second->origin); |
53 } | 69 } |
54 | 70 |
55 void ManagePasswordsTest::SetupPendingPassword() { | 71 void ManagePasswordsTest::SetupPendingPassword() { |
56 password_manager::StubPasswordManagerClient client; | 72 MockPasswordManagerClient client; |
| 73 password_manager::DummyLogManager log_manager; |
57 password_manager::StubPasswordManagerDriver driver; | 74 password_manager::StubPasswordManagerDriver driver; |
58 password_manager::PasswordManager password_manager(&client); | 75 ON_CALL(client, GetLogManager()).WillByDefault(testing::Return(&log_manager)); |
| 76 |
59 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 77 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
60 new password_manager::PasswordFormManager( | 78 new password_manager::PasswordFormManager( |
61 &password_manager, &client, driver.AsWeakPtr(), *test_form(), false)); | 79 nullptr, &client, driver.AsWeakPtr(), *test_form(), false)); |
62 test_form_manager->SimulateFetchMatchingLoginsFromPasswordStore(); | 80 test_form_manager->SimulateFetchMatchingLoginsFromPasswordStore(); |
63 ScopedVector<autofill::PasswordForm> best_matches; | 81 ScopedVector<autofill::PasswordForm> best_matches; |
64 test_form_manager->OnGetPasswordStoreResults(best_matches.Pass()); | 82 test_form_manager->OnGetPasswordStoreResults(best_matches.Pass()); |
65 GetController()->OnPasswordSubmitted(test_form_manager.Pass()); | 83 GetController()->OnPasswordSubmitted(test_form_manager.Pass()); |
66 } | 84 } |
67 | 85 |
68 void ManagePasswordsTest::SetupAutomaticPassword() { | 86 void ManagePasswordsTest::SetupAutomaticPassword() { |
69 password_manager::StubPasswordManagerClient client; | 87 MockPasswordManagerClient client; |
| 88 password_manager::DummyLogManager log_manager; |
70 password_manager::StubPasswordManagerDriver driver; | 89 password_manager::StubPasswordManagerDriver driver; |
71 password_manager::PasswordManager password_manager(&client); | 90 ON_CALL(client, GetLogManager()).WillByDefault(testing::Return(&log_manager)); |
| 91 |
72 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 92 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
73 new password_manager::PasswordFormManager( | 93 new password_manager::PasswordFormManager( |
74 &password_manager, &client, driver.AsWeakPtr(), *test_form(), false)); | 94 nullptr, &client, driver.AsWeakPtr(), *test_form(), false)); |
75 GetController()->OnAutomaticPasswordSave(test_form_manager.Pass()); | 95 GetController()->OnAutomaticPasswordSave(test_form_manager.Pass()); |
76 } | 96 } |
77 | 97 |
78 void ManagePasswordsTest::SetupChooseCredentials( | 98 void ManagePasswordsTest::SetupChooseCredentials( |
79 ScopedVector<autofill::PasswordForm> local_credentials, | 99 ScopedVector<autofill::PasswordForm> local_credentials, |
80 ScopedVector<autofill::PasswordForm> federated_credentials, | 100 ScopedVector<autofill::PasswordForm> federated_credentials, |
81 const GURL& origin) { | 101 const GURL& origin) { |
82 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); | 102 base::string16 kTestUsername = base::ASCIIToUTF16("test_username"); |
83 autofill::PasswordFormMap map; | 103 autofill::PasswordFormMap map; |
84 map.insert(kTestUsername, | 104 map.insert(kTestUsername, |
(...skipping 12 matching lines...) Expand all Loading... |
97 const char* histogram) { | 117 const char* histogram) { |
98 // Ensure that everything has been properly recorded before pulling samples. | 118 // Ensure that everything has been properly recorded before pulling samples. |
99 content::RunAllPendingInMessageLoop(); | 119 content::RunAllPendingInMessageLoop(); |
100 return histogram_tester_.GetHistogramSamplesSinceCreation(histogram).Pass(); | 120 return histogram_tester_.GetHistogramSamplesSinceCreation(histogram).Pass(); |
101 } | 121 } |
102 | 122 |
103 ManagePasswordsUIController* ManagePasswordsTest::GetController() { | 123 ManagePasswordsUIController* ManagePasswordsTest::GetController() { |
104 return ManagePasswordsUIController::FromWebContents( | 124 return ManagePasswordsUIController::FromWebContents( |
105 browser()->tab_strip_model()->GetActiveWebContents()); | 125 browser()->tab_strip_model()->GetActiveWebContents()); |
106 } | 126 } |
OLD | NEW |