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 |