| 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 |