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/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
7 #include "chrome/browser/browser_process.h" | 7 #include "chrome/browser/browser_process.h" |
8 #include "chrome/browser/browser_shutdown.h" | 8 #include "chrome/browser/browser_shutdown.h" |
| 9 #include "chrome/browser/chromeos/cros/cros_library.h" |
| 10 #include "chrome/browser/chromeos/cros/network_library.h" |
9 #include "chrome/browser/chromeos/login/base_login_display_host.h" | 11 #include "chrome/browser/chromeos/login/base_login_display_host.h" |
10 #include "chrome/browser/chromeos/login/enrollment/enterprise_enrollment_screen.
h" | 12 #include "chrome/browser/chromeos/login/enrollment/enterprise_enrollment_screen.
h" |
11 #include "chrome/browser/chromeos/login/enrollment/mock_enterprise_enrollment_sc
reen.h" | 13 #include "chrome/browser/chromeos/login/enrollment/mock_enterprise_enrollment_sc
reen.h" |
12 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 14 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
13 #include "chrome/browser/chromeos/login/language_switch_menu.h" | 15 #include "chrome/browser/chromeos/login/language_switch_menu.h" |
14 #include "chrome/browser/chromeos/login/mock_authenticator.h" | 16 #include "chrome/browser/chromeos/login/mock_authenticator.h" |
15 #include "chrome/browser/chromeos/login/mock_eula_screen.h" | 17 #include "chrome/browser/chromeos/login/mock_eula_screen.h" |
16 #include "chrome/browser/chromeos/login/mock_login_status_consumer.h" | 18 #include "chrome/browser/chromeos/login/mock_login_status_consumer.h" |
17 #include "chrome/browser/chromeos/login/mock_network_screen.h" | 19 #include "chrome/browser/chromeos/login/mock_network_screen.h" |
18 #include "chrome/browser/chromeos/login/mock_update_screen.h" | 20 #include "chrome/browser/chromeos/login/mock_update_screen.h" |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 class WizardControllerFlowTest : public WizardControllerTest { | 105 class WizardControllerFlowTest : public WizardControllerTest { |
104 protected: | 106 protected: |
105 WizardControllerFlowTest() {} | 107 WizardControllerFlowTest() {} |
106 // Overriden from InProcessBrowserTest: | 108 // Overriden from InProcessBrowserTest: |
107 virtual Browser* CreateBrowser(Profile* profile) { | 109 virtual Browser* CreateBrowser(Profile* profile) { |
108 Browser* ret = WizardControllerTest::CreateBrowser(profile); | 110 Browser* ret = WizardControllerTest::CreateBrowser(profile); |
109 | 111 |
110 // Make sure that OOBE is run as an "official" build. | 112 // Make sure that OOBE is run as an "official" build. |
111 WizardController::default_controller()->is_official_build_ = true; | 113 WizardController::default_controller()->is_official_build_ = true; |
112 | 114 |
| 115 // Clear portal list (as it is by default in OOBE). |
| 116 CrosLibrary::Get()->GetNetworkLibrary()->SetCheckPortalList(""); |
| 117 |
113 // Set up the mocks for all screens. | 118 // Set up the mocks for all screens. |
114 MOCK(mock_network_screen_, network_screen_, | 119 MOCK(mock_network_screen_, network_screen_, |
115 MockNetworkScreen, MockNetworkScreenActor); | 120 MockNetworkScreen, MockNetworkScreenActor); |
116 MOCK(mock_update_screen_, update_screen_, | 121 MOCK(mock_update_screen_, update_screen_, |
117 MockUpdateScreen, MockUpdateScreenActor); | 122 MockUpdateScreen, MockUpdateScreenActor); |
118 MOCK(mock_eula_screen_, eula_screen_, MockEulaScreen, MockEulaScreenActor); | 123 MOCK(mock_eula_screen_, eula_screen_, MockEulaScreen, MockEulaScreenActor); |
119 MOCK(mock_enterprise_enrollment_screen_, enterprise_enrollment_screen_, | 124 MOCK(mock_enterprise_enrollment_screen_, enterprise_enrollment_screen_, |
120 MockEnterpriseEnrollmentScreen, MockEnterpriseEnrollmentScreenActor); | 125 MockEnterpriseEnrollmentScreen, MockEnterpriseEnrollmentScreenActor); |
121 | 126 |
122 // Switch to the initial screen. | 127 // Switch to the initial screen. |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 // Let update screen smooth time process (time = 0ms). | 165 // Let update screen smooth time process (time = 0ms). |
161 ui_test_utils::RunAllPendingInMessageLoop(); | 166 ui_test_utils::RunAllPendingInMessageLoop(); |
162 | 167 |
163 EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), | 168 EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), |
164 WizardController::default_controller()->current_screen()); | 169 WizardController::default_controller()->current_screen()); |
165 EXPECT_CALL(*mock_update_screen_, Hide()).Times(0); | 170 EXPECT_CALL(*mock_update_screen_, Hide()).Times(0); |
166 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); | 171 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); |
167 OnExit(ScreenObserver::UPDATE_INSTALLED); | 172 OnExit(ScreenObserver::UPDATE_INSTALLED); |
168 | 173 |
169 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); | 174 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
| 175 EXPECT_EQ("ethernet,wifi,cellular", |
| 176 CrosLibrary::Get()->GetNetworkLibrary()->GetCheckPortalList()); |
170 } | 177 } |
171 | 178 |
172 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { | 179 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { |
173 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), | 180 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), |
174 WizardController::default_controller()->current_screen()); | 181 WizardController::default_controller()->current_screen()); |
175 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0); | 182 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0); |
176 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 183 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
177 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); | 184 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); |
178 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 185 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
179 OnExit(ScreenObserver::NETWORK_CONNECTED); | 186 OnExit(ScreenObserver::NETWORK_CONNECTED); |
(...skipping 10 matching lines...) Expand all Loading... |
190 EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), | 197 EXPECT_EQ(WizardController::default_controller()->GetUpdateScreen(), |
191 WizardController::default_controller()->current_screen()); | 198 WizardController::default_controller()->current_screen()); |
192 EXPECT_CALL(*mock_update_screen_, Hide()).Times(0); | 199 EXPECT_CALL(*mock_update_screen_, Hide()).Times(0); |
193 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); | 200 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); |
194 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(0); // last transition | 201 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(0); // last transition |
195 OnExit(ScreenObserver::UPDATE_ERROR_UPDATING); | 202 OnExit(ScreenObserver::UPDATE_ERROR_UPDATING); |
196 | 203 |
197 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); | 204 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
198 } | 205 } |
199 | 206 |
| 207 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowSkipUpdateEnroll) { |
| 208 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), |
| 209 WizardController::default_controller()->current_screen()); |
| 210 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0); |
| 211 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 212 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); |
| 213 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 214 OnExit(ScreenObserver::NETWORK_CONNECTED); |
| 215 |
| 216 EXPECT_EQ(WizardController::default_controller()->GetEulaScreen(), |
| 217 WizardController::default_controller()->current_screen()); |
| 218 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
| 219 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0); |
| 220 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); |
| 221 WizardController::default_controller()->SkipUpdateEnrollAfterEula(); |
| 222 EXPECT_CALL(*mock_enterprise_enrollment_screen_, Show()).Times(1); |
| 223 EXPECT_CALL(*mock_enterprise_enrollment_screen_, Hide()).Times(0); |
| 224 OnExit(ScreenObserver::EULA_ACCEPTED); |
| 225 |
| 226 EXPECT_EQ(WizardController::default_controller()-> |
| 227 GetEnterpriseEnrollmentScreen(), |
| 228 WizardController::default_controller()->current_screen()); |
| 229 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); |
| 230 EXPECT_EQ("ethernet,wifi,cellular", |
| 231 CrosLibrary::Get()->GetNetworkLibrary()->GetCheckPortalList()); |
| 232 } |
| 233 |
200 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) { | 234 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) { |
201 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), | 235 EXPECT_EQ(WizardController::default_controller()->GetNetworkScreen(), |
202 WizardController::default_controller()->current_screen()); | 236 WizardController::default_controller()->current_screen()); |
203 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0); | 237 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0); |
204 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 238 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
205 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 239 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
206 OnExit(ScreenObserver::NETWORK_CONNECTED); | 240 OnExit(ScreenObserver::NETWORK_CONNECTED); |
207 | 241 |
208 EXPECT_EQ(WizardController::default_controller()->GetEulaScreen(), | 242 EXPECT_EQ(WizardController::default_controller()->GetEulaScreen(), |
209 WizardController::default_controller()->current_screen()); | 243 WizardController::default_controller()->current_screen()); |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 // Run the tasks posted to complete the login: | 314 // Run the tasks posted to complete the login: |
281 MessageLoop::current()->RunAllPending(); | 315 MessageLoop::current()->RunAllPending(); |
282 } | 316 } |
283 | 317 |
284 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 | 318 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 |
285 | 319 |
286 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 15, | 320 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 15, |
287 add_tests_for_new_control_flow_you_just_introduced); | 321 add_tests_for_new_control_flow_you_just_introduced); |
288 | 322 |
289 } // namespace chromeos | 323 } // namespace chromeos |
OLD | NEW |