Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
| 7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "chrome/browser/chromeos/cros/cros_in_process_browser_test.h" | 9 #include "chrome/browser/chromeos/cros/cros_in_process_browser_test.h" |
| 10 #include "chrome/browser/chromeos/cros/cros_mock.h" | 10 #include "chrome/browser/chromeos/cros/cros_mock.h" |
| 11 #include "chrome/browser/chromeos/cros/mock_cryptohome_library.h" | |
| 12 #include "chrome/browser/chromeos/cros/mock_network_library.h" | 11 #include "chrome/browser/chromeos/cros/mock_network_library.h" |
| 13 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 12 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
| 14 #include "chrome/browser/chromeos/login/helper.h" | 13 #include "chrome/browser/chromeos/login/helper.h" |
| 15 #include "chrome/browser/chromeos/login/login_display.h" | 14 #include "chrome/browser/chromeos/login/login_display.h" |
| 16 #include "chrome/browser/chromeos/login/login_display_host.h" | 15 #include "chrome/browser/chromeos/login/login_display_host.h" |
| 17 #include "chrome/browser/chromeos/login/login_performer.h" | 16 #include "chrome/browser/chromeos/login/login_performer.h" |
| 18 #include "chrome/browser/chromeos/login/login_status_consumer.h" | 17 #include "chrome/browser/chromeos/login/login_status_consumer.h" |
| 19 #include "chrome/browser/chromeos/login/login_utils.h" | 18 #include "chrome/browser/chromeos/login/login_utils.h" |
| 20 #include "chrome/browser/chromeos/login/mock_authenticator.h" | 19 #include "chrome/browser/chromeos/login/mock_authenticator.h" |
| 21 #include "chrome/browser/chromeos/login/mock_login_utils.h" | 20 #include "chrome/browser/chromeos/login/mock_login_utils.h" |
| 22 #include "chrome/browser/chromeos/login/mock_url_fetchers.h" | 21 #include "chrome/browser/chromeos/login/mock_url_fetchers.h" |
| 23 #include "chrome/browser/chromeos/login/mock_user_manager.h" | 22 #include "chrome/browser/chromeos/login/mock_user_manager.h" |
| 24 #include "chrome/browser/chromeos/login/wizard_controller.h" | 23 #include "chrome/browser/chromeos/login/wizard_controller.h" |
| 25 #include "chrome/common/chrome_switches.h" | 24 #include "chrome/common/chrome_switches.h" |
| 26 #include "chrome/common/net/gaia/mock_url_fetcher_factory.h" | 25 #include "chrome/common/net/gaia/mock_url_fetcher_factory.h" |
| 27 #include "chrome/test/base/testing_profile.h" | 26 #include "chrome/test/base/testing_profile.h" |
| 28 #include "chrome/test/base/ui_test_utils.h" | 27 #include "chrome/test/base/ui_test_utils.h" |
| 29 #include "chromeos/dbus/mock_dbus_thread_manager.h" | 28 #include "chromeos/dbus/mock_dbus_thread_manager.h" |
| 30 #include "chromeos/dbus/mock_session_manager_client.h" | 29 #include "chromeos/dbus/mock_session_manager_client.h" |
| 31 #include "grit/generated_resources.h" | 30 #include "grit/generated_resources.h" |
| 32 #include "testing/gmock/include/gmock/gmock.h" | 31 #include "testing/gmock/include/gmock/gmock.h" |
| 33 #include "testing/gtest/include/gtest/gtest.h" | 32 #include "testing/gtest/include/gtest/gtest.h" |
| 34 #include "ui/base/l10n/l10n_util.h" | 33 #include "ui/base/l10n/l10n_util.h" |
| 35 | 34 |
| 36 namespace chromeos { | 35 namespace chromeos { |
| 37 | 36 |
| 38 using ::testing::AnyNumber; | 37 using ::testing::AnyNumber; |
| 39 using ::testing::AnyOf; | 38 using ::testing::AnyOf; |
| 39 using ::testing::Invoke; | |
| 40 using ::testing::InvokeWithoutArgs; | 40 using ::testing::InvokeWithoutArgs; |
| 41 using ::testing::Return; | 41 using ::testing::Return; |
| 42 using ::testing::ReturnNull; | 42 using ::testing::ReturnNull; |
| 43 using ::testing::WithArg; | 43 using ::testing::WithArg; |
| 44 using ::testing::_; | 44 using ::testing::_; |
| 45 | 45 |
| 46 const char kUsername[] = "test_user@gmail.com"; | 46 const char kUsername[] = "test_user@gmail.com"; |
| 47 const char kNewUsername[] = "test_new_user@gmail.com"; | 47 const char kNewUsername[] = "test_new_user@gmail.com"; |
| 48 const char kPassword[] = "test_password"; | 48 const char kPassword[] = "test_password"; |
| 49 | 49 |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 90 MOCK_METHOD0(ResumeSignInScreen, void(void)); | 90 MOCK_METHOD0(ResumeSignInScreen, void(void)); |
| 91 MOCK_METHOD0(OnPreferencesChanged, void(void)); | 91 MOCK_METHOD0(OnPreferencesChanged, void(void)); |
| 92 | 92 |
| 93 private: | 93 private: |
| 94 DISALLOW_COPY_AND_ASSIGN(MockLoginDisplayHost); | 94 DISALLOW_COPY_AND_ASSIGN(MockLoginDisplayHost); |
| 95 }; | 95 }; |
| 96 | 96 |
| 97 class ExistingUserControllerTest : public CrosInProcessBrowserTest { | 97 class ExistingUserControllerTest : public CrosInProcessBrowserTest { |
| 98 protected: | 98 protected: |
| 99 ExistingUserControllerTest() | 99 ExistingUserControllerTest() |
| 100 : mock_cryptohome_library_(NULL), | 100 : mock_network_library_(NULL), |
| 101 mock_network_library_(NULL), | |
| 102 mock_login_display_(NULL), | 101 mock_login_display_(NULL), |
| 103 mock_login_display_host_(NULL), | 102 mock_login_display_host_(NULL), |
| 104 testing_profile_(NULL) { | 103 testing_profile_(NULL) { |
| 105 } | 104 } |
| 106 | 105 |
| 107 ExistingUserController* existing_user_controller() { | 106 ExistingUserController* existing_user_controller() { |
| 108 return ExistingUserController::current_controller(); | 107 return ExistingUserController::current_controller(); |
| 109 } | 108 } |
| 110 | 109 |
| 111 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { | 110 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { |
| 112 MockDBusThreadManager* mock_dbus_thread_manager = | 111 MockDBusThreadManager* mock_dbus_thread_manager = |
| 113 new MockDBusThreadManager; | 112 new MockDBusThreadManager; |
| 114 DBusThreadManager::InitializeForTesting(mock_dbus_thread_manager); | 113 DBusThreadManager::InitializeForTesting(mock_dbus_thread_manager); |
| 115 CrosInProcessBrowserTest::SetUpInProcessBrowserTestFixture(); | 114 CrosInProcessBrowserTest::SetUpInProcessBrowserTestFixture(); |
| 116 cros_mock_->InitStatusAreaMocks(); | 115 cros_mock_->InitStatusAreaMocks(); |
| 117 cros_mock_->SetStatusAreaMocksExpectations(); | 116 cros_mock_->SetStatusAreaMocksExpectations(); |
| 118 | 117 |
| 119 mock_network_library_ = cros_mock_->mock_network_library(); | 118 mock_network_library_ = cros_mock_->mock_network_library(); |
| 120 EXPECT_CALL(*mock_network_library_, AddUserActionObserver(_)) | 119 EXPECT_CALL(*mock_network_library_, AddUserActionObserver(_)) |
| 121 .Times(AnyNumber()); | 120 .Times(AnyNumber()); |
| 122 MockSessionManagerClient* mock_session_manager_client = | 121 MockSessionManagerClient* mock_session_manager_client = |
| 123 mock_dbus_thread_manager->mock_session_manager_client(); | 122 mock_dbus_thread_manager->mock_session_manager_client(); |
| 124 EXPECT_CALL(*mock_session_manager_client, EmitLoginPromptReady()) | 123 EXPECT_CALL(*mock_session_manager_client, EmitLoginPromptReady()) |
| 125 .Times(1); | 124 .Times(1); |
| 126 EXPECT_CALL(*mock_session_manager_client, RetrieveDevicePolicy(_)) | 125 EXPECT_CALL(*mock_session_manager_client, RetrieveDevicePolicy(_)) |
| 127 .Times(AnyNumber()); | 126 .Times(AnyNumber()); |
| 128 | 127 |
| 129 cros_mock_->InitMockCryptohomeLibrary(); | |
| 130 mock_cryptohome_library_ = cros_mock_->mock_cryptohome_library(); | |
| 131 EXPECT_CALL(*mock_cryptohome_library_, IsMounted()) | |
|
Nikita (slow)
2012/07/27 22:06:46
How do we check this expectation now?
hashimoto
2012/07/28 02:56:37
This expectation is set in the ctor of MockCryptoh
| |
| 132 .Times(AnyNumber()) | |
| 133 .WillRepeatedly(Return(true)); | |
| 134 | |
| 135 mock_login_utils_ = new MockLoginUtils(); | 128 mock_login_utils_ = new MockLoginUtils(); |
| 136 LoginUtils::Set(mock_login_utils_); | 129 LoginUtils::Set(mock_login_utils_); |
| 137 EXPECT_CALL(*mock_login_utils_, PrewarmAuthentication()) | 130 EXPECT_CALL(*mock_login_utils_, PrewarmAuthentication()) |
| 138 .Times(AnyNumber()); | 131 .Times(AnyNumber()); |
| 139 EXPECT_CALL(*mock_login_utils_, StopBackgroundFetchers()) | 132 EXPECT_CALL(*mock_login_utils_, StopBackgroundFetchers()) |
| 140 .Times(AnyNumber()); | 133 .Times(AnyNumber()); |
| 141 EXPECT_CALL(*mock_login_utils_, DelegateDeleted(_)) | 134 EXPECT_CALL(*mock_login_utils_, DelegateDeleted(_)) |
| 142 .Times(1); | 135 .Times(1); |
| 143 | 136 |
| 144 mock_login_display_host_.reset(new MockLoginDisplayHost()); | 137 mock_login_display_host_.reset(new MockLoginDisplayHost()); |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 201 } | 194 } |
| 202 | 195 |
| 203 virtual void TearDownInProcessBrowserTestFixture() OVERRIDE { | 196 virtual void TearDownInProcessBrowserTestFixture() OVERRIDE { |
| 204 CrosInProcessBrowserTest::TearDownInProcessBrowserTestFixture(); | 197 CrosInProcessBrowserTest::TearDownInProcessBrowserTestFixture(); |
| 205 DBusThreadManager::Shutdown(); | 198 DBusThreadManager::Shutdown(); |
| 206 } | 199 } |
| 207 | 200 |
| 208 scoped_ptr<ExistingUserController> existing_user_controller_; | 201 scoped_ptr<ExistingUserController> existing_user_controller_; |
| 209 | 202 |
| 210 // These mocks are owned by CrosLibrary class. | 203 // These mocks are owned by CrosLibrary class. |
| 211 MockCryptohomeLibrary* mock_cryptohome_library_; | |
| 212 MockNetworkLibrary* mock_network_library_; | 204 MockNetworkLibrary* mock_network_library_; |
| 213 | 205 |
| 214 MockLoginDisplay* mock_login_display_; | 206 MockLoginDisplay* mock_login_display_; |
| 215 scoped_ptr<MockLoginDisplayHost> mock_login_display_host_; | 207 scoped_ptr<MockLoginDisplayHost> mock_login_display_host_; |
| 216 | 208 |
| 217 ScopedMockUserManagerEnabler mock_user_manager_; | 209 ScopedMockUserManagerEnabler mock_user_manager_; |
| 218 | 210 |
| 219 // Owned by LoginUtilsWrapper. | 211 // Owned by LoginUtilsWrapper. |
| 220 MockLoginUtils* mock_login_utils_; | 212 MockLoginUtils* mock_login_utils_; |
| 221 | 213 |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 325 EXPECT_CALL(*mock_login_display_host_.get(), OnCompleteLogin()) | 317 EXPECT_CALL(*mock_login_display_host_.get(), OnCompleteLogin()) |
| 326 .Times(1); | 318 .Times(1); |
| 327 EXPECT_CALL(*mock_user_manager_.user_manager(), IsCurrentUserNew()) | 319 EXPECT_CALL(*mock_user_manager_.user_manager(), IsCurrentUserNew()) |
| 328 .Times(AnyNumber()) | 320 .Times(AnyNumber()) |
| 329 .WillRepeatedly(Return(true)); | 321 .WillRepeatedly(Return(true)); |
| 330 existing_user_controller()->CompleteLogin(kNewUsername, kPassword); | 322 existing_user_controller()->CompleteLogin(kNewUsername, kPassword); |
| 331 ui_test_utils::RunAllPendingInMessageLoop(); | 323 ui_test_utils::RunAllPendingInMessageLoop(); |
| 332 } | 324 } |
| 333 | 325 |
| 334 } // namespace chromeos | 326 } // namespace chromeos |
| OLD | NEW |