| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <string> | 5 #include <string> |
| 6 | 6 |
| 7 | 7 |
| 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/run_loop.h" | 10 #include "base/run_loop.h" |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 function.append("').value = '"); | 119 function.append("').value = '"); |
| 120 function.append(value); | 120 function.append(value); |
| 121 function.append("'"); | 121 function.append("'"); |
| 122 JSEval(function); | 122 JSEval(function); |
| 123 } | 123 } |
| 124 | 124 |
| 125 void PrepareUsers(); | 125 void PrepareUsers(); |
| 126 void CreateSupervisedUser(); | 126 void CreateSupervisedUser(); |
| 127 void SigninAsSupervisedUser(); | 127 void SigninAsSupervisedUser(); |
| 128 void RemoveSupervisedUser(); | 128 void RemoveSupervisedUser(); |
| 129 void LogInAsManagerAndFillUserData(); |
| 129 | 130 |
| 130 protected: | 131 protected: |
| 131 cryptohome::MockAsyncMethodCaller* mock_async_method_caller_; | 132 cryptohome::MockAsyncMethodCaller* mock_async_method_caller_; |
| 132 NetworkPortalDetectorTestImpl* network_portal_detector_; | 133 NetworkPortalDetectorTestImpl* network_portal_detector_; |
| 133 ManagedUserRegistrationUtilityStub* registration_utility_stub_; | 134 ManagedUserRegistrationUtilityStub* registration_utility_stub_; |
| 134 scoped_ptr<ScopedTestingManagedUserRegistrationUtility> scoped_utility_; | 135 scoped_ptr<ScopedTestingManagedUserRegistrationUtility> scoped_utility_; |
| 135 | 136 |
| 136 private: | 137 private: |
| 137 DISALLOW_COPY_AND_ASSIGN(SupervisedUserTest); | 138 DISALLOW_COPY_AND_ASSIGN(SupervisedUserTest); |
| 138 }; | 139 }; |
| 139 | 140 |
| 140 void SupervisedUserTest::PrepareUsers() { | 141 void SupervisedUserTest::PrepareUsers() { |
| 141 RegisterUser(kTestManager); | 142 RegisterUser(kTestManager); |
| 142 RegisterUser(kTestOtherUser); | 143 RegisterUser(kTestOtherUser); |
| 143 chromeos::StartupUtils::MarkOobeCompleted(); | 144 chromeos::StartupUtils::MarkOobeCompleted(); |
| 144 } | 145 } |
| 145 | 146 |
| 146 void SupervisedUserTest::CreateSupervisedUser() { | 147 void SupervisedUserTest::LogInAsManagerAndFillUserData() { |
| 147 // Create supervised user. | 148 // Create supervised user. |
| 148 | 149 |
| 149 // Navigate to supervised user creation screen. | 150 // Navigate to supervised user creation screen. |
| 150 JSEval("chrome.send('showLocallyManagedUserCreationScreen')"); | 151 JSEval("chrome.send('showLocallyManagedUserCreationScreen')"); |
| 151 | 152 |
| 152 // Read intro and proceed. | 153 // Read intro and proceed. |
| 153 JSExpect("$('managed-user-creation').currentPage_ == 'intro'"); | 154 JSExpect("$('managed-user-creation').currentPage_ == 'intro'"); |
| 154 | 155 |
| 155 JSEval("$('managed-user-creation-start-button').click()"); | 156 JSEval("$('managed-user-creation-start-button').click()"); |
| 156 | 157 |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 | 209 |
| 209 JSSetTextField( | 210 JSSetTextField( |
| 210 "#managed-user-creation-password", | 211 "#managed-user-creation-password", |
| 211 kSupervisedUserPassword); | 212 kSupervisedUserPassword); |
| 212 JSSetTextField( | 213 JSSetTextField( |
| 213 "#managed-user-creation-password-confirm", | 214 "#managed-user-creation-password-confirm", |
| 214 kSupervisedUserPassword); | 215 kSupervisedUserPassword); |
| 215 | 216 |
| 216 JSEval("$('managed-user-creation').updateNextButtonForUser_()"); | 217 JSEval("$('managed-user-creation').updateNextButtonForUser_()"); |
| 217 JSExpect("!$('managed-user-creation-next-button').disabled"); | 218 JSExpect("!$('managed-user-creation-next-button').disabled"); |
| 219 } |
| 220 |
| 221 void SupervisedUserTest::CreateSupervisedUser() { |
| 222 LogInAsManagerAndFillUserData(); |
| 218 | 223 |
| 219 EXPECT_CALL(*mock_async_method_caller_, AsyncMount(_, _, _, _)) | 224 EXPECT_CALL(*mock_async_method_caller_, AsyncMount(_, _, _, _)) |
| 220 .Times(1); | 225 .Times(1); |
| 221 EXPECT_CALL(*mock_async_method_caller_, AsyncGetSanitizedUsername(_, _)) | 226 EXPECT_CALL(*mock_async_method_caller_, AsyncGetSanitizedUsername(_, _)) |
| 222 .Times(1); | 227 .Times(1); |
| 223 EXPECT_CALL(*mock_async_method_caller_, AsyncAddKey(_, _, _, _)) | 228 EXPECT_CALL(*mock_async_method_caller_, AsyncAddKey(_, _, _, _)) |
| 224 .Times(1); | 229 .Times(1); |
| 225 | 230 |
| 226 JSEval("$('managed-user-creation-next-button').click()"); | 231 JSEval("$('managed-user-creation-next-button').click()"); |
| 227 | 232 |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 276 JSEval(std::string("$('pod-row').pods[0].") | 281 JSEval(std::string("$('pod-row').pods[0].") |
| 277 .append("querySelector('.remove-warning-button').click()")); | 282 .append("querySelector('.remove-warning-button').click()")); |
| 278 | 283 |
| 279 // Make sure there is no supervised user in list. | 284 // Make sure there is no supervised user in list. |
| 280 ASSERT_EQ(2UL, UserManager::Get()->GetUsers().size()); | 285 ASSERT_EQ(2UL, UserManager::Get()->GetUsers().size()); |
| 281 } | 286 } |
| 282 | 287 |
| 283 class SupervisedUserCreationTest : public SupervisedUserTest { | 288 class SupervisedUserCreationTest : public SupervisedUserTest { |
| 284 public: | 289 public: |
| 285 SupervisedUserCreationTest() : SupervisedUserTest() {} | 290 SupervisedUserCreationTest() : SupervisedUserTest() {} |
| 291 |
| 286 private: | 292 private: |
| 287 DISALLOW_COPY_AND_ASSIGN(SupervisedUserCreationTest); | 293 DISALLOW_COPY_AND_ASSIGN(SupervisedUserCreationTest); |
| 288 }; | 294 }; |
| 289 | 295 |
| 296 class SupervisedUserTransactionCleanupTest : public SupervisedUserTest { |
| 297 public: |
| 298 SupervisedUserTransactionCleanupTest() : SupervisedUserTest () {} |
| 299 |
| 300 private: |
| 301 DISALLOW_COPY_AND_ASSIGN(SupervisedUserTransactionCleanupTest); |
| 302 }; |
| 303 |
| 290 class SupervisedUserOwnerCreationTest : public SupervisedUserTest { | 304 class SupervisedUserOwnerCreationTest : public SupervisedUserTest { |
| 291 public: | 305 public: |
| 292 SupervisedUserOwnerCreationTest() : SupervisedUserTest() {} | 306 SupervisedUserOwnerCreationTest() : SupervisedUserTest() {} |
| 293 | 307 |
| 294 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { | 308 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { |
| 295 SupervisedUserTest::SetUpInProcessBrowserTestFixture(); | 309 SupervisedUserTest::SetUpInProcessBrowserTestFixture(); |
| 296 cros_settings_provider_.reset(new StubCrosSettingsProvider()); | 310 cros_settings_provider_.reset(new StubCrosSettingsProvider()); |
| 297 cros_settings_provider_->Set(kDeviceOwner, base::StringValue(kTestManager)); | 311 cros_settings_provider_->Set(kDeviceOwner, base::StringValue(kTestManager)); |
| 298 } | 312 } |
| 313 |
| 299 private: | 314 private: |
| 300 scoped_ptr<StubCrosSettingsProvider> cros_settings_provider_; | 315 scoped_ptr<StubCrosSettingsProvider> cros_settings_provider_; |
| 301 DISALLOW_COPY_AND_ASSIGN(SupervisedUserOwnerCreationTest); | 316 DISALLOW_COPY_AND_ASSIGN(SupervisedUserOwnerCreationTest); |
| 302 }; | 317 }; |
| 303 | 318 |
| 304 IN_PROC_BROWSER_TEST_F(SupervisedUserCreationTest, | 319 IN_PROC_BROWSER_TEST_F(SupervisedUserCreationTest, |
| 305 PRE_PRE_PRE_CreateAndRemoveSupervisedUser) { | 320 PRE_PRE_PRE_CreateAndRemoveSupervisedUser) { |
| 306 PrepareUsers(); | 321 PrepareUsers(); |
| 307 } | 322 } |
| 308 | 323 |
| (...skipping 25 matching lines...) Expand all Loading... |
| 334 IN_PROC_BROWSER_TEST_F(SupervisedUserOwnerCreationTest, | 349 IN_PROC_BROWSER_TEST_F(SupervisedUserOwnerCreationTest, |
| 335 PRE_CreateAndRemoveSupervisedUser) { | 350 PRE_CreateAndRemoveSupervisedUser) { |
| 336 SigninAsSupervisedUser(); | 351 SigninAsSupervisedUser(); |
| 337 } | 352 } |
| 338 | 353 |
| 339 IN_PROC_BROWSER_TEST_F(SupervisedUserOwnerCreationTest, | 354 IN_PROC_BROWSER_TEST_F(SupervisedUserOwnerCreationTest, |
| 340 CreateAndRemoveSupervisedUser) { | 355 CreateAndRemoveSupervisedUser) { |
| 341 RemoveSupervisedUser(); | 356 RemoveSupervisedUser(); |
| 342 } | 357 } |
| 343 | 358 |
| 359 IN_PROC_BROWSER_TEST_F(SupervisedUserTransactionCleanupTest, |
| 360 PRE_PRE_CreateAndCancelSupervisedUser) { |
| 361 PrepareUsers(); |
| 362 } |
| 363 |
| 364 IN_PROC_BROWSER_TEST_F(SupervisedUserTransactionCleanupTest, |
| 365 PRE_CreateAndCancelSupervisedUser) { |
| 366 LogInAsManagerAndFillUserData(); |
| 367 |
| 368 EXPECT_CALL(*mock_async_method_caller_, AsyncMount(_, _, _, _)) |
| 369 .Times(1); |
| 370 EXPECT_CALL(*mock_async_method_caller_, AsyncGetSanitizedUsername(_, _)) |
| 371 .Times(1); |
| 372 EXPECT_CALL(*mock_async_method_caller_, AsyncAddKey(_, _, _, _)) |
| 373 .Times(1); |
| 374 |
| 375 JSEval("$('managed-user-creation-next-button').click()"); |
| 376 |
| 377 testing::Mock::VerifyAndClearExpectations(mock_async_method_caller_); |
| 378 |
| 379 EXPECT_TRUE(registration_utility_stub_->register_was_called()); |
| 380 EXPECT_EQ(registration_utility_stub_->display_name(), |
| 381 UTF8ToUTF16(kSupervisedUserDisplayName)); |
| 382 |
| 383 std::string user_id = registration_utility_stub_->managed_user_id(); |
| 384 // Make sure user is already in list. |
| 385 ASSERT_EQ(3UL, UserManager::Get()->GetUsers().size()); |
| 386 // We wait for token now. Press cancel button at this point. |
| 387 JSEval("$('cancel-add-user-button').click()"); |
| 388 } |
| 389 |
| 390 IN_PROC_BROWSER_TEST_F(SupervisedUserTransactionCleanupTest, |
| 391 CreateAndCancelSupervisedUser) { |
| 392 // Make sure there is no supervised user in list. |
| 393 ASSERT_EQ(2UL, UserManager::Get()->GetUsers().size()); |
| 394 } |
| 395 |
| 344 } // namespace chromeos | 396 } // namespace chromeos |
| OLD | NEW |