| 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/password_form_manager.h" | 18 #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" | 19 #include "components/password_manager/core/browser/password_manager_metrics_util
.h" |
| 20 #include "components/password_manager/core/browser/stub_log_manager.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::StubLogManager 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::StubLogManager 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 |