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

Side by Side Diff: chrome/browser/chromeos/login/managed/supervised_user_creation_browsertest.cc

Issue 63173012: SupervisedUsers : Fix transaction cleanup (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixes Created 7 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/chromeos/login/supervised_user_manager_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/login/supervised_user_manager_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698