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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 " \"dstOffset\" : 0.0,\n" | 100 " \"dstOffset\" : 0.0,\n" |
101 " \"rawOffset\" : -32400.0,\n" | 101 " \"rawOffset\" : -32400.0,\n" |
102 " \"status\" : \"OK\",\n" | 102 " \"status\" : \"OK\",\n" |
103 " \"timeZoneId\" : \"America/Anchorage\",\n" | 103 " \"timeZoneId\" : \"America/Anchorage\",\n" |
104 " \"timeZoneName\" : \"Pacific Standard Time\"\n" | 104 " \"timeZoneName\" : \"Pacific Standard Time\"\n" |
105 "}"; | 105 "}"; |
106 | 106 |
107 class PrefStoreStub : public TestingPrefStore { | 107 class PrefStoreStub : public TestingPrefStore { |
108 public: | 108 public: |
109 // TestingPrefStore overrides: | 109 // TestingPrefStore overrides: |
110 virtual PrefReadError GetReadError() const OVERRIDE { | 110 virtual PrefReadError GetReadError() const override { |
111 return PersistentPrefStore::PREF_READ_ERROR_JSON_PARSE; | 111 return PersistentPrefStore::PREF_READ_ERROR_JSON_PARSE; |
112 } | 112 } |
113 | 113 |
114 virtual bool IsInitializationComplete() const OVERRIDE { | 114 virtual bool IsInitializationComplete() const override { |
115 return true; | 115 return true; |
116 } | 116 } |
117 | 117 |
118 private: | 118 private: |
119 virtual ~PrefStoreStub() {} | 119 virtual ~PrefStoreStub() {} |
120 }; | 120 }; |
121 | 121 |
122 struct SwitchLanguageTestData { | 122 struct SwitchLanguageTestData { |
123 SwitchLanguageTestData() : success(false), done(false) {} | 123 SwitchLanguageTestData() : success(false), done(false) {} |
124 | 124 |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 ->screens_[WizardController::screen_name] = make_linked_ptr(mock_var); \ | 217 ->screens_[WizardController::screen_name] = make_linked_ptr(mock_var); \ |
218 EXPECT_CALL(*mock_var, Show()).Times(0); \ | 218 EXPECT_CALL(*mock_var, Show()).Times(0); \ |
219 EXPECT_CALL(*mock_var, Hide()).Times(0); | 219 EXPECT_CALL(*mock_var, Hide()).Times(0); |
220 | 220 |
221 class WizardControllerTest : public WizardInProcessBrowserTest { | 221 class WizardControllerTest : public WizardInProcessBrowserTest { |
222 protected: | 222 protected: |
223 WizardControllerTest() : WizardInProcessBrowserTest( | 223 WizardControllerTest() : WizardInProcessBrowserTest( |
224 WizardController::kTestNoScreenName) {} | 224 WizardController::kTestNoScreenName) {} |
225 virtual ~WizardControllerTest() {} | 225 virtual ~WizardControllerTest() {} |
226 | 226 |
227 virtual void SetUpOnMainThread() OVERRIDE { | 227 virtual void SetUpOnMainThread() override { |
228 AccessibilityManager::Get()-> | 228 AccessibilityManager::Get()-> |
229 SetProfileForTest(ProfileHelper::GetSigninProfile()); | 229 SetProfileForTest(ProfileHelper::GetSigninProfile()); |
230 WizardInProcessBrowserTest::SetUpOnMainThread(); | 230 WizardInProcessBrowserTest::SetUpOnMainThread(); |
231 } | 231 } |
232 | 232 |
233 ErrorScreen* GetErrorScreen() { | 233 ErrorScreen* GetErrorScreen() { |
234 return static_cast<ScreenObserver*>(WizardController::default_controller()) | 234 return static_cast<ScreenObserver*>(WizardController::default_controller()) |
235 ->GetErrorScreen(); | 235 ->GetErrorScreen(); |
236 } | 236 } |
237 | 237 |
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 cras->GetOutputVolumePercent()); | 338 cras->GetOutputVolumePercent()); |
339 } | 339 } |
340 | 340 |
341 class WizardControllerTestURLFetcherFactory | 341 class WizardControllerTestURLFetcherFactory |
342 : public net::TestURLFetcherFactory { | 342 : public net::TestURLFetcherFactory { |
343 public: | 343 public: |
344 virtual net::URLFetcher* CreateURLFetcher( | 344 virtual net::URLFetcher* CreateURLFetcher( |
345 int id, | 345 int id, |
346 const GURL& url, | 346 const GURL& url, |
347 net::URLFetcher::RequestType request_type, | 347 net::URLFetcher::RequestType request_type, |
348 net::URLFetcherDelegate* d) OVERRIDE { | 348 net::URLFetcherDelegate* d) override { |
349 if (StartsWithASCII( | 349 if (StartsWithASCII( |
350 url.spec(), | 350 url.spec(), |
351 SimpleGeolocationProvider::DefaultGeolocationProviderURL().spec(), | 351 SimpleGeolocationProvider::DefaultGeolocationProviderURL().spec(), |
352 true)) { | 352 true)) { |
353 return new net::FakeURLFetcher(url, | 353 return new net::FakeURLFetcher(url, |
354 d, | 354 d, |
355 std::string(kGeolocationResponseBody), | 355 std::string(kGeolocationResponseBody), |
356 net::HTTP_OK, | 356 net::HTTP_OK, |
357 net::URLRequestStatus::SUCCESS); | 357 net::URLRequestStatus::SUCCESS); |
358 } | 358 } |
(...skipping 18 matching lines...) Expand all Loading... |
377 void Run() { loop_.Run(); } | 377 void Run() { loop_.Run(); } |
378 | 378 |
379 private: | 379 private: |
380 base::RunLoop loop_; | 380 base::RunLoop loop_; |
381 }; | 381 }; |
382 | 382 |
383 class WizardControllerFlowTest : public WizardControllerTest { | 383 class WizardControllerFlowTest : public WizardControllerTest { |
384 protected: | 384 protected: |
385 WizardControllerFlowTest() {} | 385 WizardControllerFlowTest() {} |
386 // Overriden from InProcessBrowserTest: | 386 // Overriden from InProcessBrowserTest: |
387 virtual void SetUpOnMainThread() OVERRIDE { | 387 virtual void SetUpOnMainThread() override { |
388 WizardControllerTest::SetUpOnMainThread(); | 388 WizardControllerTest::SetUpOnMainThread(); |
389 | 389 |
390 // Make sure that OOBE is run as an "official" build. | 390 // Make sure that OOBE is run as an "official" build. |
391 WizardController::default_controller()->is_official_build_ = true; | 391 WizardController::default_controller()->is_official_build_ = true; |
392 | 392 |
393 // Clear portal list (as it is by default in OOBE). | 393 // Clear portal list (as it is by default in OOBE). |
394 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); | 394 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); |
395 | 395 |
396 // Set up the mocks for all screens. | 396 // Set up the mocks for all screens. |
397 MOCK(mock_network_screen_, | 397 MOCK(mock_network_screen_, |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
695 // After warning is skipped, user returns to sign-in screen. | 695 // After warning is skipped, user returns to sign-in screen. |
696 // And this destroys WizardController. | 696 // And this destroys WizardController. |
697 OnExit(ScreenObserver::WRONG_HWID_WARNING_SKIPPED); | 697 OnExit(ScreenObserver::WRONG_HWID_WARNING_SKIPPED); |
698 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); | 698 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
699 } | 699 } |
700 | 700 |
701 class WizardControllerEnrollmentFlowTest : public WizardControllerFlowTest { | 701 class WizardControllerEnrollmentFlowTest : public WizardControllerFlowTest { |
702 protected: | 702 protected: |
703 WizardControllerEnrollmentFlowTest() {} | 703 WizardControllerEnrollmentFlowTest() {} |
704 | 704 |
705 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 705 virtual void SetUpCommandLine(CommandLine* command_line) override { |
706 WizardControllerFlowTest::SetUpCommandLine(command_line); | 706 WizardControllerFlowTest::SetUpCommandLine(command_line); |
707 | 707 |
708 command_line->AppendSwitchASCII( | 708 command_line->AppendSwitchASCII( |
709 switches::kEnterpriseEnableForcedReEnrollment, | 709 switches::kEnterpriseEnableForcedReEnrollment, |
710 chromeos::AutoEnrollmentController::kForcedReEnrollmentAlways); | 710 chromeos::AutoEnrollmentController::kForcedReEnrollmentAlways); |
711 command_line->AppendSwitchASCII( | 711 command_line->AppendSwitchASCII( |
712 switches::kEnterpriseEnrollmentInitialModulus, "1"); | 712 switches::kEnterpriseEnrollmentInitialModulus, "1"); |
713 command_line->AppendSwitchASCII( | 713 command_line->AppendSwitchASCII( |
714 switches::kEnterpriseEnrollmentModulusLimit, "2"); | 714 switches::kEnterpriseEnrollmentModulusLimit, "2"); |
715 } | 715 } |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
773 } | 773 } |
774 | 774 |
775 class WizardControllerBrokenLocalStateTest : public WizardControllerTest { | 775 class WizardControllerBrokenLocalStateTest : public WizardControllerTest { |
776 protected: | 776 protected: |
777 WizardControllerBrokenLocalStateTest() | 777 WizardControllerBrokenLocalStateTest() |
778 : fake_session_manager_client_(NULL) { | 778 : fake_session_manager_client_(NULL) { |
779 } | 779 } |
780 | 780 |
781 virtual ~WizardControllerBrokenLocalStateTest() {} | 781 virtual ~WizardControllerBrokenLocalStateTest() {} |
782 | 782 |
783 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { | 783 virtual void SetUpInProcessBrowserTestFixture() override { |
784 WizardControllerTest::SetUpInProcessBrowserTestFixture(); | 784 WizardControllerTest::SetUpInProcessBrowserTestFixture(); |
785 | 785 |
786 fake_session_manager_client_ = new FakeSessionManagerClient; | 786 fake_session_manager_client_ = new FakeSessionManagerClient; |
787 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient( | 787 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient( |
788 scoped_ptr<SessionManagerClient>(fake_session_manager_client_)); | 788 scoped_ptr<SessionManagerClient>(fake_session_manager_client_)); |
789 } | 789 } |
790 | 790 |
791 virtual void SetUpOnMainThread() OVERRIDE { | 791 virtual void SetUpOnMainThread() override { |
792 base::PrefServiceFactory factory; | 792 base::PrefServiceFactory factory; |
793 factory.set_user_prefs(make_scoped_refptr(new PrefStoreStub())); | 793 factory.set_user_prefs(make_scoped_refptr(new PrefStoreStub())); |
794 local_state_ = factory.Create(new PrefRegistrySimple()).Pass(); | 794 local_state_ = factory.Create(new PrefRegistrySimple()).Pass(); |
795 WizardController::set_local_state_for_testing(local_state_.get()); | 795 WizardController::set_local_state_for_testing(local_state_.get()); |
796 | 796 |
797 WizardControllerTest::SetUpOnMainThread(); | 797 WizardControllerTest::SetUpOnMainThread(); |
798 | 798 |
799 // Make sure that OOBE is run as an "official" build. | 799 // Make sure that OOBE is run as an "official" build. |
800 WizardController::default_controller()->is_official_build_ = true; | 800 WizardController::default_controller()->is_official_build_ = true; |
801 } | 801 } |
802 | 802 |
803 virtual void TearDownInProcessBrowserTestFixture() OVERRIDE { | 803 virtual void TearDownInProcessBrowserTestFixture() override { |
804 WizardControllerTest::TearDownInProcessBrowserTestFixture(); | 804 WizardControllerTest::TearDownInProcessBrowserTestFixture(); |
805 } | 805 } |
806 | 806 |
807 | 807 |
808 FakeSessionManagerClient* fake_session_manager_client() const { | 808 FakeSessionManagerClient* fake_session_manager_client() const { |
809 return fake_session_manager_client_; | 809 return fake_session_manager_client_; |
810 } | 810 } |
811 | 811 |
812 private: | 812 private: |
813 scoped_ptr<PrefService> local_state_; | 813 scoped_ptr<PrefService> local_state_; |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
845 class WizardControllerProxyAuthOnSigninTest : public WizardControllerTest { | 845 class WizardControllerProxyAuthOnSigninTest : public WizardControllerTest { |
846 protected: | 846 protected: |
847 WizardControllerProxyAuthOnSigninTest() | 847 WizardControllerProxyAuthOnSigninTest() |
848 : proxy_server_(net::SpawnedTestServer::TYPE_BASIC_AUTH_PROXY, | 848 : proxy_server_(net::SpawnedTestServer::TYPE_BASIC_AUTH_PROXY, |
849 net::SpawnedTestServer::kLocalhost, | 849 net::SpawnedTestServer::kLocalhost, |
850 base::FilePath()) { | 850 base::FilePath()) { |
851 } | 851 } |
852 virtual ~WizardControllerProxyAuthOnSigninTest() {} | 852 virtual ~WizardControllerProxyAuthOnSigninTest() {} |
853 | 853 |
854 // Overridden from WizardControllerTest: | 854 // Overridden from WizardControllerTest: |
855 virtual void SetUp() OVERRIDE { | 855 virtual void SetUp() override { |
856 ASSERT_TRUE(proxy_server_.Start()); | 856 ASSERT_TRUE(proxy_server_.Start()); |
857 WizardControllerTest::SetUp(); | 857 WizardControllerTest::SetUp(); |
858 } | 858 } |
859 | 859 |
860 virtual void SetUpOnMainThread() OVERRIDE { | 860 virtual void SetUpOnMainThread() override { |
861 WizardControllerTest::SetUpOnMainThread(); | 861 WizardControllerTest::SetUpOnMainThread(); |
862 WizardController::default_controller()->AdvanceToScreen( | 862 WizardController::default_controller()->AdvanceToScreen( |
863 WizardController::kNetworkScreenName); | 863 WizardController::kNetworkScreenName); |
864 } | 864 } |
865 | 865 |
866 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 866 virtual void SetUpCommandLine(CommandLine* command_line) override { |
867 command_line->AppendSwitchASCII(::switches::kProxyServer, | 867 command_line->AppendSwitchASCII(::switches::kProxyServer, |
868 proxy_server_.host_port_pair().ToString()); | 868 proxy_server_.host_port_pair().ToString()); |
869 } | 869 } |
870 | 870 |
871 net::SpawnedTestServer& proxy_server() { return proxy_server_; } | 871 net::SpawnedTestServer& proxy_server() { return proxy_server_; } |
872 | 872 |
873 private: | 873 private: |
874 net::SpawnedTestServer proxy_server_; | 874 net::SpawnedTestServer proxy_server_; |
875 | 875 |
876 DISALLOW_COPY_AND_ASSIGN(WizardControllerProxyAuthOnSigninTest); | 876 DISALLOW_COPY_AND_ASSIGN(WizardControllerProxyAuthOnSigninTest); |
877 }; | 877 }; |
878 | 878 |
879 IN_PROC_BROWSER_TEST_F(WizardControllerProxyAuthOnSigninTest, | 879 IN_PROC_BROWSER_TEST_F(WizardControllerProxyAuthOnSigninTest, |
880 ProxyAuthDialogOnSigninScreen) { | 880 ProxyAuthDialogOnSigninScreen) { |
881 content::WindowedNotificationObserver auth_needed_waiter( | 881 content::WindowedNotificationObserver auth_needed_waiter( |
882 chrome::NOTIFICATION_AUTH_NEEDED, | 882 chrome::NOTIFICATION_AUTH_NEEDED, |
883 content::NotificationService::AllSources()); | 883 content::NotificationService::AllSources()); |
884 | 884 |
885 CheckCurrentScreen(WizardController::kNetworkScreenName); | 885 CheckCurrentScreen(WizardController::kNetworkScreenName); |
886 | 886 |
887 LoginDisplayHostImpl::default_host()->StartSignInScreen(LoginScreenContext()); | 887 LoginDisplayHostImpl::default_host()->StartSignInScreen(LoginScreenContext()); |
888 auth_needed_waiter.Wait(); | 888 auth_needed_waiter.Wait(); |
889 } | 889 } |
890 | 890 |
891 class WizardControllerKioskFlowTest : public WizardControllerFlowTest { | 891 class WizardControllerKioskFlowTest : public WizardControllerFlowTest { |
892 protected: | 892 protected: |
893 WizardControllerKioskFlowTest() {} | 893 WizardControllerKioskFlowTest() {} |
894 | 894 |
895 // Overridden from InProcessBrowserTest: | 895 // Overridden from InProcessBrowserTest: |
896 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 896 virtual void SetUpCommandLine(CommandLine* command_line) override { |
897 base::FilePath test_data_dir; | 897 base::FilePath test_data_dir; |
898 ASSERT_TRUE(chromeos::test_utils::GetTestDataPath( | 898 ASSERT_TRUE(chromeos::test_utils::GetTestDataPath( |
899 "app_mode", "kiosk_manifest", &test_data_dir)); | 899 "app_mode", "kiosk_manifest", &test_data_dir)); |
900 command_line->AppendSwitchPath( | 900 command_line->AppendSwitchPath( |
901 switches::kAppOemManifestFile, | 901 switches::kAppOemManifestFile, |
902 test_data_dir.AppendASCII("kiosk_manifest.json")); | 902 test_data_dir.AppendASCII("kiosk_manifest.json")); |
903 } | 903 } |
904 | 904 |
905 private: | 905 private: |
906 DISALLOW_COPY_AND_ASSIGN(WizardControllerKioskFlowTest); | 906 DISALLOW_COPY_AND_ASSIGN(WizardControllerKioskFlowTest); |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
990 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_BACK); | 990 OnExit(ScreenObserver::ENTERPRISE_ENROLLMENT_BACK); |
991 | 991 |
992 CheckCurrentScreen(WizardController::kNetworkScreenName); | 992 CheckCurrentScreen(WizardController::kNetworkScreenName); |
993 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 993 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
994 } | 994 } |
995 | 995 |
996 class WizardControllerOobeResumeTest : public WizardControllerTest { | 996 class WizardControllerOobeResumeTest : public WizardControllerTest { |
997 protected: | 997 protected: |
998 WizardControllerOobeResumeTest() {} | 998 WizardControllerOobeResumeTest() {} |
999 // Overriden from InProcessBrowserTest: | 999 // Overriden from InProcessBrowserTest: |
1000 virtual void SetUpOnMainThread() OVERRIDE { | 1000 virtual void SetUpOnMainThread() override { |
1001 WizardControllerTest::SetUpOnMainThread(); | 1001 WizardControllerTest::SetUpOnMainThread(); |
1002 | 1002 |
1003 // Make sure that OOBE is run as an "official" build. | 1003 // Make sure that OOBE is run as an "official" build. |
1004 WizardController::default_controller()->is_official_build_ = true; | 1004 WizardController::default_controller()->is_official_build_ = true; |
1005 | 1005 |
1006 // Clear portal list (as it is by default in OOBE). | 1006 // Clear portal list (as it is by default in OOBE). |
1007 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); | 1007 NetworkHandler::Get()->network_state_handler()->SetCheckPortalList(""); |
1008 | 1008 |
1009 // Set up the mocks for all screens. | 1009 // Set up the mocks for all screens. |
1010 MOCK(mock_network_screen_, | 1010 MOCK(mock_network_screen_, |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1065 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when | 1065 // TODO(merkulova): Add tests for bluetooth HID detection screen variations when |
1066 // UI and logic is ready. http://crbug.com/127016 | 1066 // UI and logic is ready. http://crbug.com/127016 |
1067 | 1067 |
1068 // TODO(dzhioev): Add tests for controller/host pairing flow. | 1068 // TODO(dzhioev): Add tests for controller/host pairing flow. |
1069 // http://crbug.com/375191 | 1069 // http://crbug.com/375191 |
1070 | 1070 |
1071 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 23, | 1071 COMPILE_ASSERT(ScreenObserver::EXIT_CODES_COUNT == 23, |
1072 add_tests_for_new_control_flow_you_just_introduced); | 1072 add_tests_for_new_control_flow_you_just_introduced); |
1073 | 1073 |
1074 } // namespace chromeos | 1074 } // namespace chromeos |
OLD | NEW |