| 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 "chrome/browser/chromeos/login/wizard_controller.h" | 5 #include "chrome/browser/chromeos/login/wizard_controller.h" |
| 6 | 6 |
| 7 #include "ash/common/accessibility_types.h" | 7 #include "ash/common/accessibility_types.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| 11 #include "base/run_loop.h" | 11 #include "base/run_loop.h" |
| 12 #include "base/strings/string_util.h" | 12 #include "base/strings/string_util.h" |
| 13 #include "base/strings/utf_string_conversions.h" | 13 #include "base/strings/utf_string_conversions.h" |
| 14 #include "chrome/browser/browser_process.h" | 14 #include "chrome/browser/browser_process.h" |
| 15 #include "chrome/browser/browser_shutdown.h" | 15 #include "chrome/browser/browser_shutdown.h" |
| 16 #include "chrome/browser/chrome_notification_types.h" | 16 #include "chrome/browser/chrome_notification_types.h" |
| 17 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" | 17 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" |
| 18 #include "chrome/browser/chromeos/base/locale_util.h" | 18 #include "chrome/browser/chromeos/base/locale_util.h" |
| 19 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" | 19 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" |
| 20 #include "chrome/browser/chromeos/login/enrollment/enterprise_enrollment_helper.
h" | 20 #include "chrome/browser/chromeos/login/enrollment/enterprise_enrollment_helper.
h" |
| 21 #include "chrome/browser/chromeos/login/enrollment/mock_auto_enrollment_check_sc
reen.h" | 21 #include "chrome/browser/chromeos/login/enrollment/mock_auto_enrollment_check_sc
reen.h" |
| 22 #include "chrome/browser/chromeos/login/enrollment/mock_enrollment_screen.h" | 22 #include "chrome/browser/chromeos/login/enrollment/mock_enrollment_screen.h" |
| 23 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 23 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
| 24 #include "chrome/browser/chromeos/login/oobe_screen.h" | 24 #include "chrome/browser/chromeos/login/oobe_screen.h" |
| 25 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h" | 25 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h" |
| 26 #include "chrome/browser/chromeos/login/screens/error_screen.h" | 26 #include "chrome/browser/chromeos/login/screens/error_screen.h" |
| 27 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h" | 27 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h" |
| 28 #include "chrome/browser/chromeos/login/screens/mock_device_disabled_screen_acto
r.h" | 28 #include "chrome/browser/chromeos/login/screens/mock_device_disabled_screen_view
.h" |
| 29 #include "chrome/browser/chromeos/login/screens/mock_enable_debugging_screen.h" | 29 #include "chrome/browser/chromeos/login/screens/mock_enable_debugging_screen.h" |
| 30 #include "chrome/browser/chromeos/login/screens/mock_eula_screen.h" | 30 #include "chrome/browser/chromeos/login/screens/mock_eula_screen.h" |
| 31 #include "chrome/browser/chromeos/login/screens/mock_network_screen.h" | 31 #include "chrome/browser/chromeos/login/screens/mock_network_screen.h" |
| 32 #include "chrome/browser/chromeos/login/screens/mock_update_screen.h" | 32 #include "chrome/browser/chromeos/login/screens/mock_update_screen.h" |
| 33 #include "chrome/browser/chromeos/login/screens/mock_wrong_hwid_screen.h" | 33 #include "chrome/browser/chromeos/login/screens/mock_wrong_hwid_screen.h" |
| 34 #include "chrome/browser/chromeos/login/screens/network_screen.h" | 34 #include "chrome/browser/chromeos/login/screens/network_screen.h" |
| 35 #include "chrome/browser/chromeos/login/screens/reset_screen.h" | 35 #include "chrome/browser/chromeos/login/screens/reset_screen.h" |
| 36 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" | 36 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" |
| 37 #include "chrome/browser/chromeos/login/screens/wrong_hwid_screen.h" | 37 #include "chrome/browser/chromeos/login/screens/wrong_hwid_screen.h" |
| 38 #include "chrome/browser/chromeos/login/startup_utils.h" | 38 #include "chrome/browser/chromeos/login/startup_utils.h" |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 193 } | 193 } |
| 194 | 194 |
| 195 } // namespace | 195 } // namespace |
| 196 | 196 |
| 197 using ::testing::_; | 197 using ::testing::_; |
| 198 | 198 |
| 199 template <class T, class H> | 199 template <class T, class H> |
| 200 class MockOutShowHide : public T { | 200 class MockOutShowHide : public T { |
| 201 public: | 201 public: |
| 202 template <class P> explicit MockOutShowHide(P p) : T(p) {} | 202 template <class P> explicit MockOutShowHide(P p) : T(p) {} |
| 203 template <class P> MockOutShowHide(P p, H* actor) | 203 template <class P> |
| 204 : T(p, actor), actor_(actor) {} | 204 MockOutShowHide(P p, H* view) : T(p, view), view_(view) {} |
| 205 template <class P, class Q> | 205 template <class P, class Q> |
| 206 MockOutShowHide(P p, Q q, H* actor) | 206 MockOutShowHide(P p, Q q, H* view) : T(p, q, view), view_(view) {} |
| 207 : T(p, q, actor), actor_(actor) {} | |
| 208 | 207 |
| 209 H* actor() const { return actor_.get(); } | 208 H* view() const { return view_.get(); } |
| 210 | 209 |
| 211 MOCK_METHOD0(Show, void()); | 210 MOCK_METHOD0(Show, void()); |
| 212 MOCK_METHOD0(Hide, void()); | 211 MOCK_METHOD0(Hide, void()); |
| 213 | 212 |
| 214 void RealShow() { | 213 void RealShow() { |
| 215 T::Show(); | 214 T::Show(); |
| 216 } | 215 } |
| 217 | 216 |
| 218 void RealHide() { | 217 void RealHide() { |
| 219 T::Hide(); | 218 T::Hide(); |
| 220 } | 219 } |
| 221 | 220 |
| 222 private: | 221 private: |
| 223 std::unique_ptr<H> actor_; | 222 std::unique_ptr<H> view_; |
| 224 }; | 223 }; |
| 225 | 224 |
| 226 #define MOCK(mock_var, screen_name, mocked_class, actor_class) \ | 225 #define MOCK(mock_var, screen_name, mocked_class, view_class) \ |
| 227 mock_var = new MockOutShowHide<mocked_class, actor_class>( \ | 226 mock_var = new MockOutShowHide<mocked_class, view_class>( \ |
| 228 WizardController::default_controller(), new actor_class); \ | 227 WizardController::default_controller(), new view_class); \ |
| 229 WizardController::default_controller()->screens_[screen_name] = \ | 228 WizardController::default_controller()->screens_[screen_name] = \ |
| 230 make_linked_ptr(mock_var); \ | 229 make_linked_ptr(mock_var); \ |
| 231 EXPECT_CALL(*mock_var, Show()).Times(0); \ | 230 EXPECT_CALL(*mock_var, Show()).Times(0); \ |
| 232 EXPECT_CALL(*mock_var, Hide()).Times(0); | 231 EXPECT_CALL(*mock_var, Hide()).Times(0); |
| 233 | 232 |
| 234 #define MOCK_WITH_DELEGATE(mock_var, screen_name, mocked_class, actor_class) \ | 233 #define MOCK_WITH_DELEGATE(mock_var, screen_name, mocked_class, view_class) \ |
| 235 mock_var = new MockOutShowHide<mocked_class, actor_class>( \ | 234 mock_var = new MockOutShowHide<mocked_class, view_class>( \ |
| 236 WizardController::default_controller(), \ | 235 WizardController::default_controller(), \ |
| 237 WizardController::default_controller(), new actor_class); \ | 236 WizardController::default_controller(), new view_class); \ |
| 238 WizardController::default_controller()->screens_[screen_name] = \ | 237 WizardController::default_controller()->screens_[screen_name] = \ |
| 239 make_linked_ptr(mock_var); \ | 238 make_linked_ptr(mock_var); \ |
| 240 EXPECT_CALL(*mock_var, Show()).Times(0); \ | 239 EXPECT_CALL(*mock_var, Show()).Times(0); \ |
| 241 EXPECT_CALL(*mock_var, Hide()).Times(0); | 240 EXPECT_CALL(*mock_var, Hide()).Times(0); |
| 242 | 241 |
| 243 class WizardControllerTest : public WizardInProcessBrowserTest { | 242 class WizardControllerTest : public WizardInProcessBrowserTest { |
| 244 protected: | 243 protected: |
| 245 WizardControllerTest() | 244 WizardControllerTest() |
| 246 : WizardInProcessBrowserTest(OobeScreen::SCREEN_TEST_NO_WINDOW) {} | 245 : WizardInProcessBrowserTest(OobeScreen::SCREEN_TEST_NO_WINDOW) {} |
| 247 ~WizardControllerTest() override {} | 246 ~WizardControllerTest() override {} |
| 248 | 247 |
| 249 void SetUpOnMainThread() override { | 248 void SetUpOnMainThread() override { |
| 250 AccessibilityManager::Get()-> | 249 AccessibilityManager::Get()-> |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 WizardController::default_controller() | 425 WizardController::default_controller() |
| 427 ->screens_[OobeScreen::SCREEN_OOBE_NETWORK] = mock_network_screen_; | 426 ->screens_[OobeScreen::SCREEN_OOBE_NETWORK] = mock_network_screen_; |
| 428 EXPECT_CALL(*mock_network_screen_, Show()).Times(0); | 427 EXPECT_CALL(*mock_network_screen_, Show()).Times(0); |
| 429 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); | 428 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); |
| 430 | 429 |
| 431 MOCK(mock_update_screen_, OobeScreen::SCREEN_OOBE_UPDATE, MockUpdateScreen, | 430 MOCK(mock_update_screen_, OobeScreen::SCREEN_OOBE_UPDATE, MockUpdateScreen, |
| 432 MockUpdateView); | 431 MockUpdateView); |
| 433 MOCK_WITH_DELEGATE(mock_eula_screen_, OobeScreen::SCREEN_OOBE_EULA, | 432 MOCK_WITH_DELEGATE(mock_eula_screen_, OobeScreen::SCREEN_OOBE_EULA, |
| 434 MockEulaScreen, MockEulaView); | 433 MockEulaScreen, MockEulaView); |
| 435 MOCK(mock_enrollment_screen_, OobeScreen::SCREEN_OOBE_ENROLLMENT, | 434 MOCK(mock_enrollment_screen_, OobeScreen::SCREEN_OOBE_ENROLLMENT, |
| 436 MockEnrollmentScreen, MockEnrollmentScreenActor); | 435 MockEnrollmentScreen, MockEnrollmentScreenView); |
| 437 MOCK(mock_auto_enrollment_check_screen_, | 436 MOCK(mock_auto_enrollment_check_screen_, |
| 438 OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK, | 437 OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK, |
| 439 MockAutoEnrollmentCheckScreen, MockAutoEnrollmentCheckScreenActor); | 438 MockAutoEnrollmentCheckScreen, MockAutoEnrollmentCheckScreenView); |
| 440 MOCK(mock_wrong_hwid_screen_, OobeScreen::SCREEN_WRONG_HWID, | 439 MOCK(mock_wrong_hwid_screen_, OobeScreen::SCREEN_WRONG_HWID, |
| 441 MockWrongHWIDScreen, MockWrongHWIDScreenActor); | 440 MockWrongHWIDScreen, MockWrongHWIDScreenView); |
| 442 MOCK(mock_enable_debugging_screen_, | 441 MOCK(mock_enable_debugging_screen_, |
| 443 OobeScreen::SCREEN_OOBE_ENABLE_DEBUGGING, MockEnableDebuggingScreen, | 442 OobeScreen::SCREEN_OOBE_ENABLE_DEBUGGING, MockEnableDebuggingScreen, |
| 444 MockEnableDebuggingScreenActor); | 443 MockEnableDebuggingScreenView); |
| 445 device_disabled_screen_actor_.reset(new MockDeviceDisabledScreenActor); | 444 device_disabled_screen_view_.reset(new MockDeviceDisabledScreenView); |
| 446 wizard_controller->screens_[OobeScreen::SCREEN_DEVICE_DISABLED] = | 445 wizard_controller->screens_[OobeScreen::SCREEN_DEVICE_DISABLED] = |
| 447 make_linked_ptr(new DeviceDisabledScreen( | 446 make_linked_ptr(new DeviceDisabledScreen( |
| 448 wizard_controller, device_disabled_screen_actor_.get())); | 447 wizard_controller, device_disabled_screen_view_.get())); |
| 449 EXPECT_CALL(*device_disabled_screen_actor_, Show()).Times(0); | 448 EXPECT_CALL(*device_disabled_screen_view_, Show()).Times(0); |
| 450 | 449 |
| 451 // Switch to the initial screen. | 450 // Switch to the initial screen. |
| 452 EXPECT_EQ(NULL, wizard_controller->current_screen()); | 451 EXPECT_EQ(NULL, wizard_controller->current_screen()); |
| 453 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); | 452 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); |
| 454 wizard_controller->AdvanceToScreen(OobeScreen::SCREEN_OOBE_NETWORK); | 453 wizard_controller->AdvanceToScreen(OobeScreen::SCREEN_OOBE_NETWORK); |
| 455 } | 454 } |
| 456 | 455 |
| 457 void TearDownOnMainThread() override { | 456 void TearDownOnMainThread() override { |
| 458 mock_network_screen_.reset(); | 457 mock_network_screen_.reset(); |
| 459 device_disabled_screen_actor_.reset(); | 458 device_disabled_screen_view_.reset(); |
| 460 WizardControllerTest::TearDownOnMainThread(); | 459 WizardControllerTest::TearDownOnMainThread(); |
| 461 } | 460 } |
| 462 | 461 |
| 463 void TearDown() override { | 462 void TearDown() override { |
| 464 if (fallback_fetcher_factory_) { | 463 if (fallback_fetcher_factory_) { |
| 465 fetcher_factory_.reset(); | 464 fetcher_factory_.reset(); |
| 466 net::URLFetcherImpl::set_factory(fallback_fetcher_factory_.get()); | 465 net::URLFetcherImpl::set_factory(fallback_fetcher_factory_.get()); |
| 467 fallback_fetcher_factory_.reset(); | 466 fallback_fetcher_factory_.reset(); |
| 468 } | 467 } |
| 469 } | 468 } |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 513 } | 512 } |
| 514 | 513 |
| 515 void ResetAutoEnrollmentCheckScreen() { | 514 void ResetAutoEnrollmentCheckScreen() { |
| 516 WizardController::default_controller()->screens_.erase( | 515 WizardController::default_controller()->screens_.erase( |
| 517 OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); | 516 OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); |
| 518 } | 517 } |
| 519 | 518 |
| 520 linked_ptr<MockNetworkScreen> mock_network_screen_; | 519 linked_ptr<MockNetworkScreen> mock_network_screen_; |
| 521 MockOutShowHide<MockUpdateScreen, MockUpdateView>* mock_update_screen_; | 520 MockOutShowHide<MockUpdateScreen, MockUpdateView>* mock_update_screen_; |
| 522 MockOutShowHide<MockEulaScreen, MockEulaView>* mock_eula_screen_; | 521 MockOutShowHide<MockEulaScreen, MockEulaView>* mock_eula_screen_; |
| 523 MockOutShowHide<MockEnrollmentScreen, | 522 MockOutShowHide<MockEnrollmentScreen, MockEnrollmentScreenView>* |
| 524 MockEnrollmentScreenActor>* mock_enrollment_screen_; | 523 mock_enrollment_screen_; |
| 525 MockOutShowHide<MockAutoEnrollmentCheckScreen, | 524 MockOutShowHide<MockAutoEnrollmentCheckScreen, |
| 526 MockAutoEnrollmentCheckScreenActor>* mock_auto_enrollment_check_screen_; | 525 MockAutoEnrollmentCheckScreenView>* |
| 527 MockOutShowHide<MockWrongHWIDScreen, MockWrongHWIDScreenActor>* | 526 mock_auto_enrollment_check_screen_; |
| 527 MockOutShowHide<MockWrongHWIDScreen, MockWrongHWIDScreenView>* |
| 528 mock_wrong_hwid_screen_; | 528 mock_wrong_hwid_screen_; |
| 529 MockOutShowHide<MockEnableDebuggingScreen, | 529 MockOutShowHide<MockEnableDebuggingScreen, MockEnableDebuggingScreenView>* |
| 530 MockEnableDebuggingScreenActor>* mock_enable_debugging_screen_; | 530 mock_enable_debugging_screen_; |
| 531 std::unique_ptr<MockDeviceDisabledScreenActor> device_disabled_screen_actor_; | 531 std::unique_ptr<MockDeviceDisabledScreenView> device_disabled_screen_view_; |
| 532 | 532 |
| 533 private: | 533 private: |
| 534 NetworkPortalDetectorTestImpl* network_portal_detector_; | 534 NetworkPortalDetectorTestImpl* network_portal_detector_; |
| 535 | 535 |
| 536 // Use a test factory as a fallback so we don't have to deal with other | 536 // Use a test factory as a fallback so we don't have to deal with other |
| 537 // requests. | 537 // requests. |
| 538 std::unique_ptr<WizardControllerTestURLFetcherFactory> | 538 std::unique_ptr<WizardControllerTestURLFetcherFactory> |
| 539 fallback_fetcher_factory_; | 539 fallback_fetcher_factory_; |
| 540 std::unique_ptr<net::FakeURLFetcherFactory> fetcher_factory_; | 540 std::unique_ptr<net::FakeURLFetcherFactory> fetcher_factory_; |
| 541 | 541 |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 665 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 665 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 666 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); | 666 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); |
| 667 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 667 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 668 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); | 668 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); |
| 669 | 669 |
| 670 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); | 670 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); |
| 671 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 671 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
| 672 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | 672 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); |
| 673 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); | 673 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); |
| 674 WizardController::default_controller()->SkipUpdateEnrollAfterEula(); | 674 WizardController::default_controller()->SkipUpdateEnrollAfterEula(); |
| 675 EXPECT_CALL(*mock_enrollment_screen_->actor(), | 675 EXPECT_CALL(*mock_enrollment_screen_->view(), |
| 676 SetParameters( | 676 SetParameters( |
| 677 mock_enrollment_screen_, | 677 mock_enrollment_screen_, |
| 678 EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL))) | 678 EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL))) |
| 679 .Times(1); | 679 .Times(1); |
| 680 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); | 680 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
| 681 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); | 681 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); |
| 682 content::RunAllPendingInMessageLoop(); | 682 content::RunAllPendingInMessageLoop(); |
| 683 | 683 |
| 684 CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); | 684 CheckCurrentScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK); |
| 685 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); | 685 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 708 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition | 708 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition |
| 709 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_BACK); | 709 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_BACK); |
| 710 | 710 |
| 711 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); | 711 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); |
| 712 } | 712 } |
| 713 | 713 |
| 714 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, | 714 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, |
| 715 ControlFlowEnrollmentCompleted) { | 715 ControlFlowEnrollmentCompleted) { |
| 716 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); | 716 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); |
| 717 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | 717 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); |
| 718 EXPECT_CALL(*mock_enrollment_screen_->actor(), | 718 EXPECT_CALL(*mock_enrollment_screen_->view(), |
| 719 SetParameters( | 719 SetParameters( |
| 720 mock_enrollment_screen_, | 720 mock_enrollment_screen_, |
| 721 EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL))) | 721 EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL))) |
| 722 .Times(1); | 722 .Times(1); |
| 723 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); | 723 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
| 724 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 724 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 725 | 725 |
| 726 WizardController::default_controller()->AdvanceToScreen( | 726 WizardController::default_controller()->AdvanceToScreen( |
| 727 OobeScreen::SCREEN_OOBE_ENROLLMENT); | 727 OobeScreen::SCREEN_OOBE_ENROLLMENT); |
| 728 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); | 728 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 870 // The error screen shows up if there's no auto-enrollment decision. | 870 // The error screen shows up if there's no auto-enrollment decision. |
| 871 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 871 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
| 872 EXPECT_EQ(GetErrorScreen(), | 872 EXPECT_EQ(GetErrorScreen(), |
| 873 WizardController::default_controller()->current_screen()); | 873 WizardController::default_controller()->current_screen()); |
| 874 base::DictionaryValue device_state; | 874 base::DictionaryValue device_state; |
| 875 device_state.SetString(policy::kDeviceStateRestoreMode, | 875 device_state.SetString(policy::kDeviceStateRestoreMode, |
| 876 policy::kDeviceStateRestoreModeReEnrollmentEnforced); | 876 policy::kDeviceStateRestoreModeReEnrollmentEnforced); |
| 877 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, | 877 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, |
| 878 device_state); | 878 device_state); |
| 879 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); | 879 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
| 880 EXPECT_CALL(*mock_enrollment_screen_->actor(), | 880 EXPECT_CALL(*mock_enrollment_screen_->view(), |
| 881 SetParameters(mock_enrollment_screen_, | 881 SetParameters(mock_enrollment_screen_, |
| 882 EnrollmentModeMatches( | 882 EnrollmentModeMatches( |
| 883 policy::EnrollmentConfig::MODE_SERVER_FORCED))) | 883 policy::EnrollmentConfig::MODE_SERVER_FORCED))) |
| 884 .Times(1); | 884 .Times(1); |
| 885 OnExit(*mock_auto_enrollment_check_screen_, | 885 OnExit(*mock_auto_enrollment_check_screen_, |
| 886 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); | 886 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
| 887 | 887 |
| 888 ResetAutoEnrollmentCheckScreen(); | 888 ResetAutoEnrollmentCheckScreen(); |
| 889 | 889 |
| 890 // Make sure enterprise enrollment page shows up. | 890 // Make sure enterprise enrollment page shows up. |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 959 // The error screen shows up if device state could not be retrieved. | 959 // The error screen shows up if device state could not be retrieved. |
| 960 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 960 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
| 961 EXPECT_EQ(GetErrorScreen(), | 961 EXPECT_EQ(GetErrorScreen(), |
| 962 WizardController::default_controller()->current_screen()); | 962 WizardController::default_controller()->current_screen()); |
| 963 base::DictionaryValue device_state; | 963 base::DictionaryValue device_state; |
| 964 device_state.SetString(policy::kDeviceStateRestoreMode, | 964 device_state.SetString(policy::kDeviceStateRestoreMode, |
| 965 policy::kDeviceStateRestoreModeDisabled); | 965 policy::kDeviceStateRestoreModeDisabled); |
| 966 device_state.SetString(policy::kDeviceStateDisabledMessage, kDisabledMessage); | 966 device_state.SetString(policy::kDeviceStateDisabledMessage, kDisabledMessage); |
| 967 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, | 967 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, |
| 968 device_state); | 968 device_state); |
| 969 EXPECT_CALL(*device_disabled_screen_actor_, | 969 EXPECT_CALL(*device_disabled_screen_view_, UpdateMessage(kDisabledMessage)) |
| 970 UpdateMessage(kDisabledMessage)).Times(1); | 970 .Times(1); |
| 971 EXPECT_CALL(*device_disabled_screen_actor_, Show()).Times(1); | 971 EXPECT_CALL(*device_disabled_screen_view_, Show()).Times(1); |
| 972 OnExit(*mock_auto_enrollment_check_screen_, | 972 OnExit(*mock_auto_enrollment_check_screen_, |
| 973 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); | 973 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
| 974 | 974 |
| 975 ResetAutoEnrollmentCheckScreen(); | 975 ResetAutoEnrollmentCheckScreen(); |
| 976 | 976 |
| 977 // Make sure the device disabled screen is shown. | 977 // Make sure the device disabled screen is shown. |
| 978 CheckCurrentScreen(OobeScreen::SCREEN_DEVICE_DISABLED); | 978 CheckCurrentScreen(OobeScreen::SCREEN_DEVICE_DISABLED); |
| 979 | 979 |
| 980 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 980 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
| 981 } | 981 } |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1105 switches::kAppOemManifestFile, | 1105 switches::kAppOemManifestFile, |
| 1106 test_data_dir.AppendASCII("kiosk_manifest.json")); | 1106 test_data_dir.AppendASCII("kiosk_manifest.json")); |
| 1107 } | 1107 } |
| 1108 | 1108 |
| 1109 private: | 1109 private: |
| 1110 DISALLOW_COPY_AND_ASSIGN(WizardControllerKioskFlowTest); | 1110 DISALLOW_COPY_AND_ASSIGN(WizardControllerKioskFlowTest); |
| 1111 }; | 1111 }; |
| 1112 | 1112 |
| 1113 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest, | 1113 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest, |
| 1114 ControlFlowKioskForcedEnrollment) { | 1114 ControlFlowKioskForcedEnrollment) { |
| 1115 EXPECT_CALL(*mock_enrollment_screen_->actor(), | 1115 EXPECT_CALL(*mock_enrollment_screen_->view(), |
| 1116 SetParameters(mock_enrollment_screen_, | 1116 SetParameters(mock_enrollment_screen_, |
| 1117 EnrollmentModeMatches( | 1117 EnrollmentModeMatches( |
| 1118 policy::EnrollmentConfig::MODE_LOCAL_FORCED))) | 1118 policy::EnrollmentConfig::MODE_LOCAL_FORCED))) |
| 1119 .Times(1); | 1119 .Times(1); |
| 1120 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); | 1120 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); |
| 1121 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 1121 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 1122 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 1122 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 1123 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); | 1123 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); |
| 1124 | 1124 |
| 1125 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); | 1125 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 1147 // Make sure enterprise enrollment page shows up right after update screen. | 1147 // Make sure enterprise enrollment page shows up right after update screen. |
| 1148 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); | 1148 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); |
| 1149 OnExit(*mock_enrollment_screen_, | 1149 OnExit(*mock_enrollment_screen_, |
| 1150 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED); | 1150 BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED); |
| 1151 | 1151 |
| 1152 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); | 1152 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); |
| 1153 } | 1153 } |
| 1154 | 1154 |
| 1155 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest, | 1155 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest, |
| 1156 ControlFlowEnrollmentBack) { | 1156 ControlFlowEnrollmentBack) { |
| 1157 EXPECT_CALL(*mock_enrollment_screen_->actor(), | 1157 EXPECT_CALL(*mock_enrollment_screen_->view(), |
| 1158 SetParameters(mock_enrollment_screen_, | 1158 SetParameters(mock_enrollment_screen_, |
| 1159 EnrollmentModeMatches( | 1159 EnrollmentModeMatches( |
| 1160 policy::EnrollmentConfig::MODE_LOCAL_FORCED))) | 1160 policy::EnrollmentConfig::MODE_LOCAL_FORCED))) |
| 1161 .Times(1); | 1161 .Times(1); |
| 1162 | 1162 |
| 1163 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); | 1163 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); |
| 1164 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 1164 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 1165 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 1165 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 1166 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); | 1166 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); |
| 1167 | 1167 |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1249 // Make sure that OOBE is run as an "official" build. | 1249 // Make sure that OOBE is run as an "official" build. |
| 1250 WizardController::default_controller()->is_official_build_ = true; | 1250 WizardController::default_controller()->is_official_build_ = true; |
| 1251 | 1251 |
| 1252 // Clear portal list (as it is by default in OOBE). | 1252 // Clear portal list (as it is by default in OOBE). |
| 1253 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); | 1253 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); |
| 1254 | 1254 |
| 1255 // Set up the mocks for all screens. | 1255 // Set up the mocks for all screens. |
| 1256 MOCK_WITH_DELEGATE(mock_network_screen_, OobeScreen::SCREEN_OOBE_NETWORK, | 1256 MOCK_WITH_DELEGATE(mock_network_screen_, OobeScreen::SCREEN_OOBE_NETWORK, |
| 1257 MockNetworkScreen, MockNetworkView); | 1257 MockNetworkScreen, MockNetworkView); |
| 1258 MOCK(mock_enrollment_screen_, OobeScreen::SCREEN_OOBE_ENROLLMENT, | 1258 MOCK(mock_enrollment_screen_, OobeScreen::SCREEN_OOBE_ENROLLMENT, |
| 1259 MockEnrollmentScreen, MockEnrollmentScreenActor); | 1259 MockEnrollmentScreen, MockEnrollmentScreenView); |
| 1260 } | 1260 } |
| 1261 | 1261 |
| 1262 void OnExit(BaseScreen& screen, BaseScreenDelegate::ExitCodes exit_code) { | 1262 void OnExit(BaseScreen& screen, BaseScreenDelegate::ExitCodes exit_code) { |
| 1263 WizardController::default_controller()->OnExit(screen, exit_code, | 1263 WizardController::default_controller()->OnExit(screen, exit_code, |
| 1264 nullptr /* context */); | 1264 nullptr /* context */); |
| 1265 } | 1265 } |
| 1266 | 1266 |
| 1267 OobeScreen GetFirstScreen() { | 1267 OobeScreen GetFirstScreen() { |
| 1268 return WizardController::default_controller()->first_screen(); | 1268 return WizardController::default_controller()->first_screen(); |
| 1269 } | 1269 } |
| 1270 | 1270 |
| 1271 MockOutShowHide<MockNetworkScreen, MockNetworkView>* mock_network_screen_; | 1271 MockOutShowHide<MockNetworkScreen, MockNetworkView>* mock_network_screen_; |
| 1272 MockOutShowHide<MockEnrollmentScreen, | 1272 MockOutShowHide<MockEnrollmentScreen, MockEnrollmentScreenView>* |
| 1273 MockEnrollmentScreenActor>* mock_enrollment_screen_; | 1273 mock_enrollment_screen_; |
| 1274 | 1274 |
| 1275 private: | 1275 private: |
| 1276 DISALLOW_COPY_AND_ASSIGN(WizardControllerOobeResumeTest); | 1276 DISALLOW_COPY_AND_ASSIGN(WizardControllerOobeResumeTest); |
| 1277 }; | 1277 }; |
| 1278 | 1278 |
| 1279 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest, | 1279 IN_PROC_BROWSER_TEST_F(WizardControllerOobeResumeTest, |
| 1280 PRE_ControlFlowResumeInterruptedOobe) { | 1280 PRE_ControlFlowResumeInterruptedOobe) { |
| 1281 // Switch to the initial screen. | 1281 // Switch to the initial screen. |
| 1282 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); | 1282 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); |
| 1283 WizardController::default_controller()->AdvanceToScreen( | 1283 WizardController::default_controller()->AdvanceToScreen( |
| 1284 OobeScreen::SCREEN_OOBE_NETWORK); | 1284 OobeScreen::SCREEN_OOBE_NETWORK); |
| 1285 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); | 1285 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); |
| 1286 EXPECT_CALL(*mock_enrollment_screen_->actor(), | 1286 EXPECT_CALL(*mock_enrollment_screen_->view(), |
| 1287 SetParameters( | 1287 SetParameters( |
| 1288 mock_enrollment_screen_, | 1288 mock_enrollment_screen_, |
| 1289 EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL))) | 1289 EnrollmentModeMatches(policy::EnrollmentConfig::MODE_MANUAL))) |
| 1290 .Times(1); | 1290 .Times(1); |
| 1291 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); | 1291 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
| 1292 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 1292 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 1293 | 1293 |
| 1294 WizardController::default_controller()->AdvanceToScreen( | 1294 WizardController::default_controller()->AdvanceToScreen( |
| 1295 OobeScreen::SCREEN_OOBE_ENROLLMENT); | 1295 OobeScreen::SCREEN_OOBE_ENROLLMENT); |
| 1296 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); | 1296 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT); |
| (...skipping 13 matching lines...) Expand all Loading... |
| 1310 | 1310 |
| 1311 // TODO(dzhioev): Add tests for controller/host pairing flow. | 1311 // TODO(dzhioev): Add tests for controller/host pairing flow. |
| 1312 // http://crbug.com/375191 | 1312 // http://crbug.com/375191 |
| 1313 | 1313 |
| 1314 // TODO(khmel): Add tests for ARC OptIn flow. | 1314 // TODO(khmel): Add tests for ARC OptIn flow. |
| 1315 // http://crbug.com/651144 | 1315 // http://crbug.com/651144 |
| 1316 static_assert(BaseScreenDelegate::EXIT_CODES_COUNT == 25, | 1316 static_assert(BaseScreenDelegate::EXIT_CODES_COUNT == 25, |
| 1317 "tests for new control flow are missing"); | 1317 "tests for new control flow are missing"); |
| 1318 | 1318 |
| 1319 } // namespace chromeos | 1319 } // namespace chromeos |
| OLD | NEW |