| 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 "base/basictypes.h" | 7 #include "base/basictypes.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/path_service.h" | 10 #include "base/path_service.h" |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 233 WizardController::kTestNoScreenName) {} | 233 WizardController::kTestNoScreenName) {} |
| 234 virtual ~WizardControllerTest() {} | 234 virtual ~WizardControllerTest() {} |
| 235 | 235 |
| 236 virtual void SetUpOnMainThread() override { | 236 virtual void SetUpOnMainThread() override { |
| 237 AccessibilityManager::Get()-> | 237 AccessibilityManager::Get()-> |
| 238 SetProfileForTest(ProfileHelper::GetSigninProfile()); | 238 SetProfileForTest(ProfileHelper::GetSigninProfile()); |
| 239 WizardInProcessBrowserTest::SetUpOnMainThread(); | 239 WizardInProcessBrowserTest::SetUpOnMainThread(); |
| 240 } | 240 } |
| 241 | 241 |
| 242 ErrorScreen* GetErrorScreen() { | 242 ErrorScreen* GetErrorScreen() { |
| 243 return static_cast<ScreenObserver*>(WizardController::default_controller()) | 243 return static_cast<BaseScreenDelegate*>( |
| 244 ->GetErrorScreen(); | 244 WizardController::default_controller())->GetErrorScreen(); |
| 245 } | 245 } |
| 246 | 246 |
| 247 content::WebContents* GetWebContents() { | 247 content::WebContents* GetWebContents() { |
| 248 LoginDisplayHostImpl* host = static_cast<LoginDisplayHostImpl*>( | 248 LoginDisplayHostImpl* host = static_cast<LoginDisplayHostImpl*>( |
| 249 LoginDisplayHostImpl::default_host()); | 249 LoginDisplayHostImpl::default_host()); |
| 250 if (!host) | 250 if (!host) |
| 251 return NULL; | 251 return NULL; |
| 252 WebUILoginView* webui_login_view = host->GetWebUILoginView(); | 252 WebUILoginView* webui_login_view = host->GetWebUILoginView(); |
| 253 if (!webui_login_view) | 253 if (!webui_login_view) |
| 254 return NULL; | 254 return NULL; |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 468 const NetworkState* default_network = | 468 const NetworkState* default_network = |
| 469 NetworkHandler::Get()->network_state_handler()->DefaultNetwork(); | 469 NetworkHandler::Get()->network_state_handler()->DefaultNetwork(); |
| 470 | 470 |
| 471 network_portal_detector_->SetDefaultNetworkForTesting( | 471 network_portal_detector_->SetDefaultNetworkForTesting( |
| 472 default_network->guid()); | 472 default_network->guid()); |
| 473 network_portal_detector_->SetDetectionResultsForTesting( | 473 network_portal_detector_->SetDetectionResultsForTesting( |
| 474 default_network->guid(), | 474 default_network->guid(), |
| 475 online_state); | 475 online_state); |
| 476 } | 476 } |
| 477 | 477 |
| 478 void OnExit(ScreenObserver::ExitCodes exit_code) { | 478 void OnExit(BaseScreenDelegate::ExitCodes exit_code) { |
| 479 WizardController::default_controller()->OnExit(exit_code); | 479 WizardController::default_controller()->OnExit(exit_code); |
| 480 } | 480 } |
| 481 | 481 |
| 482 chromeos::SimpleGeolocationProvider* GetGeolocationProvider() { | 482 chromeos::SimpleGeolocationProvider* GetGeolocationProvider() { |
| 483 return WizardController::default_controller()->geolocation_provider_.get(); | 483 return WizardController::default_controller()->geolocation_provider_.get(); |
| 484 } | 484 } |
| 485 | 485 |
| 486 void WaitUntilTimezoneResolved() { | 486 void WaitUntilTimezoneResolved() { |
| 487 scoped_ptr<TimeZoneTestRunner> runner(new TimeZoneTestRunner); | 487 scoped_ptr<TimeZoneTestRunner> runner(new TimeZoneTestRunner); |
| 488 if (!WizardController::default_controller() | 488 if (!WizardController::default_controller() |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); | 524 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); |
| 525 CheckCurrentScreen(WizardController::kNetworkScreenName); | 525 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 526 | 526 |
| 527 WaitUntilJSIsReady(); | 527 WaitUntilJSIsReady(); |
| 528 | 528 |
| 529 // Check visibility of the header bar. | 529 // Check visibility of the header bar. |
| 530 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden")); | 530 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden")); |
| 531 | 531 |
| 532 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 532 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 533 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 533 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 534 OnExit(ScreenObserver::NETWORK_CONNECTED); | 534 OnExit(BaseScreenDelegate::NETWORK_CONNECTED); |
| 535 | 535 |
| 536 CheckCurrentScreen(WizardController::kEulaScreenName); | 536 CheckCurrentScreen(WizardController::kEulaScreenName); |
| 537 | 537 |
| 538 // Header bar should still be visible. | 538 // Header bar should still be visible. |
| 539 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden")); | 539 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden")); |
| 540 | 540 |
| 541 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 541 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
| 542 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); | 542 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); |
| 543 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); | 543 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); |
| 544 // Enable TimeZone resolve | 544 // Enable TimeZone resolve |
| 545 InitTimezoneResolver(); | 545 InitTimezoneResolver(); |
| 546 OnExit(ScreenObserver::EULA_ACCEPTED); | 546 OnExit(BaseScreenDelegate::EULA_ACCEPTED); |
| 547 EXPECT_TRUE(GetGeolocationProvider()); | 547 EXPECT_TRUE(GetGeolocationProvider()); |
| 548 | 548 |
| 549 // Let update screen smooth time process (time = 0ms). | 549 // Let update screen smooth time process (time = 0ms). |
| 550 content::RunAllPendingInMessageLoop(); | 550 content::RunAllPendingInMessageLoop(); |
| 551 | 551 |
| 552 CheckCurrentScreen(WizardController::kUpdateScreenName); | 552 CheckCurrentScreen(WizardController::kUpdateScreenName); |
| 553 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); | 553 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
| 554 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); | 554 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
| 555 OnExit(ScreenObserver::UPDATE_INSTALLED); | 555 OnExit(BaseScreenDelegate::UPDATE_INSTALLED); |
| 556 | 556 |
| 557 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); | 557 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); |
| 558 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); | 558 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); |
| 559 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); | 559 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); |
| 560 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); | 560 OnExit(BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
| 561 | 561 |
| 562 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); | 562 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
| 563 EXPECT_EQ("ethernet,wifi,cellular", | 563 EXPECT_EQ("ethernet,wifi,cellular", |
| 564 NetworkHandler::Get()->network_state_handler() | 564 NetworkHandler::Get()->network_state_handler() |
| 565 ->GetCheckPortalListForTest()); | 565 ->GetCheckPortalListForTest()); |
| 566 | 566 |
| 567 WaitUntilTimezoneResolved(); | 567 WaitUntilTimezoneResolved(); |
| 568 EXPECT_EQ("America/Anchorage", | 568 EXPECT_EQ("America/Anchorage", |
| 569 base::UTF16ToUTF8(chromeos::system::TimezoneSettings::GetInstance() | 569 base::UTF16ToUTF8(chromeos::system::TimezoneSettings::GetInstance() |
| 570 ->GetCurrentTimezoneID())); | 570 ->GetCurrentTimezoneID())); |
| 571 } | 571 } |
| 572 | 572 |
| 573 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { | 573 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { |
| 574 CheckCurrentScreen(WizardController::kNetworkScreenName); | 574 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 575 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | 575 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); |
| 576 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 576 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 577 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); | 577 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); |
| 578 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 578 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 579 OnExit(ScreenObserver::NETWORK_CONNECTED); | 579 OnExit(BaseScreenDelegate::NETWORK_CONNECTED); |
| 580 | 580 |
| 581 CheckCurrentScreen(WizardController::kEulaScreenName); | 581 CheckCurrentScreen(WizardController::kEulaScreenName); |
| 582 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 582 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
| 583 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); | 583 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); |
| 584 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); | 584 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); |
| 585 OnExit(ScreenObserver::EULA_ACCEPTED); | 585 OnExit(BaseScreenDelegate::EULA_ACCEPTED); |
| 586 | 586 |
| 587 // Let update screen smooth time process (time = 0ms). | 587 // Let update screen smooth time process (time = 0ms). |
| 588 content::RunAllPendingInMessageLoop(); | 588 content::RunAllPendingInMessageLoop(); |
| 589 | 589 |
| 590 CheckCurrentScreen(WizardController::kUpdateScreenName); | 590 CheckCurrentScreen(WizardController::kUpdateScreenName); |
| 591 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); | 591 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
| 592 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); | 592 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
| 593 OnExit(ScreenObserver::UPDATE_ERROR_UPDATING); | 593 OnExit(BaseScreenDelegate::UPDATE_ERROR_UPDATING); |
| 594 | 594 |
| 595 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); | 595 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); |
| 596 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); | 596 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); |
| 597 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); | 597 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); |
| 598 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); | 598 OnExit(BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
| 599 | 599 |
| 600 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); | 600 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
| 601 } | 601 } |
| 602 | 602 |
| 603 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowSkipUpdateEnroll) { | 603 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowSkipUpdateEnroll) { |
| 604 CheckCurrentScreen(WizardController::kNetworkScreenName); | 604 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 605 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | 605 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); |
| 606 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 606 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 607 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); | 607 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); |
| 608 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 608 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 609 OnExit(ScreenObserver::NETWORK_CONNECTED); | 609 OnExit(BaseScreenDelegate::NETWORK_CONNECTED); |
| 610 | 610 |
| 611 CheckCurrentScreen(WizardController::kEulaScreenName); | 611 CheckCurrentScreen(WizardController::kEulaScreenName); |
| 612 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 612 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
| 613 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | 613 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); |
| 614 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); | 614 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); |
| 615 WizardController::default_controller()->SkipUpdateEnrollAfterEula(); | 615 WizardController::default_controller()->SkipUpdateEnrollAfterEula(); |
| 616 EXPECT_CALL(*mock_enrollment_screen_->actor(), | 616 EXPECT_CALL(*mock_enrollment_screen_->actor(), |
| 617 SetParameters(mock_enrollment_screen_, | 617 SetParameters(mock_enrollment_screen_, |
| 618 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL, | 618 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL, |
| 619 "")) | 619 "")) |
| 620 .Times(1); | 620 .Times(1); |
| 621 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); | 621 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
| 622 OnExit(ScreenObserver::EULA_ACCEPTED); | 622 OnExit(BaseScreenDelegate::EULA_ACCEPTED); |
| 623 content::RunAllPendingInMessageLoop(); | 623 content::RunAllPendingInMessageLoop(); |
| 624 | 624 |
| 625 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); | 625 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); |
| 626 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); | 626 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); |
| 627 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); | 627 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
| 628 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(0); | 628 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(0); |
| 629 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); | 629 OnExit(BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
| 630 content::RunAllPendingInMessageLoop(); | 630 content::RunAllPendingInMessageLoop(); |
| 631 | 631 |
| 632 CheckCurrentScreen(WizardController::kEnrollmentScreenName); | 632 CheckCurrentScreen(WizardController::kEnrollmentScreenName); |
| 633 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); | 633 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); |
| 634 EXPECT_EQ("ethernet,wifi,cellular", | 634 EXPECT_EQ("ethernet,wifi,cellular", |
| 635 NetworkHandler::Get()->network_state_handler() | 635 NetworkHandler::Get()->network_state_handler() |
| 636 ->GetCheckPortalListForTest()); | 636 ->GetCheckPortalListForTest()); |
| 637 } | 637 } |
| 638 | 638 |
| 639 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) { | 639 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) { |
| 640 CheckCurrentScreen(WizardController::kNetworkScreenName); | 640 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 641 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | 641 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); |
| 642 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 642 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 643 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 643 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 644 OnExit(ScreenObserver::NETWORK_CONNECTED); | 644 OnExit(BaseScreenDelegate::NETWORK_CONNECTED); |
| 645 | 645 |
| 646 CheckCurrentScreen(WizardController::kEulaScreenName); | 646 CheckCurrentScreen(WizardController::kEulaScreenName); |
| 647 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 647 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
| 648 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); | 648 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); |
| 649 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition | 649 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition |
| 650 OnExit(ScreenObserver::EULA_BACK); | 650 OnExit(BaseScreenDelegate::EULA_BACK); |
| 651 | 651 |
| 652 CheckCurrentScreen(WizardController::kNetworkScreenName); | 652 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 653 } | 653 } |
| 654 | 654 |
| 655 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, | 655 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, |
| 656 ControlFlowEnrollmentCompleted) { | 656 ControlFlowEnrollmentCompleted) { |
| 657 CheckCurrentScreen(WizardController::kNetworkScreenName); | 657 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 658 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | 658 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); |
| 659 EXPECT_CALL(*mock_enrollment_screen_->actor(), | 659 EXPECT_CALL(*mock_enrollment_screen_->actor(), |
| 660 SetParameters(mock_enrollment_screen_, | 660 SetParameters(mock_enrollment_screen_, |
| 661 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL, | 661 EnrollmentScreenActor::ENROLLMENT_MODE_MANUAL, |
| 662 "")) | 662 "")) |
| 663 .Times(1); | 663 .Times(1); |
| 664 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); | 664 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
| 665 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 665 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 666 | 666 |
| 667 WizardController::default_controller()->AdvanceToScreen( | 667 WizardController::default_controller()->AdvanceToScreen( |
| 668 WizardController::kEnrollmentScreenName); | 668 WizardController::kEnrollmentScreenName); |
| 669 CheckCurrentScreen(WizardController::kEnrollmentScreenName); | 669 CheckCurrentScreen(WizardController::kEnrollmentScreenName); |
| 670 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED); | 670 OnExit(BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED); |
| 671 | 671 |
| 672 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); | 672 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
| 673 } | 673 } |
| 674 | 674 |
| 675 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, | 675 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, |
| 676 ControlFlowAutoEnrollmentCompleted) { | 676 ControlFlowAutoEnrollmentCompleted) { |
| 677 WizardController::default_controller()->SkipPostLoginScreensForTesting(); | 677 WizardController::default_controller()->SkipPostLoginScreensForTesting(); |
| 678 CheckCurrentScreen(WizardController::kNetworkScreenName); | 678 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 679 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); | 679 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); |
| 680 | 680 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 692 &mock_consumer); | 692 &mock_consumer); |
| 693 // This calls StartWizard, destroying the current controller() and its mocks; | 693 // This calls StartWizard, destroying the current controller() and its mocks; |
| 694 // don't set expectations on those objects. | 694 // don't set expectations on those objects. |
| 695 ExistingUserController::current_controller()->CompleteLogin(user_context); | 695 ExistingUserController::current_controller()->CompleteLogin(user_context); |
| 696 // Run the tasks posted to complete the login: | 696 // Run the tasks posted to complete the login: |
| 697 base::MessageLoop::current()->RunUntilIdle(); | 697 base::MessageLoop::current()->RunUntilIdle(); |
| 698 | 698 |
| 699 CheckCurrentScreen(WizardController::kEnrollmentScreenName); | 699 CheckCurrentScreen(WizardController::kEnrollmentScreenName); |
| 700 // This is the main expectation: after auto-enrollment, login is resumed. | 700 // This is the main expectation: after auto-enrollment, login is resumed. |
| 701 EXPECT_CALL(mock_consumer, OnAuthSuccess(_)).Times(1); | 701 EXPECT_CALL(mock_consumer, OnAuthSuccess(_)).Times(1); |
| 702 OnExit(ScreenObserver::ENTERPRISE_AUTO_MAGIC_ENROLLMENT_COMPLETED); | 702 OnExit(BaseScreenDelegate::ENTERPRISE_AUTO_MAGIC_ENROLLMENT_COMPLETED); |
| 703 // Prevent browser launch when the profile is prepared: | 703 // Prevent browser launch when the profile is prepared: |
| 704 browser_shutdown::SetTryingToQuit(true); | 704 browser_shutdown::SetTryingToQuit(true); |
| 705 // Run the tasks posted to complete the login: | 705 // Run the tasks posted to complete the login: |
| 706 base::MessageLoop::current()->RunUntilIdle(); | 706 base::MessageLoop::current()->RunUntilIdle(); |
| 707 } | 707 } |
| 708 | 708 |
| 709 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, | 709 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, |
| 710 ControlFlowWrongHWIDScreenFromLogin) { | 710 ControlFlowWrongHWIDScreenFromLogin) { |
| 711 CheckCurrentScreen(WizardController::kNetworkScreenName); | 711 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 712 | 712 |
| 713 LoginDisplayHostImpl::default_host()->StartSignInScreen(LoginScreenContext()); | 713 LoginDisplayHostImpl::default_host()->StartSignInScreen(LoginScreenContext()); |
| 714 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); | 714 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
| 715 ExistingUserController::current_controller()->ShowWrongHWIDScreen(); | 715 ExistingUserController::current_controller()->ShowWrongHWIDScreen(); |
| 716 | 716 |
| 717 CheckCurrentScreen(WizardController::kWrongHWIDScreenName); | 717 CheckCurrentScreen(WizardController::kWrongHWIDScreenName); |
| 718 | 718 |
| 719 // After warning is skipped, user returns to sign-in screen. | 719 // After warning is skipped, user returns to sign-in screen. |
| 720 // And this destroys WizardController. | 720 // And this destroys WizardController. |
| 721 OnExit(ScreenObserver::WRONG_HWID_WARNING_SKIPPED); | 721 OnExit(BaseScreenDelegate::WRONG_HWID_WARNING_SKIPPED); |
| 722 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); | 722 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
| 723 } | 723 } |
| 724 | 724 |
| 725 class WizardControllerDeviceStateTest : public WizardControllerFlowTest { | 725 class WizardControllerDeviceStateTest : public WizardControllerFlowTest { |
| 726 protected: | 726 protected: |
| 727 WizardControllerDeviceStateTest() | 727 WizardControllerDeviceStateTest() |
| 728 : install_attributes_(std::string(), | 728 : install_attributes_(std::string(), |
| 729 std::string(), | 729 std::string(), |
| 730 std::string(), | 730 std::string(), |
| 731 policy::DEVICE_MODE_NOT_SET) { | 731 policy::DEVICE_MODE_NOT_SET) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 752 policy::ScopedStubEnterpriseInstallAttributes install_attributes_; | 752 policy::ScopedStubEnterpriseInstallAttributes install_attributes_; |
| 753 | 753 |
| 754 DISALLOW_COPY_AND_ASSIGN(WizardControllerDeviceStateTest); | 754 DISALLOW_COPY_AND_ASSIGN(WizardControllerDeviceStateTest); |
| 755 }; | 755 }; |
| 756 | 756 |
| 757 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest, | 757 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest, |
| 758 ControlFlowForcedReEnrollment) { | 758 ControlFlowForcedReEnrollment) { |
| 759 CheckCurrentScreen(WizardController::kNetworkScreenName); | 759 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 760 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 760 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 761 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 761 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 762 OnExit(ScreenObserver::NETWORK_CONNECTED); | 762 OnExit(BaseScreenDelegate::NETWORK_CONNECTED); |
| 763 | 763 |
| 764 CheckCurrentScreen(WizardController::kEulaScreenName); | 764 CheckCurrentScreen(WizardController::kEulaScreenName); |
| 765 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 765 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
| 766 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); | 766 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); |
| 767 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); | 767 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); |
| 768 OnExit(ScreenObserver::EULA_ACCEPTED); | 768 OnExit(BaseScreenDelegate::EULA_ACCEPTED); |
| 769 | 769 |
| 770 // Let update screen smooth time process (time = 0ms). | 770 // Let update screen smooth time process (time = 0ms). |
| 771 content::RunAllPendingInMessageLoop(); | 771 content::RunAllPendingInMessageLoop(); |
| 772 | 772 |
| 773 CheckCurrentScreen(WizardController::kUpdateScreenName); | 773 CheckCurrentScreen(WizardController::kUpdateScreenName); |
| 774 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); | 774 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
| 775 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); | 775 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
| 776 OnExit(ScreenObserver::UPDATE_INSTALLED); | 776 OnExit(BaseScreenDelegate::UPDATE_INSTALLED); |
| 777 | 777 |
| 778 AutoEnrollmentCheckScreen* screen = | 778 AutoEnrollmentCheckScreen* screen = |
| 779 AutoEnrollmentCheckScreen::Get(WizardController::default_controller()); | 779 AutoEnrollmentCheckScreen::Get(WizardController::default_controller()); |
| 780 EXPECT_EQ(screen, | 780 EXPECT_EQ(screen, |
| 781 WizardController::default_controller()->current_screen()); | 781 WizardController::default_controller()->current_screen()); |
| 782 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); | 782 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); |
| 783 screen->Start(); | 783 screen->Start(); |
| 784 | 784 |
| 785 // Wait for auto-enrollment controller to encounter the connection error. | 785 // Wait for auto-enrollment controller to encounter the connection error. |
| 786 WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR); | 786 WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR); |
| 787 | 787 |
| 788 // The error screen shows up if there's no auto-enrollment decision. | 788 // The error screen shows up if there's no auto-enrollment decision. |
| 789 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 789 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
| 790 EXPECT_EQ(GetErrorScreen(), | 790 EXPECT_EQ(GetErrorScreen(), |
| 791 WizardController::default_controller()->current_screen()); | 791 WizardController::default_controller()->current_screen()); |
| 792 base::DictionaryValue device_state; | 792 base::DictionaryValue device_state; |
| 793 device_state.SetString(policy::kDeviceStateRestoreMode, | 793 device_state.SetString(policy::kDeviceStateRestoreMode, |
| 794 policy::kDeviceStateRestoreModeReEnrollmentEnforced); | 794 policy::kDeviceStateRestoreModeReEnrollmentEnforced); |
| 795 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, | 795 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, |
| 796 device_state); | 796 device_state); |
| 797 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); | 797 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
| 798 EXPECT_CALL(*mock_enrollment_screen_->actor(), | 798 EXPECT_CALL(*mock_enrollment_screen_->actor(), |
| 799 SetParameters(mock_enrollment_screen_, | 799 SetParameters(mock_enrollment_screen_, |
| 800 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED, | 800 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED, |
| 801 "")).Times(1); | 801 "")).Times(1); |
| 802 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); | 802 OnExit(BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
| 803 | 803 |
| 804 ResetAutoEnrollmentCheckScreen(); | 804 ResetAutoEnrollmentCheckScreen(); |
| 805 | 805 |
| 806 // Make sure enterprise enrollment page shows up. | 806 // Make sure enterprise enrollment page shows up. |
| 807 CheckCurrentScreen(WizardController::kEnrollmentScreenName); | 807 CheckCurrentScreen(WizardController::kEnrollmentScreenName); |
| 808 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED); | 808 OnExit(BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED); |
| 809 | 809 |
| 810 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); | 810 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); |
| 811 } | 811 } |
| 812 | 812 |
| 813 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest, | 813 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest, |
| 814 ControlFlowNoForcedReEnrollmentOnFirstBoot) { | 814 ControlFlowNoForcedReEnrollmentOnFirstBoot) { |
| 815 fake_statistics_provider_.ClearMachineStatistic(system::kActivateDateKey); | 815 fake_statistics_provider_.ClearMachineStatistic(system::kActivateDateKey); |
| 816 EXPECT_NE(policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT, | 816 EXPECT_NE(policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT, |
| 817 LoginDisplayHostImpl::default_host() | 817 LoginDisplayHostImpl::default_host() |
| 818 ->GetAutoEnrollmentController() | 818 ->GetAutoEnrollmentController() |
| 819 ->state()); | 819 ->state()); |
| 820 | 820 |
| 821 CheckCurrentScreen(WizardController::kNetworkScreenName); | 821 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 822 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 822 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 823 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 823 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 824 OnExit(ScreenObserver::NETWORK_CONNECTED); | 824 OnExit(BaseScreenDelegate::NETWORK_CONNECTED); |
| 825 | 825 |
| 826 CheckCurrentScreen(WizardController::kEulaScreenName); | 826 CheckCurrentScreen(WizardController::kEulaScreenName); |
| 827 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 827 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
| 828 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); | 828 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); |
| 829 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); | 829 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); |
| 830 OnExit(ScreenObserver::EULA_ACCEPTED); | 830 OnExit(BaseScreenDelegate::EULA_ACCEPTED); |
| 831 | 831 |
| 832 // Let update screen smooth time process (time = 0ms). | 832 // Let update screen smooth time process (time = 0ms). |
| 833 content::RunAllPendingInMessageLoop(); | 833 content::RunAllPendingInMessageLoop(); |
| 834 | 834 |
| 835 CheckCurrentScreen(WizardController::kUpdateScreenName); | 835 CheckCurrentScreen(WizardController::kUpdateScreenName); |
| 836 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); | 836 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
| 837 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); | 837 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
| 838 OnExit(ScreenObserver::UPDATE_INSTALLED); | 838 OnExit(BaseScreenDelegate::UPDATE_INSTALLED); |
| 839 | 839 |
| 840 AutoEnrollmentCheckScreen* screen = | 840 AutoEnrollmentCheckScreen* screen = |
| 841 AutoEnrollmentCheckScreen::Get(WizardController::default_controller()); | 841 AutoEnrollmentCheckScreen::Get(WizardController::default_controller()); |
| 842 EXPECT_EQ(screen, | 842 EXPECT_EQ(screen, |
| 843 WizardController::default_controller()->current_screen()); | 843 WizardController::default_controller()->current_screen()); |
| 844 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); | 844 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); |
| 845 screen->Start(); | 845 screen->Start(); |
| 846 EXPECT_EQ(policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT, | 846 EXPECT_EQ(policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT, |
| 847 LoginDisplayHostImpl::default_host() | 847 LoginDisplayHostImpl::default_host() |
| 848 ->GetAutoEnrollmentController() | 848 ->GetAutoEnrollmentController() |
| 849 ->state()); | 849 ->state()); |
| 850 } | 850 } |
| 851 | 851 |
| 852 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest, | 852 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest, |
| 853 ControlFlowDeviceDisabled) { | 853 ControlFlowDeviceDisabled) { |
| 854 CheckCurrentScreen(WizardController::kNetworkScreenName); | 854 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 855 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 855 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 856 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 856 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 857 OnExit(ScreenObserver::NETWORK_CONNECTED); | 857 OnExit(BaseScreenDelegate::NETWORK_CONNECTED); |
| 858 | 858 |
| 859 CheckCurrentScreen(WizardController::kEulaScreenName); | 859 CheckCurrentScreen(WizardController::kEulaScreenName); |
| 860 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 860 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
| 861 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); | 861 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); |
| 862 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); | 862 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); |
| 863 OnExit(ScreenObserver::EULA_ACCEPTED); | 863 OnExit(BaseScreenDelegate::EULA_ACCEPTED); |
| 864 | 864 |
| 865 // Let update screen smooth time process (time = 0ms). | 865 // Let update screen smooth time process (time = 0ms). |
| 866 content::RunAllPendingInMessageLoop(); | 866 content::RunAllPendingInMessageLoop(); |
| 867 | 867 |
| 868 CheckCurrentScreen(WizardController::kUpdateScreenName); | 868 CheckCurrentScreen(WizardController::kUpdateScreenName); |
| 869 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); | 869 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
| 870 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); | 870 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
| 871 OnExit(ScreenObserver::UPDATE_INSTALLED); | 871 OnExit(BaseScreenDelegate::UPDATE_INSTALLED); |
| 872 | 872 |
| 873 AutoEnrollmentCheckScreen* screen = | 873 AutoEnrollmentCheckScreen* screen = |
| 874 AutoEnrollmentCheckScreen::Get(WizardController::default_controller()); | 874 AutoEnrollmentCheckScreen::Get(WizardController::default_controller()); |
| 875 EXPECT_EQ(screen, | 875 EXPECT_EQ(screen, |
| 876 WizardController::default_controller()->current_screen()); | 876 WizardController::default_controller()->current_screen()); |
| 877 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); | 877 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); |
| 878 screen->Start(); | 878 screen->Start(); |
| 879 | 879 |
| 880 // Wait for auto-enrollment controller to encounter the connection error. | 880 // Wait for auto-enrollment controller to encounter the connection error. |
| 881 WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR); | 881 WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR); |
| 882 | 882 |
| 883 // The error screen shows up if device state could not be retrieved. | 883 // The error screen shows up if device state could not be retrieved. |
| 884 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 884 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
| 885 EXPECT_EQ(GetErrorScreen(), | 885 EXPECT_EQ(GetErrorScreen(), |
| 886 WizardController::default_controller()->current_screen()); | 886 WizardController::default_controller()->current_screen()); |
| 887 base::DictionaryValue device_state; | 887 base::DictionaryValue device_state; |
| 888 device_state.SetBoolean(policy::kDeviceStateDisabled, true); | 888 device_state.SetBoolean(policy::kDeviceStateDisabled, true); |
| 889 device_state.SetString(policy::kDeviceStateDisabledMessage, kDisabledMessage); | 889 device_state.SetString(policy::kDeviceStateDisabledMessage, kDisabledMessage); |
| 890 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, | 890 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, |
| 891 device_state); | 891 device_state); |
| 892 EXPECT_CALL(*device_disabled_screen_actor_, Show(kDisabledMessage)).Times(1); | 892 EXPECT_CALL(*device_disabled_screen_actor_, Show(kDisabledMessage)).Times(1); |
| 893 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); | 893 OnExit(BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
| 894 | 894 |
| 895 ResetAutoEnrollmentCheckScreen(); | 895 ResetAutoEnrollmentCheckScreen(); |
| 896 | 896 |
| 897 // Make sure the device disabled screen is shown. | 897 // Make sure the device disabled screen is shown. |
| 898 CheckCurrentScreen(WizardController::kDeviceDisabledScreenName); | 898 CheckCurrentScreen(WizardController::kDeviceDisabledScreenName); |
| 899 | 899 |
| 900 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 900 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
| 901 } | 901 } |
| 902 | 902 |
| 903 class WizardControllerBrokenLocalStateTest : public WizardControllerTest { | 903 class WizardControllerBrokenLocalStateTest : public WizardControllerTest { |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1034 EXPECT_CALL(*mock_enrollment_screen_->actor(), | 1034 EXPECT_CALL(*mock_enrollment_screen_->actor(), |
| 1035 SetParameters(mock_enrollment_screen_, | 1035 SetParameters(mock_enrollment_screen_, |
| 1036 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED, | 1036 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED, |
| 1037 "")) | 1037 "")) |
| 1038 .Times(1); | 1038 .Times(1); |
| 1039 | 1039 |
| 1040 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); | 1040 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); |
| 1041 CheckCurrentScreen(WizardController::kNetworkScreenName); | 1041 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 1042 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 1042 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 1043 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 1043 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 1044 OnExit(ScreenObserver::NETWORK_CONNECTED); | 1044 OnExit(BaseScreenDelegate::NETWORK_CONNECTED); |
| 1045 | 1045 |
| 1046 CheckCurrentScreen(WizardController::kEulaScreenName); | 1046 CheckCurrentScreen(WizardController::kEulaScreenName); |
| 1047 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 1047 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
| 1048 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); | 1048 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); |
| 1049 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); | 1049 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); |
| 1050 OnExit(ScreenObserver::EULA_ACCEPTED); | 1050 OnExit(BaseScreenDelegate::EULA_ACCEPTED); |
| 1051 | 1051 |
| 1052 // Let update screen smooth time process (time = 0ms). | 1052 // Let update screen smooth time process (time = 0ms). |
| 1053 content::RunAllPendingInMessageLoop(); | 1053 content::RunAllPendingInMessageLoop(); |
| 1054 | 1054 |
| 1055 CheckCurrentScreen(WizardController::kUpdateScreenName); | 1055 CheckCurrentScreen(WizardController::kUpdateScreenName); |
| 1056 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); | 1056 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
| 1057 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); | 1057 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
| 1058 OnExit(ScreenObserver::UPDATE_INSTALLED); | 1058 OnExit(BaseScreenDelegate::UPDATE_INSTALLED); |
| 1059 | 1059 |
| 1060 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); | 1060 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); |
| 1061 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); | 1061 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); |
| 1062 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); | 1062 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
| 1063 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); | 1063 OnExit(BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
| 1064 | |
| 1065 | 1064 |
| 1066 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 1065 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
| 1067 | 1066 |
| 1068 // Make sure enterprise enrollment page shows up right after update screen. | 1067 // Make sure enterprise enrollment page shows up right after update screen. |
| 1069 CheckCurrentScreen(WizardController::kEnrollmentScreenName); | 1068 CheckCurrentScreen(WizardController::kEnrollmentScreenName); |
| 1070 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED); | 1069 OnExit(BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED); |
| 1071 | 1070 |
| 1072 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); | 1071 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); |
| 1073 } | 1072 } |
| 1074 | 1073 |
| 1075 | 1074 |
| 1076 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest, | 1075 IN_PROC_BROWSER_TEST_F(WizardControllerKioskFlowTest, |
| 1077 ControlFlowEnrollmentBack) { | 1076 ControlFlowEnrollmentBack) { |
| 1078 EXPECT_CALL(*mock_enrollment_screen_->actor(), | 1077 EXPECT_CALL(*mock_enrollment_screen_->actor(), |
| 1079 SetParameters(mock_enrollment_screen_, | 1078 SetParameters(mock_enrollment_screen_, |
| 1080 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED, | 1079 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED, |
| 1081 "")) | 1080 "")) |
| 1082 .Times(1); | 1081 .Times(1); |
| 1083 | 1082 |
| 1084 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); | 1083 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); |
| 1085 CheckCurrentScreen(WizardController::kNetworkScreenName); | 1084 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 1086 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); | 1085 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); |
| 1087 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 1086 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
| 1088 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 1087 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
| 1089 OnExit(ScreenObserver::NETWORK_CONNECTED); | 1088 OnExit(BaseScreenDelegate::NETWORK_CONNECTED); |
| 1090 | 1089 |
| 1091 CheckCurrentScreen(WizardController::kEulaScreenName); | 1090 CheckCurrentScreen(WizardController::kEulaScreenName); |
| 1092 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 1091 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
| 1093 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); | 1092 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); |
| 1094 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); | 1093 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); |
| 1095 OnExit(ScreenObserver::EULA_ACCEPTED); | 1094 OnExit(BaseScreenDelegate::EULA_ACCEPTED); |
| 1096 | 1095 |
| 1097 // Let update screen smooth time process (time = 0ms). | 1096 // Let update screen smooth time process (time = 0ms). |
| 1098 content::RunAllPendingInMessageLoop(); | 1097 content::RunAllPendingInMessageLoop(); |
| 1099 | 1098 |
| 1100 CheckCurrentScreen(WizardController::kUpdateScreenName); | 1099 CheckCurrentScreen(WizardController::kUpdateScreenName); |
| 1101 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); | 1100 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
| 1102 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); | 1101 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); |
| 1103 OnExit(ScreenObserver::UPDATE_INSTALLED); | 1102 OnExit(BaseScreenDelegate::UPDATE_INSTALLED); |
| 1104 | 1103 |
| 1105 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); | 1104 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); |
| 1106 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); | 1105 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); |
| 1107 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); | 1106 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); |
| 1108 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(1); | 1107 EXPECT_CALL(*mock_enrollment_screen_, Hide()).Times(1); |
| 1109 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); | 1108 OnExit(BaseScreenDelegate::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
| 1110 | 1109 |
| 1111 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 1110 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
| 1112 | 1111 |
| 1113 // Make sure enterprise enrollment page shows up right after update screen. | 1112 // Make sure enterprise enrollment page shows up right after update screen. |
| 1114 CheckCurrentScreen(WizardController::kEnrollmentScreenName); | 1113 CheckCurrentScreen(WizardController::kEnrollmentScreenName); |
| 1115 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_BACK); | 1114 OnExit(BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK); |
| 1116 | 1115 |
| 1117 CheckCurrentScreen(WizardController::kNetworkScreenName); | 1116 CheckCurrentScreen(WizardController::kNetworkScreenName); |
| 1118 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 1117 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
| 1119 } | 1118 } |
| 1120 | 1119 |
| 1121 class WizardControllerOobeResumeTest : public WizardControllerTest { | 1120 class WizardControllerOobeResumeTest : public WizardControllerTest { |
| 1122 protected: | 1121 protected: |
| 1123 WizardControllerOobeResumeTest() {} | 1122 WizardControllerOobeResumeTest() {} |
| 1124 // Overriden from InProcessBrowserTest: | 1123 // Overriden from InProcessBrowserTest: |
| 1125 virtual void SetUpOnMainThread() override { | 1124 virtual void SetUpOnMainThread() override { |
| 1126 WizardControllerTest::SetUpOnMainThread(); | 1125 WizardControllerTest::SetUpOnMainThread(); |
| 1127 | 1126 |
| 1128 // Make sure that OOBE is run as an "official" build. | 1127 // Make sure that OOBE is run as an "official" build. |
| 1129 WizardController::default_controller()->is_official_build_ = true; | 1128 WizardController::default_controller()->is_official_build_ = true; |
| 1130 | 1129 |
| 1131 // Clear portal list (as it is by default in OOBE). | 1130 // Clear portal list (as it is by default in OOBE). |
| 1132 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); | 1131 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); |
| 1133 | 1132 |
| 1134 // Set up the mocks for all screens. | 1133 // Set up the mocks for all screens. |
| 1135 MOCK(mock_network_screen_, | 1134 MOCK(mock_network_screen_, |
| 1136 kNetworkScreenName, | 1135 kNetworkScreenName, |
| 1137 MockNetworkScreen, | 1136 MockNetworkScreen, |
| 1138 MockNetworkScreenActor); | 1137 MockNetworkScreenActor); |
| 1139 MOCK(mock_enrollment_screen_, | 1138 MOCK(mock_enrollment_screen_, |
| 1140 kEnrollmentScreenName, | 1139 kEnrollmentScreenName, |
| 1141 MockEnrollmentScreen, | 1140 MockEnrollmentScreen, |
| 1142 MockEnrollmentScreenActor); | 1141 MockEnrollmentScreenActor); |
| 1143 } | 1142 } |
| 1144 | 1143 |
| 1145 void OnExit(ScreenObserver::ExitCodes exit_code) { | 1144 void OnExit(BaseScreenDelegate::ExitCodes exit_code) { |
| 1146 WizardController::default_controller()->OnExit(exit_code); | 1145 WizardController::default_controller()->OnExit(exit_code); |
| 1147 } | 1146 } |
| 1148 | 1147 |
| 1149 std::string GetFirstScreenName() { | 1148 std::string GetFirstScreenName() { |
| 1150 return WizardController::default_controller()->first_screen_name(); | 1149 return WizardController::default_controller()->first_screen_name(); |
| 1151 } | 1150 } |
| 1152 | 1151 |
| 1153 MockOutShowHide<MockNetworkScreen, MockNetworkScreenActor>* | 1152 MockOutShowHide<MockNetworkScreen, MockNetworkScreenActor>* |
| 1154 mock_network_screen_; | 1153 mock_network_screen_; |
| 1155 MockOutShowHide<MockEnrollmentScreen, | 1154 MockOutShowHide<MockEnrollmentScreen, |
| (...skipping 30 matching lines...) Expand all Loading... |
| 1186 // TODO(dzhioev): Add test emaulating device with wrong HWID. | 1185 // TODO(dzhioev): Add test emaulating device with wrong HWID. |
| 1187 | 1186 |
| 1188 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 | 1187 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 |
| 1189 | 1188 |
| 1190 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when | 1189 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when |
| 1191 // UI and logic is ready. http://crbug.com/127016 | 1190 // UI and logic is ready. http://crbug.com/127016 |
| 1192 | 1191 |
| 1193 // TODO(dzhioev): Add tests for controller/host pairing flow. | 1192 // TODO(dzhioev): Add tests for controller/host pairing flow. |
| 1194 // http://crbug.com/375191 | 1193 // http://crbug.com/375191 |
| 1195 | 1194 |
| 1196 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 24, | 1195 COMPILE_ASSERT(BaseScreenDelegate::EXIT_CODES_COUNT == 24, |
| 1197 add_tests_for_new_control_flow_you_just_introduced); | 1196 add_tests_for_new_control_flow_you_just_introduced); |
| 1198 | 1197 |
| 1199 } // namespace chromeos | 1198 } // namespace chromeos |
| OLD | NEW |