| 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" |
| (...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 585 EXPECT_EQ("ethernet,wifi,cellular", | 585 EXPECT_EQ("ethernet,wifi,cellular", |
| 586 NetworkHandler::Get()->network_state_handler() | 586 NetworkHandler::Get()->network_state_handler() |
| 587 ->GetCheckPortalListForTest()); | 587 ->GetCheckPortalListForTest()); |
| 588 | 588 |
| 589 WaitUntilTimezoneResolved(); | 589 WaitUntilTimezoneResolved(); |
| 590 EXPECT_EQ("America/Anchorage", | 590 EXPECT_EQ("America/Anchorage", |
| 591 base::UTF16ToUTF8(chromeos::system::TimezoneSettings::GetInstance() | 591 base::UTF16ToUTF8(chromeos::system::TimezoneSettings::GetInstance() |
| 592 ->GetCurrentTimezoneID())); | 592 ->GetCurrentTimezoneID())); |
| 593 } | 593 } |
| 594 | 594 |
| 595 // This test verifies that if WizardController fails to check for update before | |
| 596 // the OOBE is marked complete, it goes back the network selection screen and | |
| 597 // thus prevents the user from proceeding to log in. | |
| 598 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, | |
| 599 ControlFlowErrorCheckingForUpdate) { | |
| 600 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); | |
| 601 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | |
| 602 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | |
| 603 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); | |
| 604 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | |
| 605 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); | |
| 606 | |
| 607 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_EULA); | |
| 608 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | |
| 609 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); | |
| 610 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); | |
| 611 OnExit(*mock_eula_screen_, BaseScreenDelegate::EULA_ACCEPTED); | |
| 612 | |
| 613 // Let update screen smooth time process (time = 0ms). | |
| 614 content::RunAllPendingInMessageLoop(); | |
| 615 | |
| 616 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_UPDATE); | |
| 617 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); | |
| 618 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); | |
| 619 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(0); | |
| 620 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); | |
| 621 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition | |
| 622 OnExit(*mock_update_screen_, | |
| 623 BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE); | |
| 624 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); | |
| 625 } | |
| 626 | |
| 627 // This test verifies that if WizardController fails to apply a non-critical | 595 // This test verifies that if WizardController fails to apply a non-critical |
| 628 // update before the OOBE is marked complete, it allows the user to proceed to | 596 // update before the OOBE is marked complete, it allows the user to proceed to |
| 629 // log in. | 597 // log in. |
| 630 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, | 598 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, |
| 631 ControlFlowErrorUpdateNonCriticalUpdate) { | 599 ControlFlowErrorUpdateNonCriticalUpdate) { |
| 632 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); | 600 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); |
| 633 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | 601 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); |
| 634 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 602 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 635 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); | 603 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); |
| 636 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 604 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 792 | 760 |
| 793 void SetUpOnMainThread() override { | 761 void SetUpOnMainThread() override { |
| 794 StartupUtils::MarkOobeCompleted(); // Pretend OOBE was complete. | 762 StartupUtils::MarkOobeCompleted(); // Pretend OOBE was complete. |
| 795 WizardControllerFlowTest::SetUpOnMainThread(); | 763 WizardControllerFlowTest::SetUpOnMainThread(); |
| 796 } | 764 } |
| 797 | 765 |
| 798 private: | 766 private: |
| 799 DISALLOW_COPY_AND_ASSIGN(WizardControllerErrorUpdateAfterCompletedOobeTest); | 767 DISALLOW_COPY_AND_ASSIGN(WizardControllerErrorUpdateAfterCompletedOobeTest); |
| 800 }; | 768 }; |
| 801 | 769 |
| 802 // This test verifies that if WizardController fails to check for update or | 770 // This test verifies that if WizardController fails to apply an update, either |
| 803 // apply an update (either critical or non-critical) after the OOBE is marked | 771 // critical or non-critical, after the OOBE is marked complete, it allows the |
| 804 // complete, it allows the user to proceed to log in. | 772 // user to proceed to log in. |
| 805 IN_PROC_BROWSER_TEST_P(WizardControllerErrorUpdateAfterCompletedOobeTest, | 773 IN_PROC_BROWSER_TEST_P(WizardControllerErrorUpdateAfterCompletedOobeTest, |
| 806 ControlFlowErrorUpdate) { | 774 ControlFlowErrorUpdate) { |
| 807 const BaseScreenDelegate::ExitCodes update_screen_exit_code = GetParam(); | 775 const BaseScreenDelegate::ExitCodes update_screen_exit_code = GetParam(); |
| 808 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); | 776 CheckCurrentScreen(OobeScreen::SCREEN_OOBE_NETWORK); |
| 809 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | 777 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); |
| 810 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 778 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 811 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); | 779 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); |
| 812 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 780 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 813 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); | 781 OnExit(*mock_network_screen_, BaseScreenDelegate::NETWORK_CONNECTED); |
| 814 | 782 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 831 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); | 799 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); |
| 832 OnExit(*mock_auto_enrollment_check_screen_, | 800 OnExit(*mock_auto_enrollment_check_screen_, |
| 833 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); | 801 BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
| 834 | 802 |
| 835 EXPECT_NE(nullptr, ExistingUserController::current_controller()); | 803 EXPECT_NE(nullptr, ExistingUserController::current_controller()); |
| 836 } | 804 } |
| 837 | 805 |
| 838 INSTANTIATE_TEST_CASE_P( | 806 INSTANTIATE_TEST_CASE_P( |
| 839 WizardControllerErrorUpdateAfterCompletedOobe, | 807 WizardControllerErrorUpdateAfterCompletedOobe, |
| 840 WizardControllerErrorUpdateAfterCompletedOobeTest, | 808 WizardControllerErrorUpdateAfterCompletedOobeTest, |
| 841 testing::Values(BaseScreenDelegate::UPDATE_ERROR_CHECKING_FOR_UPDATE, | 809 testing::Values(BaseScreenDelegate::UPDATE_ERROR_UPDATING, |
| 842 BaseScreenDelegate::UPDATE_ERROR_UPDATING, | |
| 843 BaseScreenDelegate::UPDATE_ERROR_UPDATING_CRITICAL_UPDATE)); | 810 BaseScreenDelegate::UPDATE_ERROR_UPDATING_CRITICAL_UPDATE)); |
| 844 | 811 |
| 845 class WizardControllerDeviceStateTest : public WizardControllerFlowTest { | 812 class WizardControllerDeviceStateTest : public WizardControllerFlowTest { |
| 846 protected: | 813 protected: |
| 847 WizardControllerDeviceStateTest() | 814 WizardControllerDeviceStateTest() |
| 848 : install_attributes_(ScopedStubInstallAttributes::CreateUnset()) { | 815 : install_attributes_(ScopedStubInstallAttributes::CreateUnset()) { |
| 849 fake_statistics_provider_.SetMachineStatistic( | 816 fake_statistics_provider_.SetMachineStatistic( |
| 850 system::kSerialNumberKey, "test"); | 817 system::kSerialNumberKey, "test"); |
| 851 fake_statistics_provider_.SetMachineStatistic( | 818 fake_statistics_provider_.SetMachineStatistic( |
| 852 system::kActivateDateKey, "2000-01"); | 819 system::kActivateDateKey, "2000-01"); |
| (...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1343 | 1310 |
| 1344 // TODO(dzhioev): Add tests for controller/host pairing flow. | 1311 // TODO(dzhioev): Add tests for controller/host pairing flow. |
| 1345 // http://crbug.com/375191 | 1312 // http://crbug.com/375191 |
| 1346 | 1313 |
| 1347 // TODO(khmel): Add tests for Arc OptIn flow. | 1314 // TODO(khmel): Add tests for Arc OptIn flow. |
| 1348 // http://crbug.com/651144 | 1315 // http://crbug.com/651144 |
| 1349 static_assert(BaseScreenDelegate::EXIT_CODES_COUNT == 25, | 1316 static_assert(BaseScreenDelegate::EXIT_CODES_COUNT == 25, |
| 1350 "tests for new control flow are missing"); | 1317 "tests for new control flow are missing"); |
| 1351 | 1318 |
| 1352 } // namespace chromeos | 1319 } // namespace chromeos |
| OLD | NEW |