| 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 "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/macros.h" | 6 #include "base/macros.h" |
| 7 #include "base/run_loop.h" | 7 #include "base/run_loop.h" |
| 8 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" | 8 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" |
| 9 #include "chrome/browser/chromeos/login/screens/mock_base_screen_delegate.h" | 9 #include "chrome/browser/chromeos/login/screens/mock_base_screen_delegate.h" |
| 10 #include "chrome/browser/chromeos/login/startup_utils.h" | 10 #include "chrome/browser/chromeos/login/startup_utils.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 public: | 26 public: |
| 27 EnrollmentScreenTest() | 27 EnrollmentScreenTest() |
| 28 : WizardInProcessBrowserTest( | 28 : WizardInProcessBrowserTest( |
| 29 WizardController::kEnrollmentScreenName) {} | 29 WizardController::kEnrollmentScreenName) {} |
| 30 | 30 |
| 31 private: | 31 private: |
| 32 DISALLOW_COPY_AND_ASSIGN(EnrollmentScreenTest); | 32 DISALLOW_COPY_AND_ASSIGN(EnrollmentScreenTest); |
| 33 }; | 33 }; |
| 34 | 34 |
| 35 IN_PROC_BROWSER_TEST_F(EnrollmentScreenTest, TestCancel) { | 35 IN_PROC_BROWSER_TEST_F(EnrollmentScreenTest, TestCancel) { |
| 36 ASSERT_TRUE(WizardController::default_controller() != NULL); | 36 ASSERT_TRUE(WizardController::default_controller()); |
| 37 | 37 |
| 38 EnrollmentScreen* enrollment_screen = | 38 EnrollmentScreen* enrollment_screen = |
| 39 EnrollmentScreen::Get(WizardController::default_controller()); | 39 EnrollmentScreen::Get(WizardController::default_controller()); |
| 40 ASSERT_TRUE(enrollment_screen != NULL); | 40 ASSERT_TRUE(enrollment_screen); |
| 41 | 41 |
| 42 base::RunLoop run_loop; | 42 base::RunLoop run_loop; |
| 43 MockBaseScreenDelegate mock_base_screen_delegate; | 43 MockBaseScreenDelegate mock_base_screen_delegate; |
| 44 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = | 44 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = |
| 45 &mock_base_screen_delegate; | 45 &mock_base_screen_delegate; |
| 46 | 46 |
| 47 ASSERT_EQ(WizardController::default_controller()->current_screen(), | 47 ASSERT_EQ(WizardController::default_controller()->current_screen(), |
| 48 enrollment_screen); | 48 enrollment_screen); |
| 49 | 49 |
| 50 EXPECT_CALL(mock_base_screen_delegate, | 50 EXPECT_CALL(mock_base_screen_delegate, |
| 51 OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED, _)) | 51 OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED, _)) |
| 52 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); | 52 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); |
| 53 enrollment_screen->OnCancel(); | 53 enrollment_screen->OnCancel(); |
| 54 content::RunThisRunLoop(&run_loop); | 54 content::RunThisRunLoop(&run_loop); |
| 55 Mock::VerifyAndClearExpectations(&mock_base_screen_delegate); | 55 Mock::VerifyAndClearExpectations(&mock_base_screen_delegate); |
| 56 | 56 |
| 57 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = | 57 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = |
| 58 WizardController::default_controller(); | 58 WizardController::default_controller(); |
| 59 } | 59 } |
| 60 | 60 |
| 61 // Flaky test: crbug.com/394069 | 61 // Flaky test: crbug.com/394069 |
| 62 IN_PROC_BROWSER_TEST_F(EnrollmentScreenTest, DISABLED_TestSuccess) { | 62 IN_PROC_BROWSER_TEST_F(EnrollmentScreenTest, DISABLED_TestSuccess) { |
| 63 ASSERT_TRUE(WizardController::default_controller() != NULL); | 63 ASSERT_TRUE(WizardController::default_controller()); |
| 64 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); | 64 EXPECT_FALSE(StartupUtils::IsOobeCompleted()); |
| 65 | 65 |
| 66 EnrollmentScreen* enrollment_screen = | 66 EnrollmentScreen* enrollment_screen = |
| 67 EnrollmentScreen::Get(WizardController::default_controller()); | 67 EnrollmentScreen::Get(WizardController::default_controller()); |
| 68 ASSERT_TRUE(enrollment_screen != NULL); | 68 ASSERT_TRUE(enrollment_screen); |
| 69 | 69 |
| 70 base::RunLoop run_loop; | 70 base::RunLoop run_loop; |
| 71 MockBaseScreenDelegate mock_base_screen_delegate; | 71 MockBaseScreenDelegate mock_base_screen_delegate; |
| 72 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = | 72 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = |
| 73 &mock_base_screen_delegate; | 73 &mock_base_screen_delegate; |
| 74 | 74 |
| 75 ASSERT_EQ(WizardController::default_controller()->current_screen(), | 75 ASSERT_EQ(WizardController::default_controller()->current_screen(), |
| 76 enrollment_screen); | 76 enrollment_screen); |
| 77 | 77 |
| 78 enrollment_screen->OnDeviceEnrolled(""); | 78 enrollment_screen->OnDeviceEnrolled(""); |
| 79 run_loop.RunUntilIdle(); | 79 run_loop.RunUntilIdle(); |
| 80 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); | 80 EXPECT_TRUE(StartupUtils::IsOobeCompleted()); |
| 81 | 81 |
| 82 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = | 82 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = |
| 83 WizardController::default_controller(); | 83 WizardController::default_controller(); |
| 84 } | 84 } |
| 85 | 85 |
| 86 class AttestationAuthEnrollmentScreenTest : public EnrollmentScreenTest { |
| 87 public: |
| 88 AttestationAuthEnrollmentScreenTest() {} |
| 89 |
| 90 private: |
| 91 // Overridden from InProcessBrowserTest: |
| 92 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 93 command_line->AppendSwitch(switches::kEnterpriseEnableZeroTouchEnrollment); |
| 94 } |
| 95 |
| 96 DISALLOW_COPY_AND_ASSIGN(AttestationAuthEnrollmentScreenTest); |
| 97 }; |
| 98 |
| 99 IN_PROC_BROWSER_TEST_F(AttestationAuthEnrollmentScreenTest, TestCancel) { |
| 100 ASSERT_TRUE(WizardController::default_controller()); |
| 101 |
| 102 EnrollmentScreen* enrollment_screen = |
| 103 EnrollmentScreen::Get(WizardController::default_controller()); |
| 104 ASSERT_TRUE(enrollment_screen); |
| 105 |
| 106 base::RunLoop run_loop; |
| 107 MockBaseScreenDelegate mock_base_screen_delegate; |
| 108 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = |
| 109 &mock_base_screen_delegate; |
| 110 |
| 111 ASSERT_EQ(WizardController::default_controller()->current_screen(), |
| 112 enrollment_screen); |
| 113 |
| 114 EXPECT_CALL(mock_base_screen_delegate, |
| 115 OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_COMPLETED, _)) |
| 116 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); |
| 117 ASSERT_FALSE(enrollment_screen->AdvanceToNextAuth()); |
| 118 enrollment_screen->OnCancel(); |
| 119 content::RunThisRunLoop(&run_loop); |
| 120 Mock::VerifyAndClearExpectations(&mock_base_screen_delegate); |
| 121 |
| 122 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = |
| 123 WizardController::default_controller(); |
| 124 } |
| 125 |
| 126 class ForcedAttestationAuthEnrollmentScreenTest : public EnrollmentScreenTest { |
| 127 public: |
| 128 ForcedAttestationAuthEnrollmentScreenTest() {} |
| 129 |
| 130 private: |
| 131 // Overridden from InProcessBrowserTest: |
| 132 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 133 command_line->AppendSwitchASCII( |
| 134 switches::kEnterpriseEnableZeroTouchEnrollment, "forced"); |
| 135 } |
| 136 |
| 137 DISALLOW_COPY_AND_ASSIGN(ForcedAttestationAuthEnrollmentScreenTest); |
| 138 }; |
| 139 |
| 140 IN_PROC_BROWSER_TEST_F(ForcedAttestationAuthEnrollmentScreenTest, TestCancel) { |
| 141 ASSERT_TRUE(WizardController::default_controller()); |
| 142 |
| 143 EnrollmentScreen* enrollment_screen = |
| 144 EnrollmentScreen::Get(WizardController::default_controller()); |
| 145 ASSERT_TRUE(enrollment_screen); |
| 146 |
| 147 base::RunLoop run_loop; |
| 148 MockBaseScreenDelegate mock_base_screen_delegate; |
| 149 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = |
| 150 &mock_base_screen_delegate; |
| 151 |
| 152 ASSERT_EQ(WizardController::default_controller()->current_screen(), |
| 153 enrollment_screen); |
| 154 |
| 155 EXPECT_CALL(mock_base_screen_delegate, |
| 156 OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK, _)) |
| 157 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); |
| 158 ASSERT_FALSE(enrollment_screen->AdvanceToNextAuth()); |
| 159 enrollment_screen->OnCancel(); |
| 160 content::RunThisRunLoop(&run_loop); |
| 161 Mock::VerifyAndClearExpectations(&mock_base_screen_delegate); |
| 162 |
| 163 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = |
| 164 WizardController::default_controller(); |
| 165 } |
| 166 |
| 167 class MultiAuthEnrollmentScreenTest : public EnrollmentScreenTest { |
| 168 public: |
| 169 MultiAuthEnrollmentScreenTest() {} |
| 170 |
| 171 private: |
| 172 // Overridden from InProcessBrowserTest: |
| 173 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 174 command_line->AppendSwitch(switches::kEnterpriseEnableZeroTouchEnrollment); |
| 175 // Kiosk mode will force OAuth enrollment. |
| 176 base::FilePath test_data_dir; |
| 177 ASSERT_TRUE(chromeos::test_utils::GetTestDataPath( |
| 178 "app_mode", "kiosk_manifest", &test_data_dir)); |
| 179 command_line->AppendSwitchPath( |
| 180 switches::kAppOemManifestFile, |
| 181 test_data_dir.AppendASCII("kiosk_manifest.json")); |
| 182 } |
| 183 |
| 184 DISALLOW_COPY_AND_ASSIGN(MultiAuthEnrollmentScreenTest); |
| 185 }; |
| 186 |
| 187 IN_PROC_BROWSER_TEST_F(MultiAuthEnrollmentScreenTest, TestCancel) { |
| 188 ASSERT_TRUE(WizardController::default_controller()); |
| 189 |
| 190 EnrollmentScreen* enrollment_screen = |
| 191 EnrollmentScreen::Get(WizardController::default_controller()); |
| 192 ASSERT_TRUE(enrollment_screen); |
| 193 |
| 194 base::RunLoop run_loop; |
| 195 MockBaseScreenDelegate mock_base_screen_delegate; |
| 196 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = |
| 197 &mock_base_screen_delegate; |
| 198 |
| 199 ASSERT_EQ(WizardController::default_controller()->current_screen(), |
| 200 enrollment_screen); |
| 201 |
| 202 EXPECT_CALL(mock_base_screen_delegate, |
| 203 OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK, _)) |
| 204 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); |
| 205 ASSERT_TRUE(enrollment_screen->AdvanceToNextAuth()); |
| 206 enrollment_screen->OnCancel(); |
| 207 content::RunThisRunLoop(&run_loop); |
| 208 Mock::VerifyAndClearExpectations(&mock_base_screen_delegate); |
| 209 |
| 210 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = |
| 211 WizardController::default_controller(); |
| 212 } |
| 213 |
| 86 class ProvisionedEnrollmentScreenTest : public EnrollmentScreenTest { | 214 class ProvisionedEnrollmentScreenTest : public EnrollmentScreenTest { |
| 87 public: | 215 public: |
| 88 ProvisionedEnrollmentScreenTest() {} | 216 ProvisionedEnrollmentScreenTest() {} |
| 89 | 217 |
| 90 private: | 218 private: |
| 91 // Overridden from InProcessBrowserTest: | 219 // Overridden from InProcessBrowserTest: |
| 92 void SetUpCommandLine(base::CommandLine* command_line) override { | 220 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 93 base::FilePath test_data_dir; | 221 base::FilePath test_data_dir; |
| 94 ASSERT_TRUE(chromeos::test_utils::GetTestDataPath( | 222 ASSERT_TRUE(chromeos::test_utils::GetTestDataPath( |
| 95 "app_mode", "kiosk_manifest", &test_data_dir)); | 223 "app_mode", "kiosk_manifest", &test_data_dir)); |
| 96 command_line->AppendSwitchPath( | 224 command_line->AppendSwitchPath( |
| 97 switches::kAppOemManifestFile, | 225 switches::kAppOemManifestFile, |
| 98 test_data_dir.AppendASCII("kiosk_manifest.json")); | 226 test_data_dir.AppendASCII("kiosk_manifest.json")); |
| 99 } | 227 } |
| 100 | 228 |
| 101 DISALLOW_COPY_AND_ASSIGN(ProvisionedEnrollmentScreenTest); | 229 DISALLOW_COPY_AND_ASSIGN(ProvisionedEnrollmentScreenTest); |
| 102 }; | 230 }; |
| 103 | 231 |
| 104 IN_PROC_BROWSER_TEST_F(ProvisionedEnrollmentScreenTest, TestBackButton) { | 232 IN_PROC_BROWSER_TEST_F(ProvisionedEnrollmentScreenTest, TestBackButton) { |
| 105 ASSERT_TRUE(WizardController::default_controller() != NULL); | 233 ASSERT_TRUE(WizardController::default_controller()); |
| 106 | 234 |
| 107 EnrollmentScreen* enrollment_screen = | 235 EnrollmentScreen* enrollment_screen = |
| 108 EnrollmentScreen::Get(WizardController::default_controller()); | 236 EnrollmentScreen::Get(WizardController::default_controller()); |
| 109 ASSERT_TRUE(enrollment_screen != NULL); | 237 ASSERT_TRUE(enrollment_screen); |
| 110 | 238 |
| 111 base::RunLoop run_loop; | 239 base::RunLoop run_loop; |
| 112 MockBaseScreenDelegate mock_base_screen_delegate; | 240 MockBaseScreenDelegate mock_base_screen_delegate; |
| 113 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = | 241 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = |
| 114 &mock_base_screen_delegate; | 242 &mock_base_screen_delegate; |
| 115 | 243 |
| 116 ASSERT_EQ(WizardController::default_controller()->current_screen(), | 244 ASSERT_EQ(WizardController::default_controller()->current_screen(), |
| 117 enrollment_screen); | 245 enrollment_screen); |
| 118 | 246 |
| 119 EXPECT_CALL(mock_base_screen_delegate, | 247 EXPECT_CALL(mock_base_screen_delegate, |
| 120 OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK, _)) | 248 OnExit(_, BaseScreenDelegate::ENTERPRISE_ENROLLMENT_BACK, _)) |
| 121 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); | 249 .WillOnce(InvokeWithoutArgs(&run_loop, &base::RunLoop::Quit)); |
| 122 enrollment_screen->OnCancel(); | 250 enrollment_screen->OnCancel(); |
| 123 content::RunThisRunLoop(&run_loop); | 251 content::RunThisRunLoop(&run_loop); |
| 124 Mock::VerifyAndClearExpectations(&mock_base_screen_delegate); | 252 Mock::VerifyAndClearExpectations(&mock_base_screen_delegate); |
| 125 | 253 |
| 126 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = | 254 static_cast<BaseScreen*>(enrollment_screen)->base_screen_delegate_ = |
| 127 WizardController::default_controller(); | 255 WizardController::default_controller(); |
| 128 } | 256 } |
| 129 | 257 |
| 130 } // namespace chromeos | 258 } // namespace chromeos |
| OLD | NEW |