| 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" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 #include "chrome/common/net/gaia/mock_url_fetcher_factory.h" | 25 #include "chrome/common/net/gaia/mock_url_fetcher_factory.h" |
| 26 #include "chrome/test/base/testing_profile.h" | 26 #include "chrome/test/base/testing_profile.h" |
| 27 #include "chrome/test/base/ui_test_utils.h" | 27 #include "chrome/test/base/ui_test_utils.h" |
| 28 #include "chromeos/dbus/mock_dbus_thread_manager.h" | 28 #include "chromeos/dbus/mock_dbus_thread_manager.h" |
| 29 #include "chromeos/dbus/mock_session_manager_client.h" | 29 #include "chromeos/dbus/mock_session_manager_client.h" |
| 30 #include "grit/generated_resources.h" | 30 #include "grit/generated_resources.h" |
| 31 #include "testing/gmock/include/gmock/gmock.h" | 31 #include "testing/gmock/include/gmock/gmock.h" |
| 32 #include "testing/gtest/include/gtest/gtest.h" | 32 #include "testing/gtest/include/gtest/gtest.h" |
| 33 #include "ui/base/l10n/l10n_util.h" | 33 #include "ui/base/l10n/l10n_util.h" |
| 34 | 34 |
| 35 namespace chromeos { | 35 using ::testing::_; |
| 36 | |
| 37 using ::testing::AnyNumber; | 36 using ::testing::AnyNumber; |
| 38 using ::testing::AnyOf; | 37 using ::testing::AnyOf; |
| 39 using ::testing::Invoke; | 38 using ::testing::Invoke; |
| 40 using ::testing::InvokeWithoutArgs; | 39 using ::testing::InvokeWithoutArgs; |
| 41 using ::testing::Return; | 40 using ::testing::Return; |
| 42 using ::testing::ReturnNull; | 41 using ::testing::ReturnNull; |
| 43 using ::testing::WithArg; | 42 using ::testing::WithArg; |
| 44 using ::testing::_; | 43 |
| 44 namespace chromeos { |
| 45 |
| 46 namespace { |
| 45 | 47 |
| 46 const char kUsername[] = "test_user@gmail.com"; | 48 const char kUsername[] = "test_user@gmail.com"; |
| 47 const char kNewUsername[] = "test_new_user@gmail.com"; | 49 const char kNewUsername[] = "test_new_user@gmail.com"; |
| 48 const char kPassword[] = "test_password"; | 50 const char kPassword[] = "test_password"; |
| 49 | 51 |
| 50 class MockLoginDisplay : public LoginDisplay { | 52 class MockLoginDisplay : public LoginDisplay { |
| 51 public: | 53 public: |
| 52 MockLoginDisplay() | 54 MockLoginDisplay() |
| 53 : LoginDisplay(NULL, gfx::Rect()) { | 55 : LoginDisplay(NULL, gfx::Rect()) { |
| 54 } | 56 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 MOCK_METHOD0(CheckForAutoEnrollment, void(void)); | 89 MOCK_METHOD0(CheckForAutoEnrollment, void(void)); |
| 88 MOCK_METHOD2(StartWizard, void(const std::string&, DictionaryValue*)); | 90 MOCK_METHOD2(StartWizard, void(const std::string&, DictionaryValue*)); |
| 89 MOCK_METHOD0(StartSignInScreen, void(void)); | 91 MOCK_METHOD0(StartSignInScreen, void(void)); |
| 90 MOCK_METHOD0(ResumeSignInScreen, void(void)); | 92 MOCK_METHOD0(ResumeSignInScreen, void(void)); |
| 91 MOCK_METHOD0(OnPreferencesChanged, void(void)); | 93 MOCK_METHOD0(OnPreferencesChanged, void(void)); |
| 92 | 94 |
| 93 private: | 95 private: |
| 94 DISALLOW_COPY_AND_ASSIGN(MockLoginDisplayHost); | 96 DISALLOW_COPY_AND_ASSIGN(MockLoginDisplayHost); |
| 95 }; | 97 }; |
| 96 | 98 |
| 99 scoped_refptr<Authenticator> CreateAuthenticator( |
| 100 LoginStatusConsumer* consumer) { |
| 101 return new MockAuthenticator(consumer, kUsername, kPassword); |
| 102 } |
| 103 |
| 104 scoped_refptr<Authenticator> CreateAuthenticatorNewUser( |
| 105 LoginStatusConsumer* consumer) { |
| 106 return new MockAuthenticator(consumer, kNewUsername, kPassword); |
| 107 } |
| 108 |
| 109 } // namespace |
| 110 |
| 97 class ExistingUserControllerTest : public CrosInProcessBrowserTest { | 111 class ExistingUserControllerTest : public CrosInProcessBrowserTest { |
| 98 protected: | 112 protected: |
| 99 ExistingUserControllerTest() | 113 ExistingUserControllerTest() |
| 100 : mock_network_library_(NULL), | 114 : mock_network_library_(NULL), |
| 101 mock_login_display_(NULL), | 115 mock_login_display_(NULL), |
| 102 mock_login_display_host_(NULL), | 116 mock_login_display_host_(NULL), |
| 103 testing_profile_(NULL) { | 117 testing_profile_(NULL) { |
| 104 } | 118 } |
| 105 | 119 |
| 106 ExistingUserController* existing_user_controller() { | 120 ExistingUserController* existing_user_controller() { |
| 107 return ExistingUserController::current_controller(); | 121 return ExistingUserController::current_controller(); |
| 108 } | 122 } |
| 109 | 123 |
| 110 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { | 124 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { |
| 111 MockDBusThreadManager* mock_dbus_thread_manager = | 125 MockDBusThreadManager* mock_dbus_thread_manager = |
| 112 new MockDBusThreadManager; | 126 new MockDBusThreadManager; |
| 113 EXPECT_CALL(*mock_dbus_thread_manager, GetSystemBus()) | 127 EXPECT_CALL(*mock_dbus_thread_manager, GetSystemBus()) |
| 114 .WillRepeatedly(Return(reinterpret_cast<dbus::Bus*>(NULL))); | 128 .WillRepeatedly(Return(reinterpret_cast<dbus::Bus*>(NULL))); |
| 115 DBusThreadManager::InitializeForTesting(mock_dbus_thread_manager); | 129 DBusThreadManager::InitializeForTesting(mock_dbus_thread_manager); |
| 116 CrosInProcessBrowserTest::SetUpInProcessBrowserTestFixture(); | 130 CrosInProcessBrowserTest::SetUpInProcessBrowserTestFixture(); |
| 117 cros_mock_->InitStatusAreaMocks(); | 131 cros_mock_->InitStatusAreaMocks(); |
| 118 cros_mock_->SetStatusAreaMocksExpectations(); | 132 cros_mock_->SetStatusAreaMocksExpectations(); |
| 119 | 133 |
| 120 mock_network_library_ = cros_mock_->mock_network_library(); | 134 mock_network_library_ = cros_mock_->mock_network_library(); |
| 121 EXPECT_CALL(*mock_network_library_, AddUserActionObserver(_)) | 135 EXPECT_CALL(*mock_network_library_, AddUserActionObserver(_)) |
| 122 .Times(AnyNumber()); | 136 .Times(AnyNumber()); |
| 137 EXPECT_CALL(*mock_network_library_, LoadOncNetworks(_, _, _, _)) |
| 138 .WillRepeatedly(Return(true)); |
| 139 |
| 123 MockSessionManagerClient* mock_session_manager_client = | 140 MockSessionManagerClient* mock_session_manager_client = |
| 124 mock_dbus_thread_manager->mock_session_manager_client(); | 141 mock_dbus_thread_manager->mock_session_manager_client(); |
| 125 EXPECT_CALL(*mock_session_manager_client, EmitLoginPromptReady()) | 142 EXPECT_CALL(*mock_session_manager_client, EmitLoginPromptReady()) |
| 126 .Times(1); | 143 .Times(1); |
| 127 EXPECT_CALL(*mock_session_manager_client, RetrieveDevicePolicy(_)) | 144 EXPECT_CALL(*mock_session_manager_client, RetrieveDevicePolicy(_)) |
| 128 .Times(AnyNumber()); | 145 .Times(AnyNumber()); |
| 129 | 146 |
| 130 mock_login_utils_ = new MockLoginUtils(); | 147 mock_login_utils_ = new MockLoginUtils(); |
| 131 LoginUtils::Set(mock_login_utils_); | 148 LoginUtils::Set(mock_login_utils_); |
| 132 EXPECT_CALL(*mock_login_utils_, PrewarmAuthentication()) | 149 EXPECT_CALL(*mock_login_utils_, PrewarmAuthentication()) |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 | 232 |
| 216 // Mock URLFetcher. | 233 // Mock URLFetcher. |
| 217 MockURLFetcherFactory<SuccessFetcher> factory_; | 234 MockURLFetcherFactory<SuccessFetcher> factory_; |
| 218 | 235 |
| 219 base::Callback<void(void)> profile_prepared_cb_; | 236 base::Callback<void(void)> profile_prepared_cb_; |
| 220 | 237 |
| 221 private: | 238 private: |
| 222 DISALLOW_COPY_AND_ASSIGN(ExistingUserControllerTest); | 239 DISALLOW_COPY_AND_ASSIGN(ExistingUserControllerTest); |
| 223 }; | 240 }; |
| 224 | 241 |
| 225 scoped_refptr<Authenticator> CreateAuthenticator( | |
| 226 LoginStatusConsumer* consumer) { | |
| 227 return new MockAuthenticator(consumer, kUsername, kPassword); | |
| 228 } | |
| 229 | |
| 230 scoped_refptr<Authenticator> CreateAuthenticatorNewUser( | |
| 231 LoginStatusConsumer* consumer) { | |
| 232 return new MockAuthenticator(consumer, kNewUsername, kPassword); | |
| 233 } | |
| 234 | |
| 235 IN_PROC_BROWSER_TEST_F(ExistingUserControllerTest, ExistingUserLogin) { | 242 IN_PROC_BROWSER_TEST_F(ExistingUserControllerTest, ExistingUserLogin) { |
| 236 EXPECT_CALL(*mock_login_display_, SetUIEnabled(false)) | 243 EXPECT_CALL(*mock_login_display_, SetUIEnabled(false)) |
| 237 .Times(1); | 244 .Times(1); |
| 238 EXPECT_CALL(*mock_login_utils_, CreateAuthenticator(_)) | 245 EXPECT_CALL(*mock_login_utils_, CreateAuthenticator(_)) |
| 239 .Times(1) | 246 .Times(1) |
| 240 .WillOnce(WithArg<0>(Invoke(CreateAuthenticator))); | 247 .WillOnce(WithArg<0>(Invoke(CreateAuthenticator))); |
| 241 EXPECT_CALL(*mock_login_utils_, | 248 EXPECT_CALL(*mock_login_utils_, |
| 242 PrepareProfile(kUsername, _, kPassword, false, _, _, _)) | 249 PrepareProfile(kUsername, _, kPassword, false, _, _, _)) |
| 243 .Times(1) | 250 .Times(1) |
| 244 .WillOnce(InvokeWithoutArgs(&profile_prepared_cb_, | 251 .WillOnce(InvokeWithoutArgs(&profile_prepared_cb_, |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 304 EXPECT_CALL(*mock_login_display_host_.get(), OnCompleteLogin()) | 311 EXPECT_CALL(*mock_login_display_host_.get(), OnCompleteLogin()) |
| 305 .Times(1); | 312 .Times(1); |
| 306 EXPECT_CALL(*mock_user_manager_.user_manager(), IsCurrentUserNew()) | 313 EXPECT_CALL(*mock_user_manager_.user_manager(), IsCurrentUserNew()) |
| 307 .Times(AnyNumber()) | 314 .Times(AnyNumber()) |
| 308 .WillRepeatedly(Return(true)); | 315 .WillRepeatedly(Return(true)); |
| 309 existing_user_controller()->CompleteLogin(kNewUsername, kPassword); | 316 existing_user_controller()->CompleteLogin(kNewUsername, kPassword); |
| 310 content::RunAllPendingInMessageLoop(); | 317 content::RunAllPendingInMessageLoop(); |
| 311 } | 318 } |
| 312 | 319 |
| 313 } // namespace chromeos | 320 } // namespace chromeos |
| OLD | NEW |