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 |