Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(342)

Side by Side Diff: chrome/browser/chromeos/login/wizard_controller_browsertest.cc

Issue 676773002: Add device disabling to OOBE flow (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update browser tests. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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"
11 #include "base/prefs/pref_registry_simple.h" 11 #include "base/prefs/pref_registry_simple.h"
12 #include "base/prefs/pref_service.h" 12 #include "base/prefs/pref_service.h"
13 #include "base/prefs/pref_service_factory.h" 13 #include "base/prefs/pref_service_factory.h"
14 #include "base/prefs/testing_pref_store.h" 14 #include "base/prefs/testing_pref_store.h"
15 #include "base/run_loop.h" 15 #include "base/run_loop.h"
16 #include "base/strings/string_util.h" 16 #include "base/strings/string_util.h"
17 #include "base/strings/utf_string_conversions.h" 17 #include "base/strings/utf_string_conversions.h"
18 #include "chrome/browser/browser_process.h" 18 #include "chrome/browser/browser_process.h"
19 #include "chrome/browser/browser_shutdown.h" 19 #include "chrome/browser/browser_shutdown.h"
20 #include "chrome/browser/chrome_notification_types.h" 20 #include "chrome/browser/chrome_notification_types.h"
21 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" 21 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
22 #include "chrome/browser/chromeos/base/locale_util.h" 22 #include "chrome/browser/chromeos/base/locale_util.h"
23 #include "chrome/browser/chromeos/geolocation/simple_geolocation_provider.h" 23 #include "chrome/browser/chromeos/geolocation/simple_geolocation_provider.h"
24 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" 24 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h"
25 #include "chrome/browser/chromeos/login/enrollment/mock_auto_enrollment_check_sc reen.h" 25 #include "chrome/browser/chromeos/login/enrollment/mock_auto_enrollment_check_sc reen.h"
26 #include "chrome/browser/chromeos/login/enrollment/mock_enrollment_screen.h" 26 #include "chrome/browser/chromeos/login/enrollment/mock_enrollment_screen.h"
27 #include "chrome/browser/chromeos/login/existing_user_controller.h" 27 #include "chrome/browser/chromeos/login/existing_user_controller.h"
28 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h"
28 #include "chrome/browser/chromeos/login/screens/error_screen.h" 29 #include "chrome/browser/chromeos/login/screens/error_screen.h"
29 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h" 30 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h"
31 #include "chrome/browser/chromeos/login/screens/mock_device_disabled_screen_acto r.h"
30 #include "chrome/browser/chromeos/login/screens/mock_eula_screen.h" 32 #include "chrome/browser/chromeos/login/screens/mock_eula_screen.h"
31 #include "chrome/browser/chromeos/login/screens/mock_network_screen.h" 33 #include "chrome/browser/chromeos/login/screens/mock_network_screen.h"
32 #include "chrome/browser/chromeos/login/screens/mock_update_screen.h" 34 #include "chrome/browser/chromeos/login/screens/mock_update_screen.h"
33 #include "chrome/browser/chromeos/login/screens/network_screen.h" 35 #include "chrome/browser/chromeos/login/screens/network_screen.h"
34 #include "chrome/browser/chromeos/login/screens/reset_screen.h" 36 #include "chrome/browser/chromeos/login/screens/reset_screen.h"
35 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" 37 #include "chrome/browser/chromeos/login/screens/user_image_screen.h"
36 #include "chrome/browser/chromeos/login/screens/wrong_hwid_screen.h" 38 #include "chrome/browser/chromeos/login/screens/wrong_hwid_screen.h"
37 #include "chrome/browser/chromeos/login/startup_utils.h" 39 #include "chrome/browser/chromeos/login/startup_utils.h"
38 #include "chrome/browser/chromeos/login/test/wizard_in_process_browser_test.h" 40 #include "chrome/browser/chromeos/login/test/wizard_in_process_browser_test.h"
39 #include "chrome/browser/chromeos/login/test_login_utils.h" 41 #include "chrome/browser/chromeos/login/test_login_utils.h"
40 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" 42 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
41 #include "chrome/browser/chromeos/login/ui/webui_login_view.h" 43 #include "chrome/browser/chromeos/login/ui/webui_login_view.h"
42 #include "chrome/browser/chromeos/net/network_portal_detector_test_impl.h" 44 #include "chrome/browser/chromeos/net/network_portal_detector_test_impl.h"
43 #include "chrome/browser/chromeos/policy/server_backed_device_state.h" 45 #include "chrome/browser/chromeos/policy/server_backed_device_state.h"
46 #include "chrome/browser/chromeos/policy/stub_enterprise_install_attributes.h"
44 #include "chrome/browser/chromeos/profiles/profile_helper.h" 47 #include "chrome/browser/chromeos/profiles/profile_helper.h"
45 #include "chrome/browser/chromeos/timezone/timezone_request.h" 48 #include "chrome/browser/chromeos/timezone/timezone_request.h"
46 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" 49 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
47 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h" 50 #include "chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h"
48 #include "chrome/common/chrome_paths.h" 51 #include "chrome/common/chrome_paths.h"
49 #include "chrome/common/chrome_switches.h" 52 #include "chrome/common/chrome_switches.h"
50 #include "chrome/common/pref_names.h" 53 #include "chrome/common/pref_names.h"
51 #include "chrome/grit/generated_resources.h" 54 #include "chrome/grit/generated_resources.h"
52 #include "chrome/test/base/ui_test_utils.h" 55 #include "chrome/test/base/ui_test_utils.h"
53 #include "chromeos/audio/cras_audio_handler.h" 56 #include "chromeos/audio/cras_audio_handler.h"
54 #include "chromeos/chromeos_switches.h" 57 #include "chromeos/chromeos_switches.h"
55 #include "chromeos/chromeos_test_utils.h" 58 #include "chromeos/chromeos_test_utils.h"
56 #include "chromeos/dbus/dbus_thread_manager.h" 59 #include "chromeos/dbus/dbus_thread_manager.h"
57 #include "chromeos/dbus/fake_session_manager_client.h" 60 #include "chromeos/dbus/fake_session_manager_client.h"
58 #include "chromeos/login/auth/key.h" 61 #include "chromeos/login/auth/key.h"
59 #include "chromeos/login/auth/mock_auth_status_consumer.h" 62 #include "chromeos/login/auth/mock_auth_status_consumer.h"
60 #include "chromeos/login/auth/mock_authenticator.h" 63 #include "chromeos/login/auth/mock_authenticator.h"
61 #include "chromeos/login/auth/user_context.h" 64 #include "chromeos/login/auth/user_context.h"
62 #include "chromeos/network/network_state.h" 65 #include "chromeos/network/network_state.h"
63 #include "chromeos/network/network_state_handler.h" 66 #include "chromeos/network/network_state_handler.h"
64 #include "chromeos/settings/timezone_settings.h" 67 #include "chromeos/settings/timezone_settings.h"
65 #include "chromeos/system/fake_statistics_provider.h" 68 #include "chromeos/system/fake_statistics_provider.h"
66 #include "chromeos/system/statistics_provider.h" 69 #include "chromeos/system/statistics_provider.h"
70 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
67 #include "content/public/test/browser_test_utils.h" 71 #include "content/public/test/browser_test_utils.h"
68 #include "content/public/test/test_utils.h" 72 #include "content/public/test/test_utils.h"
69 #include "net/test/spawned_test_server/spawned_test_server.h" 73 #include "net/test/spawned_test_server/spawned_test_server.h"
70 #include "net/url_request/test_url_fetcher_factory.h" 74 #include "net/url_request/test_url_fetcher_factory.h"
71 #include "net/url_request/url_fetcher_impl.h" 75 #include "net/url_request/url_fetcher_impl.h"
72 #include "testing/gmock/include/gmock/gmock.h" 76 #include "testing/gmock/include/gmock/gmock.h"
73 #include "testing/gtest/include/gtest/gtest.h" 77 #include "testing/gtest/include/gtest/gtest.h"
74 #include "third_party/icu/source/common/unicode/locid.h" 78 #include "third_party/icu/source/common/unicode/locid.h"
75 #include "ui/base/accelerators/accelerator.h" 79 #include "ui/base/accelerators/accelerator.h"
76 #include "ui/base/l10n/l10n_util.h" 80 #include "ui/base/l10n/l10n_util.h"
77 81
78 using ::testing::Exactly; 82 using ::testing::Exactly;
79 using ::testing::Invoke; 83 using ::testing::Invoke;
84 using ::testing::Mock;
80 using ::testing::Return; 85 using ::testing::Return;
81 86
82 namespace chromeos { 87 namespace chromeos {
83 88
84 namespace { 89 namespace {
85 90
86 const char kUsername[] = "test_user@managedchrome.com"; 91 const char kUsername[] = "test_user@managedchrome.com";
87 const char kPassword[] = "test_password"; 92 const char kPassword[] = "test_password";
88 93
89 const char kGeolocationResponseBody[] = 94 const char kGeolocationResponseBody[] =
90 "{\n" 95 "{\n"
91 " \"location\": {\n" 96 " \"location\": {\n"
92 " \"lat\": 51.0,\n" 97 " \"lat\": 51.0,\n"
93 " \"lng\": -0.1\n" 98 " \"lng\": -0.1\n"
94 " },\n" 99 " },\n"
95 " \"accuracy\": 1200.4\n" 100 " \"accuracy\": 1200.4\n"
96 "}"; 101 "}";
97 102
98 // Timezone should not match kGeolocationResponseBody to check that exactly 103 // Timezone should not match kGeolocationResponseBody to check that exactly
99 // this value will be used. 104 // this value will be used.
100 const char kTimezoneResponseBody[] = 105 const char kTimezoneResponseBody[] =
101 "{\n" 106 "{\n"
102 " \"dstOffset\" : 0.0,\n" 107 " \"dstOffset\" : 0.0,\n"
103 " \"rawOffset\" : -32400.0,\n" 108 " \"rawOffset\" : -32400.0,\n"
104 " \"status\" : \"OK\",\n" 109 " \"status\" : \"OK\",\n"
105 " \"timeZoneId\" : \"America/Anchorage\",\n" 110 " \"timeZoneId\" : \"America/Anchorage\",\n"
106 " \"timeZoneName\" : \"Pacific Standard Time\"\n" 111 " \"timeZoneName\" : \"Pacific Standard Time\"\n"
107 "}"; 112 "}";
108 113
114 const char kDisabledMessage[] = "This device has been disabled.";
115
109 class PrefStoreStub : public TestingPrefStore { 116 class PrefStoreStub : public TestingPrefStore {
110 public: 117 public:
111 // TestingPrefStore overrides: 118 // TestingPrefStore overrides:
112 virtual PrefReadError GetReadError() const override { 119 virtual PrefReadError GetReadError() const override {
113 return PersistentPrefStore::PREF_READ_ERROR_JSON_PARSE; 120 return PersistentPrefStore::PREF_READ_ERROR_JSON_PARSE;
114 } 121 }
115 122
116 virtual bool IsInitializationComplete() const override { 123 virtual bool IsInitializationComplete() const override {
117 return true; 124 return true;
118 } 125 }
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 }; 390 };
384 391
385 class WizardControllerFlowTest : public WizardControllerTest { 392 class WizardControllerFlowTest : public WizardControllerTest {
386 protected: 393 protected:
387 WizardControllerFlowTest() {} 394 WizardControllerFlowTest() {}
388 // Overriden from InProcessBrowserTest: 395 // Overriden from InProcessBrowserTest:
389 virtual void SetUpOnMainThread() override { 396 virtual void SetUpOnMainThread() override {
390 WizardControllerTest::SetUpOnMainThread(); 397 WizardControllerTest::SetUpOnMainThread();
391 398
392 // Make sure that OOBE is run as an "official" build. 399 // Make sure that OOBE is run as an "official" build.
393 WizardController::default_controller()->is_official_build_ = true; 400 WizardController* wizard_controller =
401 WizardController::default_controller();
402 wizard_controller->is_official_build_ = true;
394 403
395 // Clear portal list (as it is by default in OOBE). 404 // Clear portal list (as it is by default in OOBE).
396 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); 405 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList("");
397 406
398 // Set up the mocks for all screens. 407 // Set up the mocks for all screens.
399 MOCK(mock_network_screen_, 408 MOCK(mock_network_screen_,
400 kNetworkScreenName, 409 kNetworkScreenName,
401 MockNetworkScreen, 410 MockNetworkScreen,
402 MockNetworkScreenActor); 411 MockNetworkScreenActor);
403 MOCK(mock_update_screen_, 412 MOCK(mock_update_screen_,
404 kUpdateScreenName, 413 kUpdateScreenName,
405 MockUpdateScreen, 414 MockUpdateScreen,
406 MockUpdateScreenActor); 415 MockUpdateScreenActor);
407 MOCK(mock_eula_screen_, 416 MOCK(mock_eula_screen_,
408 kEulaScreenName, 417 kEulaScreenName,
409 MockEulaScreen, 418 MockEulaScreen,
410 MockEulaScreenActor); 419 MockEulaScreenActor);
411 MOCK(mock_enrollment_screen_, 420 MOCK(mock_enrollment_screen_,
412 kEnrollmentScreenName, 421 kEnrollmentScreenName,
413 MockEnrollmentScreen, 422 MockEnrollmentScreen,
414 MockEnrollmentScreenActor); 423 MockEnrollmentScreenActor);
415 MOCK(mock_auto_enrollment_check_screen_, 424 MOCK(mock_auto_enrollment_check_screen_,
416 kAutoEnrollmentCheckScreenName, 425 kAutoEnrollmentCheckScreenName,
417 MockAutoEnrollmentCheckScreen, 426 MockAutoEnrollmentCheckScreen,
418 MockAutoEnrollmentCheckScreenActor); 427 MockAutoEnrollmentCheckScreenActor);
428 device_disabled_screen_actor_.reset(new MockDeviceDisabledScreenActor);
429 wizard_controller->screens_[WizardController::kDeviceDisabledScreenName] =
430 make_linked_ptr(new DeviceDisabledScreen(
431 wizard_controller,
432 device_disabled_screen_actor_.get()));
433 EXPECT_CALL(*device_disabled_screen_actor_, Show(_)).Times(0);
419 434
420 // Switch to the initial screen. 435 // Switch to the initial screen.
421 EXPECT_EQ(NULL, WizardController::default_controller()->current_screen()); 436 EXPECT_EQ(NULL, wizard_controller->current_screen());
422 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 437 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
423 WizardController::default_controller()->AdvanceToScreen( 438 wizard_controller->AdvanceToScreen(WizardController::kNetworkScreenName);
424 WizardController::kNetworkScreenName); 439 }
440
441 void TearDownOnMainThread() override {
442 device_disabled_screen_actor_.reset();
443 WizardControllerTest::TearDownOnMainThread();
425 } 444 }
426 445
427 virtual void TearDown() { 446 virtual void TearDown() {
428 if (fallback_fetcher_factory_) { 447 if (fallback_fetcher_factory_) {
429 fetcher_factory_.reset(); 448 fetcher_factory_.reset();
430 net::URLFetcherImpl::set_factory(fallback_fetcher_factory_.get()); 449 net::URLFetcherImpl::set_factory(fallback_fetcher_factory_.get());
431 fallback_fetcher_factory_.reset(); 450 fallback_fetcher_factory_.reset();
432 } 451 }
433 } 452 }
434 453
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 } 500 }
482 501
483 MockOutShowHide<MockNetworkScreen, MockNetworkScreenActor>* 502 MockOutShowHide<MockNetworkScreen, MockNetworkScreenActor>*
484 mock_network_screen_; 503 mock_network_screen_;
485 MockOutShowHide<MockUpdateScreen, MockUpdateScreenActor>* mock_update_screen_; 504 MockOutShowHide<MockUpdateScreen, MockUpdateScreenActor>* mock_update_screen_;
486 MockOutShowHide<MockEulaScreen, MockEulaScreenActor>* mock_eula_screen_; 505 MockOutShowHide<MockEulaScreen, MockEulaScreenActor>* mock_eula_screen_;
487 MockOutShowHide<MockEnrollmentScreen, 506 MockOutShowHide<MockEnrollmentScreen,
488 MockEnrollmentScreenActor>* mock_enrollment_screen_; 507 MockEnrollmentScreenActor>* mock_enrollment_screen_;
489 MockOutShowHide<MockAutoEnrollmentCheckScreen, 508 MockOutShowHide<MockAutoEnrollmentCheckScreen,
490 MockAutoEnrollmentCheckScreenActor>* mock_auto_enrollment_check_screen_; 509 MockAutoEnrollmentCheckScreenActor>* mock_auto_enrollment_check_screen_;
510 scoped_ptr<MockDeviceDisabledScreenActor> device_disabled_screen_actor_;
491 511
492 private: 512 private:
493 NetworkPortalDetectorTestImpl* network_portal_detector_; 513 NetworkPortalDetectorTestImpl* network_portal_detector_;
494 514
495 // Use a test factory as a fallback so we don't have to deal with other 515 // Use a test factory as a fallback so we don't have to deal with other
496 // requests. 516 // requests.
497 scoped_ptr<WizardControllerTestURLFetcherFactory> fallback_fetcher_factory_; 517 scoped_ptr<WizardControllerTestURLFetcherFactory> fallback_fetcher_factory_;
498 scoped_ptr<net::FakeURLFetcherFactory> fetcher_factory_; 518 scoped_ptr<net::FakeURLFetcherFactory> fetcher_factory_;
499 519
500 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest); 520 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest);
(...skipping 17 matching lines...) Expand all
518 // Header bar should still be visible. 538 // Header bar should still be visible.
519 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden")); 539 ASSERT_FALSE(JSExecuteBooleanExpression("$('login-header-bar').hidden"));
520 540
521 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 541 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
522 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 542 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
523 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 543 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
524 // Enable TimeZone resolve 544 // Enable TimeZone resolve
525 InitTimezoneResolver(); 545 InitTimezoneResolver();
526 OnExit(ScreenObserver::EULA_ACCEPTED); 546 OnExit(ScreenObserver::EULA_ACCEPTED);
527 EXPECT_TRUE(GetGeolocationProvider()); 547 EXPECT_TRUE(GetGeolocationProvider());
548
528 // Let update screen smooth time process (time = 0ms). 549 // Let update screen smooth time process (time = 0ms).
529 content::RunAllPendingInMessageLoop(); 550 content::RunAllPendingInMessageLoop();
530 551
531 CheckCurrentScreen(WizardController::kUpdateScreenName); 552 CheckCurrentScreen(WizardController::kUpdateScreenName);
532 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 553 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
533 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 554 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
534 OnExit(ScreenObserver::UPDATE_INSTALLED); 555 OnExit(ScreenObserver::UPDATE_INSTALLED);
535 556
536 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 557 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName);
537 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0); 558 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
538 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); 559 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0);
539 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 560 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
540 561
541 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 562 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
542 EXPECT_EQ("ethernet,wifi,cellular", 563 EXPECT_EQ("ethernet,wifi,cellular",
543 NetworkHandler::Get()->network_state_handler() 564 NetworkHandler::Get()->network_state_handler()
544 ->GetCheckPortalListForTest()); 565 ->GetCheckPortalListForTest());
545 566
546 WaitUntilTimezoneResolved(); 567 WaitUntilTimezoneResolved();
547 EXPECT_EQ("America/Anchorage", 568 EXPECT_EQ("America/Anchorage",
548 base::UTF16ToUTF8(chromeos::system::TimezoneSettings::GetInstance() 569 base::UTF16ToUTF8(chromeos::system::TimezoneSettings::GetInstance()
549 ->GetCurrentTimezoneID())); 570 ->GetCurrentTimezoneID()));
550 } 571 }
551 572
552 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { 573 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) {
553 CheckCurrentScreen(WizardController::kNetworkScreenName); 574 CheckCurrentScreen(WizardController::kNetworkScreenName);
554 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 575 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
555 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 576 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
556 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); 577 EXPECT_CALL(*mock_update_screen_, Show()).Times(0);
557 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 578 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
558 OnExit(ScreenObserver::NETWORK_CONNECTED); 579 OnExit(ScreenObserver::NETWORK_CONNECTED);
559 580
560 CheckCurrentScreen(WizardController::kEulaScreenName); 581 CheckCurrentScreen(WizardController::kEulaScreenName);
561 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 582 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
562 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 583 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
563 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 584 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
564 OnExit(ScreenObserver::EULA_ACCEPTED); 585 OnExit(ScreenObserver::EULA_ACCEPTED);
586
565 // Let update screen smooth time process (time = 0ms). 587 // Let update screen smooth time process (time = 0ms).
566 content::RunAllPendingInMessageLoop(); 588 content::RunAllPendingInMessageLoop();
567 589
568 CheckCurrentScreen(WizardController::kUpdateScreenName); 590 CheckCurrentScreen(WizardController::kUpdateScreenName);
569 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 591 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
570 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 592 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
571 OnExit(ScreenObserver::UPDATE_ERROR_UPDATING); 593 OnExit(ScreenObserver::UPDATE_ERROR_UPDATING);
572 594
573 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 595 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName);
574 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(0); 596 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
575 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); 597 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0);
576 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 598 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
577 599
578 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 600 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
579 } 601 }
580 602
581 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowSkipUpdateEnroll) { 603 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowSkipUpdateEnroll) {
582 CheckCurrentScreen(WizardController::kNetworkScreenName); 604 CheckCurrentScreen(WizardController::kNetworkScreenName);
583 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0); 605 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(0);
584 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 606 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 ExistingUserController::current_controller()->ShowWrongHWIDScreen(); 715 ExistingUserController::current_controller()->ShowWrongHWIDScreen();
694 716
695 CheckCurrentScreen(WizardController::kWrongHWIDScreenName); 717 CheckCurrentScreen(WizardController::kWrongHWIDScreenName);
696 718
697 // After warning is skipped, user returns to sign-in screen. 719 // After warning is skipped, user returns to sign-in screen.
698 // And this destroys WizardController. 720 // And this destroys WizardController.
699 OnExit(ScreenObserver::WRONG_HWID_WARNING_SKIPPED); 721 OnExit(ScreenObserver::WRONG_HWID_WARNING_SKIPPED);
700 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); 722 EXPECT_FALSE(ExistingUserController::current_controller() == NULL);
701 } 723 }
702 724
703 class WizardControllerEnrollmentFlowTest : public WizardControllerFlowTest { 725 class WizardControllerDeviceStateTest : public WizardControllerFlowTest {
704 protected: 726 protected:
705 WizardControllerEnrollmentFlowTest() { 727 WizardControllerDeviceStateTest()
728 : install_attributes_(std::string(),
729 std::string(),
730 std::string(),
731 policy::DEVICE_MODE_NOT_SET) {
706 fake_statistics_provider_.SetMachineStatistic("serial_number", "test"); 732 fake_statistics_provider_.SetMachineStatistic("serial_number", "test");
707 fake_statistics_provider_.SetMachineStatistic(system::kActivateDateKey, 733 fake_statistics_provider_.SetMachineStatistic(system::kActivateDateKey,
708 "2000-01"); 734 "2000-01");
709 } 735 }
710 736
711 virtual void SetUpCommandLine(CommandLine* command_line) override { 737 virtual void SetUpCommandLine(CommandLine* command_line) override {
712 WizardControllerFlowTest::SetUpCommandLine(command_line); 738 WizardControllerFlowTest::SetUpCommandLine(command_line);
713 739
714 command_line->AppendSwitchASCII( 740 command_line->AppendSwitchASCII(
715 switches::kEnterpriseEnableForcedReEnrollment, 741 switches::kEnterpriseEnableForcedReEnrollment,
716 chromeos::AutoEnrollmentController::kForcedReEnrollmentAlways); 742 chromeos::AutoEnrollmentController::kForcedReEnrollmentAlways);
717 command_line->AppendSwitchASCII( 743 command_line->AppendSwitchASCII(
718 switches::kEnterpriseEnrollmentInitialModulus, "1"); 744 switches::kEnterpriseEnrollmentInitialModulus, "1");
719 command_line->AppendSwitchASCII( 745 command_line->AppendSwitchASCII(
720 switches::kEnterpriseEnrollmentModulusLimit, "2"); 746 switches::kEnterpriseEnrollmentModulusLimit, "2");
721 } 747 }
722 748
723 system::ScopedFakeStatisticsProvider fake_statistics_provider_; 749 system::ScopedFakeStatisticsProvider fake_statistics_provider_;
724 750
725 private: 751 private:
726 DISALLOW_COPY_AND_ASSIGN(WizardControllerEnrollmentFlowTest); 752 policy::ScopedStubEnterpriseInstallAttributes install_attributes_;
753
754 DISALLOW_COPY_AND_ASSIGN(WizardControllerDeviceStateTest);
727 }; 755 };
728 756
729 IN_PROC_BROWSER_TEST_F(WizardControllerEnrollmentFlowTest, 757 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest,
730 ControlFlowForcedReEnrollment) { 758 ControlFlowForcedReEnrollment) {
731 CheckCurrentScreen(WizardController::kNetworkScreenName); 759 CheckCurrentScreen(WizardController::kNetworkScreenName);
732 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 760 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
733 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 761 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
734 OnExit(ScreenObserver::NETWORK_CONNECTED); 762 OnExit(ScreenObserver::NETWORK_CONNECTED);
735 763
736 CheckCurrentScreen(WizardController::kEulaScreenName); 764 CheckCurrentScreen(WizardController::kEulaScreenName);
737 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 765 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
738 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 766 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
739 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 767 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
740 OnExit(ScreenObserver::EULA_ACCEPTED); 768 OnExit(ScreenObserver::EULA_ACCEPTED);
769
741 // Let update screen smooth time process (time = 0ms). 770 // Let update screen smooth time process (time = 0ms).
742 content::RunAllPendingInMessageLoop(); 771 content::RunAllPendingInMessageLoop();
743 772
744 CheckCurrentScreen(WizardController::kUpdateScreenName); 773 CheckCurrentScreen(WizardController::kUpdateScreenName);
745 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 774 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
746 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 775 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
747 OnExit(ScreenObserver::UPDATE_INSTALLED); 776 OnExit(ScreenObserver::UPDATE_INSTALLED);
748 777
749 AutoEnrollmentCheckScreen* screen = 778 AutoEnrollmentCheckScreen* screen =
750 AutoEnrollmentCheckScreen::Get(WizardController::default_controller()); 779 AutoEnrollmentCheckScreen::Get(WizardController::default_controller());
751 EXPECT_EQ(screen, 780 EXPECT_EQ(screen,
752 WizardController::default_controller()->current_screen()); 781 WizardController::default_controller()->current_screen());
753 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); 782 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
754 screen->Start(); 783 screen->Start();
784
755 // Wait for auto-enrollment controller to encounter the connection error. 785 // Wait for auto-enrollment controller to encounter the connection error.
756 WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR); 786 WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR);
757 787
758 // 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.
759 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); 789 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
760 EXPECT_EQ(GetErrorScreen(), 790 EXPECT_EQ(GetErrorScreen(),
761 WizardController::default_controller()->current_screen()); 791 WizardController::default_controller()->current_screen());
762 base::DictionaryValue device_state; 792 base::DictionaryValue device_state;
763 device_state.SetString(policy::kDeviceStateRestoreMode, 793 device_state.SetString(policy::kDeviceStateRestoreMode,
764 policy::kDeviceStateRestoreModeReEnrollmentEnforced); 794 policy::kDeviceStateRestoreModeReEnrollmentEnforced);
765 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState, 795 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState,
766 device_state); 796 device_state);
767 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1); 797 EXPECT_CALL(*mock_enrollment_screen_, Show()).Times(1);
768 EXPECT_CALL(*mock_enrollment_screen_->actor(), 798 EXPECT_CALL(*mock_enrollment_screen_->actor(),
769 SetParameters(mock_enrollment_screen_, 799 SetParameters(mock_enrollment_screen_,
770 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED, 800 EnrollmentScreenActor::ENROLLMENT_MODE_FORCED,
771 "")).Times(1); 801 "")).Times(1);
772 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 802 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
773 803
774 ResetAutoEnrollmentCheckScreen(); 804 ResetAutoEnrollmentCheckScreen();
775 805
776 // Make sure enterprise enrollment page shows up. 806 // Make sure enterprise enrollment page shows up.
777 CheckCurrentScreen(WizardController::kEnrollmentScreenName); 807 CheckCurrentScreen(WizardController::kEnrollmentScreenName);
778 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED); 808 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED);
779 809
780 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); 810 EXPECT_TRUE(StartupUtils::IsOobeCompleted());
781 } 811 }
782 812
783 IN_PROC_BROWSER_TEST_F(WizardControllerEnrollmentFlowTest, 813 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest,
784 ControlFlowNoForcedReEnrollmentOnFirstBoot) { 814 ControlFlowNoForcedReEnrollmentOnFirstBoot) {
785 fake_statistics_provider_.ClearMachineStatistic(system::kActivateDateKey); 815 fake_statistics_provider_.ClearMachineStatistic(system::kActivateDateKey);
786 EXPECT_NE(policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT, 816 EXPECT_NE(policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT,
787 LoginDisplayHostImpl::default_host() 817 LoginDisplayHostImpl::default_host()
788 ->GetAutoEnrollmentController() 818 ->GetAutoEnrollmentController()
789 ->state()); 819 ->state());
790 820
791 CheckCurrentScreen(WizardController::kNetworkScreenName); 821 CheckCurrentScreen(WizardController::kNetworkScreenName);
792 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 822 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
793 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 823 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
794 OnExit(ScreenObserver::NETWORK_CONNECTED); 824 OnExit(ScreenObserver::NETWORK_CONNECTED);
795 825
796 CheckCurrentScreen(WizardController::kEulaScreenName); 826 CheckCurrentScreen(WizardController::kEulaScreenName);
797 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 827 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
798 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 828 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
799 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 829 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
800 OnExit(ScreenObserver::EULA_ACCEPTED); 830 OnExit(ScreenObserver::EULA_ACCEPTED);
831
801 // Let update screen smooth time process (time = 0ms). 832 // Let update screen smooth time process (time = 0ms).
802 content::RunAllPendingInMessageLoop(); 833 content::RunAllPendingInMessageLoop();
803 834
804 CheckCurrentScreen(WizardController::kUpdateScreenName); 835 CheckCurrentScreen(WizardController::kUpdateScreenName);
805 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 836 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
806 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 837 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
807 OnExit(ScreenObserver::UPDATE_INSTALLED); 838 OnExit(ScreenObserver::UPDATE_INSTALLED);
808 839
809 AutoEnrollmentCheckScreen* screen = 840 AutoEnrollmentCheckScreen* screen =
810 AutoEnrollmentCheckScreen::Get(WizardController::default_controller()); 841 AutoEnrollmentCheckScreen::Get(WizardController::default_controller());
811 EXPECT_EQ(screen, 842 EXPECT_EQ(screen,
812 WizardController::default_controller()->current_screen()); 843 WizardController::default_controller()->current_screen());
844 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
813 screen->Start(); 845 screen->Start();
814 EXPECT_EQ(policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT, 846 EXPECT_EQ(policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT,
815 LoginDisplayHostImpl::default_host() 847 LoginDisplayHostImpl::default_host()
816 ->GetAutoEnrollmentController() 848 ->GetAutoEnrollmentController()
817 ->state()); 849 ->state());
818 } 850 }
819 851
852 IN_PROC_BROWSER_TEST_F(WizardControllerDeviceStateTest,
853 ControlFlowDeviceDisabled) {
854 CheckCurrentScreen(WizardController::kNetworkScreenName);
855 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
856 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
857 OnExit(ScreenObserver::NETWORK_CONNECTED);
858
859 CheckCurrentScreen(WizardController::kEulaScreenName);
860 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
861 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
862 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
863 OnExit(ScreenObserver::EULA_ACCEPTED);
864
865 // Let update screen smooth time process (time = 0ms).
866 content::RunAllPendingInMessageLoop();
867
868 CheckCurrentScreen(WizardController::kUpdateScreenName);
869 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
870 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
871 OnExit(ScreenObserver::UPDATE_INSTALLED);
872
873 AutoEnrollmentCheckScreen* screen =
874 AutoEnrollmentCheckScreen::Get(WizardController::default_controller());
875 EXPECT_EQ(screen,
876 WizardController::default_controller()->current_screen());
877 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
878 screen->Start();
879
880 // Wait for auto-enrollment controller to encounter the connection error.
881 WaitForAutoEnrollmentState(policy::AUTO_ENROLLMENT_STATE_CONNECTION_ERROR);
882
883 // The error screen shows up if device state could not be retrieved.
884 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
885 EXPECT_EQ(GetErrorScreen(),
886 WizardController::default_controller()->current_screen());
887 base::DictionaryValue device_state;
888 device_state.SetBoolean(policy::kDeviceStateDisabled, true);
889 device_state.SetString(policy::kDeviceStateDisabledMessage, kDisabledMessage);
890 g_browser_process->local_state()->Set(prefs::kServerBackedDeviceState,
891 device_state);
892 EXPECT_CALL(*device_disabled_screen_actor_, Show(kDisabledMessage)).Times(1);
893 OnExit(ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
894
895 ResetAutoEnrollmentCheckScreen();
896
897 // Make sure the device disabled screen is shown.
898 CheckCurrentScreen(WizardController::kDeviceDisabledScreenName);
899
900 EXPECT_FALSE(StartupUtils::IsOobeCompleted());
901 }
902
820 class WizardControllerBrokenLocalStateTest : public WizardControllerTest { 903 class WizardControllerBrokenLocalStateTest : public WizardControllerTest {
821 protected: 904 protected:
822 WizardControllerBrokenLocalStateTest() 905 WizardControllerBrokenLocalStateTest()
823 : fake_session_manager_client_(NULL) { 906 : fake_session_manager_client_(NULL) {
824 } 907 }
825 908
826 virtual ~WizardControllerBrokenLocalStateTest() {} 909 virtual ~WizardControllerBrokenLocalStateTest() {}
827 910
828 virtual void SetUpInProcessBrowserTestFixture() override { 911 virtual void SetUpInProcessBrowserTestFixture() override {
829 WizardControllerTest::SetUpInProcessBrowserTestFixture(); 912 WizardControllerTest::SetUpInProcessBrowserTestFixture();
830 913
831 fake_session_manager_client_ = new FakeSessionManagerClient; 914 fake_session_manager_client_ = new FakeSessionManagerClient;
832 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient( 915 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient(
833 scoped_ptr<SessionManagerClient>(fake_session_manager_client_)); 916 scoped_ptr<SessionManagerClient>(fake_session_manager_client_));
834 } 917 }
835 918
836 virtual void SetUpOnMainThread() override { 919 virtual void SetUpOnMainThread() override {
837 base::PrefServiceFactory factory; 920 base::PrefServiceFactory factory;
838 factory.set_user_prefs(make_scoped_refptr(new PrefStoreStub())); 921 factory.set_user_prefs(make_scoped_refptr(new PrefStoreStub()));
839 local_state_ = factory.Create(new PrefRegistrySimple()).Pass(); 922 local_state_ = factory.Create(new PrefRegistrySimple()).Pass();
840 WizardController::set_local_state_for_testing(local_state_.get()); 923 WizardController::set_local_state_for_testing(local_state_.get());
841 924
842 WizardControllerTest::SetUpOnMainThread(); 925 WizardControllerTest::SetUpOnMainThread();
843 926
844 // Make sure that OOBE is run as an "official" build. 927 // Make sure that OOBE is run as an "official" build.
845 WizardController::default_controller()->is_official_build_ = true; 928 WizardController::default_controller()->is_official_build_ = true;
846 } 929 }
847 930
848 virtual void TearDownInProcessBrowserTestFixture() override {
849 WizardControllerTest::TearDownInProcessBrowserTestFixture();
850 }
851
852
853 FakeSessionManagerClient* fake_session_manager_client() const { 931 FakeSessionManagerClient* fake_session_manager_client() const {
854 return fake_session_manager_client_; 932 return fake_session_manager_client_;
855 } 933 }
856 934
857 private: 935 private:
858 scoped_ptr<PrefService> local_state_; 936 scoped_ptr<PrefService> local_state_;
859 FakeSessionManagerClient* fake_session_manager_client_; 937 FakeSessionManagerClient* fake_session_manager_client_;
860 938
861 DISALLOW_COPY_AND_ASSIGN(WizardControllerBrokenLocalStateTest); 939 DISALLOW_COPY_AND_ASSIGN(WizardControllerBrokenLocalStateTest);
862 }; 940 };
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 CheckCurrentScreen(WizardController::kNetworkScreenName); 1041 CheckCurrentScreen(WizardController::kNetworkScreenName);
964 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 1042 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
965 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 1043 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
966 OnExit(ScreenObserver::NETWORK_CONNECTED); 1044 OnExit(ScreenObserver::NETWORK_CONNECTED);
967 1045
968 CheckCurrentScreen(WizardController::kEulaScreenName); 1046 CheckCurrentScreen(WizardController::kEulaScreenName);
969 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 1047 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
970 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 1048 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
971 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 1049 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
972 OnExit(ScreenObserver::EULA_ACCEPTED); 1050 OnExit(ScreenObserver::EULA_ACCEPTED);
1051
973 // Let update screen smooth time process (time = 0ms). 1052 // Let update screen smooth time process (time = 0ms).
974 content::RunAllPendingInMessageLoop(); 1053 content::RunAllPendingInMessageLoop();
975 1054
976 CheckCurrentScreen(WizardController::kUpdateScreenName); 1055 CheckCurrentScreen(WizardController::kUpdateScreenName);
977 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 1056 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
978 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 1057 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
979 OnExit(ScreenObserver::UPDATE_INSTALLED); 1058 OnExit(ScreenObserver::UPDATE_INSTALLED);
980 1059
981 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 1060 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName);
982 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); 1061 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
(...skipping 24 matching lines...) Expand all
1007 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); 1086 EXPECT_CALL(*mock_network_screen_, Show()).Times(1);
1008 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); 1087 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1);
1009 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); 1088 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1);
1010 OnExit(ScreenObserver::NETWORK_CONNECTED); 1089 OnExit(ScreenObserver::NETWORK_CONNECTED);
1011 1090
1012 CheckCurrentScreen(WizardController::kEulaScreenName); 1091 CheckCurrentScreen(WizardController::kEulaScreenName);
1013 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); 1092 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1);
1014 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1); 1093 EXPECT_CALL(*mock_update_screen_, StartNetworkCheck()).Times(1);
1015 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); 1094 EXPECT_CALL(*mock_update_screen_, Show()).Times(1);
1016 OnExit(ScreenObserver::EULA_ACCEPTED); 1095 OnExit(ScreenObserver::EULA_ACCEPTED);
1096
1017 // Let update screen smooth time process (time = 0ms). 1097 // Let update screen smooth time process (time = 0ms).
1018 content::RunAllPendingInMessageLoop(); 1098 content::RunAllPendingInMessageLoop();
1019 1099
1020 CheckCurrentScreen(WizardController::kUpdateScreenName); 1100 CheckCurrentScreen(WizardController::kUpdateScreenName);
1021 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); 1101 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1);
1022 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1); 1102 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Show()).Times(1);
1023 OnExit(ScreenObserver::UPDATE_INSTALLED); 1103 OnExit(ScreenObserver::UPDATE_INSTALLED);
1024 1104
1025 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName); 1105 CheckCurrentScreen(WizardController::kAutoEnrollmentCheckScreenName);
1026 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1); 1106 EXPECT_CALL(*mock_auto_enrollment_check_screen_, Hide()).Times(1);
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1106 // TODO(dzhioev): Add test emaulating device with wrong HWID. 1186 // TODO(dzhioev): Add test emaulating device with wrong HWID.
1107 1187
1108 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571 1188 // TODO(nkostylev): Add test for WebUI accelerators http://crosbug.com/22571
1109 1189
1110 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when 1190 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when
1111 // UI and logic is ready. http://crbug.com/127016 1191 // UI and logic is ready. http://crbug.com/127016
1112 1192
1113 // TODO(dzhioev): Add tests for controller/host pairing flow. 1193 // TODO(dzhioev): Add tests for controller/host pairing flow.
1114 // http://crbug.com/375191 1194 // http://crbug.com/375191
1115 1195
1116 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 23, 1196 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 24,
1117 add_tests_for_new_control_flow_you_just_introduced); 1197 add_tests_for_new_control_flow_you_just_introduced);
1118 1198
1119 } // namespace chromeos 1199 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.cc ('k') | chrome/browser/chromeos/policy/auto_enrollment_client.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698