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

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

Issue 270563002: Componentize LoginManagerTest. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move parameter from ctor to fn Created 6 years, 7 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 | Annotate | Revision Log
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 <map> 5 #include <map>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "base/file_util.h" 11 #include "base/file_util.h"
12 #include "base/files/file_path.h" 12 #include "base/files/file_path.h"
13 #include "base/json/json_writer.h" 13 #include "base/json/json_writer.h"
14 #include "base/memory/linked_ptr.h" 14 #include "base/memory/linked_ptr.h"
15 #include "base/memory/ref_counted.h" 15 #include "base/memory/ref_counted.h"
16 #include "base/memory/ref_counted_memory.h" 16 #include "base/memory/ref_counted_memory.h"
17 #include "base/memory/scoped_ptr.h" 17 #include "base/memory/scoped_ptr.h"
18 #include "base/message_loop/message_loop_proxy.h" 18 #include "base/message_loop/message_loop_proxy.h"
19 #include "base/path_service.h" 19 #include "base/path_service.h"
20 #include "base/prefs/pref_change_registrar.h" 20 #include "base/prefs/pref_change_registrar.h"
21 #include "base/prefs/pref_service.h" 21 #include "base/prefs/pref_service.h"
22 #include "base/prefs/scoped_user_pref_update.h" 22 #include "base/prefs/scoped_user_pref_update.h"
23 #include "base/run_loop.h" 23 #include "base/run_loop.h"
24 #include "base/time/time.h" 24 #include "base/time/time.h"
25 #include "base/values.h" 25 #include "base/values.h"
26 #include "chrome/browser/browser_process.h" 26 #include "chrome/browser/browser_process.h"
27 #include "chrome/browser/chrome_notification_types.h" 27 #include "chrome/browser/chrome_notification_types.h"
28 #include "chrome/browser/chromeos/login/default_user_images.h" 28 #include "chrome/browser/chromeos/login/default_user_images.h"
29 #include "chrome/browser/chromeos/login/login_manager_test.h" 29 #include "chrome/browser/chromeos/login/login_manager_test_helper.h"
30 #include "chrome/browser/chromeos/login/mock_user_manager.h" 30 #include "chrome/browser/chromeos/login/mock_user_manager.h"
31 #include "chrome/browser/chromeos/login/startup_utils.h" 31 #include "chrome/browser/chromeos/login/startup_utils.h"
32 #include "chrome/browser/chromeos/login/user.h" 32 #include "chrome/browser/chromeos/login/user.h"
33 #include "chrome/browser/chromeos/login/user_image.h" 33 #include "chrome/browser/chromeos/login/user_image.h"
34 #include "chrome/browser/chromeos/login/user_image_manager.h" 34 #include "chrome/browser/chromeos/login/user_image_manager.h"
35 #include "chrome/browser/chromeos/login/user_image_manager_impl.h" 35 #include "chrome/browser/chromeos/login/user_image_manager_impl.h"
36 #include "chrome/browser/chromeos/login/user_image_manager_test_util.h" 36 #include "chrome/browser/chromeos/login/user_image_manager_test_util.h"
37 #include "chrome/browser/chromeos/login/user_manager.h" 37 #include "chrome/browser/chromeos/login/user_manager.h"
38 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u til.h" 38 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u til.h"
39 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h" 39 #include "chrome/browser/chromeos/policy/user_cloud_policy_manager_chromeos.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 policy::UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile); 87 policy::UserCloudPolicyManagerFactoryChromeOS::GetForProfile(profile);
88 if (!policy_manager) { 88 if (!policy_manager) {
89 ADD_FAILURE(); 89 ADD_FAILURE();
90 return NULL; 90 return NULL;
91 } 91 }
92 return policy_manager->core()->store(); 92 return policy_manager->core()->store();
93 } 93 }
94 94
95 } // namespace 95 } // namespace
96 96
97 class UserImageManagerTest : public LoginManagerTest, 97 class UserImageManagerTest : public InProcessBrowserTest,
98 public UserManager::Observer { 98 public UserManager::Observer {
99 protected: 99 protected:
100 UserImageManagerTest() : LoginManagerTest(true) { 100 UserImageManagerTest()
101 : login_manager_test_helper_(new LoginManagerTestHelper) {
102 set_exit_when_last_browser_closes(false);
101 } 103 }
102 104
103 // LoginManagerTest overrides: 105 // InProcessBrowserTest overrides:
104 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE { 106 virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
105 LoginManagerTest::SetUpInProcessBrowserTestFixture(); 107 login_manager_test_helper_->SetUpLoginUtils(true);
106 108
107 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_)); 109 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_));
108 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir_)); 110 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir_));
109 } 111 }
110 112
111 virtual void SetUpOnMainThread() OVERRIDE { 113 virtual void SetUpOnMainThread() OVERRIDE {
112 LoginManagerTest::SetUpOnMainThread(); 114 login_manager_test_helper_->SetUp();
113 local_state_ = g_browser_process->local_state(); 115 local_state_ = g_browser_process->local_state();
114 UserManager::Get()->AddObserver(this); 116 UserManager::Get()->AddObserver(this);
115 } 117 }
116 118
117 virtual void TearDownOnMainThread() OVERRIDE { 119 virtual void TearDownOnMainThread() OVERRIDE {
118 UserManager::Get()->RemoveObserver(this); 120 UserManager::Get()->RemoveObserver(this);
119 LoginManagerTest::TearDownOnMainThread(); 121 InProcessBrowserTest::TearDownOnMainThread();
122 }
123
124 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
125 login_manager_test_helper_->SetUpCommandLine(command_line);
126 }
127
128 virtual void CleanUpOnMainThread() OVERRIDE {
129 login_manager_test_helper_->CleanUp();
120 } 130 }
121 131
122 // UserManager::Observer overrides: 132 // UserManager::Observer overrides:
123 virtual void LocalStateChanged(UserManager* user_manager) OVERRIDE { 133 virtual void LocalStateChanged(UserManager* user_manager) OVERRIDE {
124 if (run_loop_) 134 if (run_loop_)
125 run_loop_->Quit(); 135 run_loop_->Quit();
126 } 136 }
127 137
128 // Logs in |username|. 138 // Logs in |username|.
129 void LogIn(const std::string& username) { 139 void LogIn(const std::string& username) {
130 UserManager::Get()->UserLoggedIn(username, username, false); 140 UserManager::Get()->UserLoggedIn(username, username, false);
131 } 141 }
132 142
133 // Stores old (pre-migration) user image info. 143 // Stores old (pre-migration) user image info.
134 void SetOldUserImageInfo(const std::string& username, 144 void SetOldUserImageInfo(const std::string& username,
135 int image_index, 145 int image_index,
136 const base::FilePath& image_path) { 146 const base::FilePath& image_path) {
137 RegisterUser(username); 147 login_manager_test_helper_->RegisterUser(username);
138 DictionaryPrefUpdate images_pref(local_state_, "UserImages"); 148 DictionaryPrefUpdate images_pref(local_state_, "UserImages");
139 base::DictionaryValue* image_properties = new base::DictionaryValue(); 149 base::DictionaryValue* image_properties = new base::DictionaryValue();
140 image_properties->Set( 150 image_properties->Set(
141 "index", base::Value::CreateIntegerValue(image_index)); 151 "index", base::Value::CreateIntegerValue(image_index));
142 image_properties->Set( 152 image_properties->Set(
143 "path" , new base::StringValue(image_path.value())); 153 "path" , new base::StringValue(image_path.value()));
144 images_pref->SetWithoutPathExpansion(username, image_properties); 154 images_pref->SetWithoutPathExpansion(username, image_properties);
145 } 155 }
146 156
147 // Verifies user image info in |images_pref| dictionary. 157 // Verifies user image info in |images_pref| dictionary.
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
283 run_loop_->Run(); 293 run_loop_->Run();
284 } 294 }
285 } 295 }
286 296
287 base::FilePath test_data_dir_; 297 base::FilePath test_data_dir_;
288 base::FilePath user_data_dir_; 298 base::FilePath user_data_dir_;
289 299
290 PrefService* local_state_; 300 PrefService* local_state_;
291 301
292 scoped_ptr<gfx::ImageSkia> decoded_image_; 302 scoped_ptr<gfx::ImageSkia> decoded_image_;
293 303 scoped_ptr<LoginManagerTestHelper> login_manager_test_helper_;
294 scoped_ptr<base::RunLoop> run_loop_; 304 scoped_ptr<base::RunLoop> run_loop_;
295 305
296 private: 306 private:
297 DISALLOW_COPY_AND_ASSIGN(UserImageManagerTest); 307 DISALLOW_COPY_AND_ASSIGN(UserImageManagerTest);
298 }; 308 };
299 309
300 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_DefaultUserImagePreserved) { 310 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_DefaultUserImagePreserved) {
301 // Setup an old default (stock) user image. 311 // Setup an old default (stock) user image.
302 ScopedUserManagerEnabler(new MockUserManager); 312 ScopedUserManagerEnabler(new MockUserManager);
303 SetOldUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); 313 SetOldUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath());
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 } 391 }
382 // Now the migrated image is used. 392 // Now the migrated image is used.
383 EXPECT_TRUE(user->image_is_safe_format()); 393 EXPECT_TRUE(user->image_is_safe_format());
384 // Check image dimensions. Images can't be compared since JPEG is lossy. 394 // Check image dimensions. Images can't be compared since JPEG is lossy.
385 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex); 395 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex);
386 EXPECT_EQ(saved_image.width(), user->GetImage().width()); 396 EXPECT_EQ(saved_image.width(), user->GetImage().width());
387 EXPECT_EQ(saved_image.height(), user->GetImage().height()); 397 EXPECT_EQ(saved_image.height(), user->GetImage().height());
388 } 398 }
389 399
390 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { 400 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) {
391 RegisterUser(kTestUser1); 401 login_manager_test_helper_->RegisterUser(kTestUser1);
392 } 402 }
393 403
394 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the 404 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the
395 // chosen user image. 405 // chosen user image.
396 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { 406 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) {
397 const User* user = UserManager::Get()->FindUser(kTestUser1); 407 const User* user = UserManager::Get()->FindUser(kTestUser1);
398 ASSERT_TRUE(user); 408 ASSERT_TRUE(user);
399 409
400 const gfx::ImageSkia& default_image = 410 const gfx::ImageSkia& default_image =
401 GetDefaultImage(kFirstDefaultImageIndex); 411 GetDefaultImage(kFirstDefaultImageIndex);
402 412
403 UserImageManager* user_image_manager = 413 UserImageManager* user_image_manager =
404 UserManager::Get()->GetUserImageManager(kTestUser1); 414 UserManager::Get()->GetUserImageManager(kTestUser1);
405 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); 415 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex);
406 416
407 EXPECT_TRUE(user->HasDefaultImage()); 417 EXPECT_TRUE(user->HasDefaultImage());
408 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); 418 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index());
409 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); 419 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage()));
410 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); 420 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath());
411 } 421 }
412 422
413 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { 423 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) {
414 RegisterUser(kTestUser1); 424 login_manager_test_helper_->RegisterUser(kTestUser1);
415 } 425 }
416 426
417 // Verifies that SaveUserImage() correctly sets and persists the chosen user 427 // Verifies that SaveUserImage() correctly sets and persists the chosen user
418 // image. 428 // image.
419 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { 429 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) {
420 const User* user = UserManager::Get()->FindUser(kTestUser1); 430 const User* user = UserManager::Get()->FindUser(kTestUser1);
421 ASSERT_TRUE(user); 431 ASSERT_TRUE(user);
422 432
423 SkBitmap custom_image_bitmap; 433 SkBitmap custom_image_bitmap;
424 custom_image_bitmap.setConfig(SkBitmap::kARGB_8888_Config, 10, 10); 434 custom_image_bitmap.setConfig(SkBitmap::kARGB_8888_Config, 10, 10);
(...skipping 18 matching lines...) Expand all
443 const scoped_ptr<gfx::ImageSkia> saved_image = 453 const scoped_ptr<gfx::ImageSkia> saved_image =
444 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 454 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
445 ASSERT_TRUE(saved_image); 455 ASSERT_TRUE(saved_image);
446 456
447 // Check image dimensions. Images can't be compared since JPEG is lossy. 457 // Check image dimensions. Images can't be compared since JPEG is lossy.
448 EXPECT_EQ(custom_image.width(), saved_image->width()); 458 EXPECT_EQ(custom_image.width(), saved_image->width());
449 EXPECT_EQ(custom_image.height(), saved_image->height()); 459 EXPECT_EQ(custom_image.height(), saved_image->height());
450 } 460 }
451 461
452 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) { 462 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) {
453 RegisterUser(kTestUser1); 463 login_manager_test_helper_->RegisterUser(kTestUser1);
454 } 464 }
455 465
456 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen 466 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen
457 // user image. 467 // user image.
458 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) { 468 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) {
459 const User* user = UserManager::Get()->FindUser(kTestUser1); 469 const User* user = UserManager::Get()->FindUser(kTestUser1);
460 ASSERT_TRUE(user); 470 ASSERT_TRUE(user);
461 471
462 const base::FilePath custom_image_path = 472 const base::FilePath custom_image_path =
463 test_data_dir_.Append(test::kUserAvatarImage1RelativePath); 473 test_data_dir_.Append(test::kUserAvatarImage1RelativePath);
(...skipping 18 matching lines...) Expand all
482 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 492 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
483 ASSERT_TRUE(saved_image); 493 ASSERT_TRUE(saved_image);
484 494
485 // Check image dimensions. Images can't be compared since JPEG is lossy. 495 // Check image dimensions. Images can't be compared since JPEG is lossy.
486 EXPECT_EQ(custom_image->width(), saved_image->width()); 496 EXPECT_EQ(custom_image->width(), saved_image->width());
487 EXPECT_EQ(custom_image->height(), saved_image->height()); 497 EXPECT_EQ(custom_image->height(), saved_image->height());
488 } 498 }
489 499
490 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, 500 IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
491 PRE_SaveUserImageFromProfileImage) { 501 PRE_SaveUserImageFromProfileImage) {
492 RegisterUser(kTestUser1); 502 login_manager_test_helper_->RegisterUser(kTestUser1);
493 chromeos::StartupUtils::MarkOobeCompleted(); 503 chromeos::StartupUtils::MarkOobeCompleted();
494 } 504 }
495 505
496 // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and 506 // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and
497 // persists the chosen user image. 507 // persists the chosen user image.
498 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) { 508 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) {
499 const User* user = UserManager::Get()->FindUser(kTestUser1); 509 const User* user = UserManager::Get()->FindUser(kTestUser1);
500 ASSERT_TRUE(user); 510 ASSERT_TRUE(user);
501 511
502 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); 512 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting();
503 LoginUser(kTestUser1); 513 login_manager_test_helper_->LogInUser(kTestUser1);
504 514
505 run_loop_.reset(new base::RunLoop); 515 run_loop_.reset(new base::RunLoop);
506 UserImageManager* user_image_manager = 516 UserImageManager* user_image_manager =
507 UserManager::Get()->GetUserImageManager(kTestUser1); 517 UserManager::Get()->GetUserImageManager(kTestUser1);
508 user_image_manager->SaveUserImageFromProfileImage(); 518 user_image_manager->SaveUserImageFromProfileImage();
509 run_loop_->Run(); 519 run_loop_->Run();
510 520
511 net::TestURLFetcherFactory url_fetcher_factory; 521 net::TestURLFetcherFactory url_fetcher_factory;
512 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); 522 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory);
513 CompleteProfileImageDownload(&url_fetcher_factory); 523 CompleteProfileImageDownload(&url_fetcher_factory);
(...skipping 12 matching lines...) Expand all
526 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 536 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
527 ASSERT_TRUE(saved_image); 537 ASSERT_TRUE(saved_image);
528 538
529 // Check image dimensions. Images can't be compared since JPEG is lossy. 539 // Check image dimensions. Images can't be compared since JPEG is lossy.
530 EXPECT_EQ(profile_image.width(), saved_image->width()); 540 EXPECT_EQ(profile_image.width(), saved_image->width());
531 EXPECT_EQ(profile_image.height(), saved_image->height()); 541 EXPECT_EQ(profile_image.height(), saved_image->height());
532 } 542 }
533 543
534 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, 544 IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
535 PRE_ProfileImageDownloadDoesNotClobber) { 545 PRE_ProfileImageDownloadDoesNotClobber) {
536 RegisterUser(kTestUser1); 546 login_manager_test_helper_->RegisterUser(kTestUser1);
537 chromeos::StartupUtils::MarkOobeCompleted(); 547 chromeos::StartupUtils::MarkOobeCompleted();
538 } 548 }
539 549
540 // Sets the user image to the profile image, then sets it to one of the default 550 // Sets the user image to the profile image, then sets it to one of the default
541 // images while the profile image download is still in progress. Verifies that 551 // images while the profile image download is still in progress. Verifies that
542 // when the download completes, the profile image is ignored and does not 552 // when the download completes, the profile image is ignored and does not
543 // clobber the default image chosen in the meantime. 553 // clobber the default image chosen in the meantime.
544 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, 554 IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
545 ProfileImageDownloadDoesNotClobber) { 555 ProfileImageDownloadDoesNotClobber) {
546 const User* user = UserManager::Get()->FindUser(kTestUser1); 556 const User* user = UserManager::Get()->FindUser(kTestUser1);
547 ASSERT_TRUE(user); 557 ASSERT_TRUE(user);
548 558
549 const gfx::ImageSkia& default_image = 559 const gfx::ImageSkia& default_image =
550 GetDefaultImage(kFirstDefaultImageIndex); 560 GetDefaultImage(kFirstDefaultImageIndex);
551 561
552 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); 562 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting();
553 LoginUser(kTestUser1); 563 login_manager_test_helper_->LogInUser(kTestUser1);
554 564
555 run_loop_.reset(new base::RunLoop); 565 run_loop_.reset(new base::RunLoop);
556 UserImageManager* user_image_manager = 566 UserImageManager* user_image_manager =
557 UserManager::Get()->GetUserImageManager(kTestUser1); 567 UserManager::Get()->GetUserImageManager(kTestUser1);
558 user_image_manager->SaveUserImageFromProfileImage(); 568 user_image_manager->SaveUserImageFromProfileImage();
559 run_loop_->Run(); 569 run_loop_->Run();
560 570
561 net::TestURLFetcherFactory url_fetcher_factory; 571 net::TestURLFetcherFactory url_fetcher_factory;
562 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); 572 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory);
563 573
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
645 FakeDBusThreadManager* fake_dbus_thread_manager_; 655 FakeDBusThreadManager* fake_dbus_thread_manager_;
646 FakeSessionManagerClient* fake_session_manager_client_; 656 FakeSessionManagerClient* fake_session_manager_client_;
647 657
648 scoped_ptr<gfx::ImageSkia> policy_image_; 658 scoped_ptr<gfx::ImageSkia> policy_image_;
649 659
650 private: 660 private:
651 DISALLOW_COPY_AND_ASSIGN(UserImageManagerPolicyTest); 661 DISALLOW_COPY_AND_ASSIGN(UserImageManagerPolicyTest);
652 }; 662 };
653 663
654 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) { 664 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) {
655 RegisterUser(kTestUser1); 665 login_manager_test_helper_->RegisterUser(kTestUser1);
656 chromeos::StartupUtils::MarkOobeCompleted(); 666 chromeos::StartupUtils::MarkOobeCompleted();
657 } 667 }
658 668
659 // Verifies that the user image can be set through policy. Also verifies that 669 // Verifies that the user image can be set through policy. Also verifies that
660 // after the policy has been cleared, the user is able to choose a different 670 // after the policy has been cleared, the user is able to choose a different
661 // image. 671 // image.
662 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, SetAndClear) { 672 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, SetAndClear) {
663 const User* user = UserManager::Get()->FindUser(kTestUser1); 673 const User* user = UserManager::Get()->FindUser(kTestUser1);
664 ASSERT_TRUE(user); 674 ASSERT_TRUE(user);
665 675
666 LoginUser(kTestUser1); 676 login_manager_test_helper_->LogInUser(kTestUser1);
667 base::RunLoop().RunUntilIdle(); 677 base::RunLoop().RunUntilIdle();
668 678
669 policy::CloudPolicyStore* store = GetStoreForUser(user); 679 policy::CloudPolicyStore* store = GetStoreForUser(user);
670 ASSERT_TRUE(store); 680 ASSERT_TRUE(store);
671 681
672 // Set policy. Verify that the policy-provided user image is downloaded, set 682 // Set policy. Verify that the policy-provided user image is downloaded, set
673 // and persisted. 683 // and persisted.
674 user_policy_.payload().mutable_useravatarimage()->set_value( 684 user_policy_.payload().mutable_useravatarimage()->set_value(
675 ConstructPolicy(test::kUserAvatarImage2RelativePath)); 685 ConstructPolicy(test::kUserAvatarImage2RelativePath));
676 user_policy_.Build(); 686 user_policy_.Build();
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 UserManager::Get()->GetUserImageManager(kTestUser1); 741 UserManager::Get()->GetUserImageManager(kTestUser1);
732 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); 742 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex);
733 743
734 EXPECT_TRUE(user->HasDefaultImage()); 744 EXPECT_TRUE(user->HasDefaultImage());
735 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); 745 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index());
736 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); 746 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage()));
737 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); 747 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath());
738 } 748 }
739 749
740 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { 750 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) {
741 RegisterUser(kTestUser1); 751 login_manager_test_helper_->RegisterUser(kTestUser1);
742 chromeos::StartupUtils::MarkOobeCompleted(); 752 chromeos::StartupUtils::MarkOobeCompleted();
743 } 753 }
744 754
745 // Verifies that when the user chooses a user image and a different image is 755 // Verifies that when the user chooses a user image and a different image is
746 // then set through policy, the policy takes precedence, overriding the 756 // then set through policy, the policy takes precedence, overriding the
747 // previously chosen image. 757 // previously chosen image.
748 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) { 758 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) {
749 const User* user = UserManager::Get()->FindUser(kTestUser1); 759 const User* user = UserManager::Get()->FindUser(kTestUser1);
750 ASSERT_TRUE(user); 760 ASSERT_TRUE(user);
751 761
752 LoginUser(kTestUser1); 762 login_manager_test_helper_->LogInUser(kTestUser1);
753 base::RunLoop().RunUntilIdle(); 763 base::RunLoop().RunUntilIdle();
754 764
755 policy::CloudPolicyStore* store = GetStoreForUser(user); 765 policy::CloudPolicyStore* store = GetStoreForUser(user);
756 ASSERT_TRUE(store); 766 ASSERT_TRUE(store);
757 767
758 // Choose a user image. Verify that the chosen user image is set and 768 // Choose a user image. Verify that the chosen user image is set and
759 // persisted. 769 // persisted.
760 const gfx::ImageSkia& default_image = 770 const gfx::ImageSkia& default_image =
761 GetDefaultImage(kFirstDefaultImageIndex); 771 GetDefaultImage(kFirstDefaultImageIndex);
762 772
(...skipping 28 matching lines...) Expand all
791 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 801 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
792 ASSERT_TRUE(saved_image); 802 ASSERT_TRUE(saved_image);
793 803
794 // Check image dimensions. Images can't be compared since JPEG is lossy. 804 // Check image dimensions. Images can't be compared since JPEG is lossy.
795 EXPECT_EQ(policy_image_->width(), saved_image->width()); 805 EXPECT_EQ(policy_image_->width(), saved_image->width());
796 EXPECT_EQ(policy_image_->height(), saved_image->height()); 806 EXPECT_EQ(policy_image_->height(), saved_image->height());
797 } 807 }
798 808
799 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, 809 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest,
800 PRE_UserDoesNotOverridePolicy) { 810 PRE_UserDoesNotOverridePolicy) {
801 RegisterUser(kTestUser1); 811 login_manager_test_helper_->RegisterUser(kTestUser1);
802 chromeos::StartupUtils::MarkOobeCompleted(); 812 chromeos::StartupUtils::MarkOobeCompleted();
803 } 813 }
804 814
805 // Verifies that when the user image has been set through policy and the user 815 // Verifies that when the user image has been set through policy and the user
806 // chooses a different image, the policy takes precedence, preventing the user 816 // chooses a different image, the policy takes precedence, preventing the user
807 // from overriding the previously chosen image. 817 // from overriding the previously chosen image.
808 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) { 818 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) {
809 const User* user = UserManager::Get()->FindUser(kTestUser1); 819 const User* user = UserManager::Get()->FindUser(kTestUser1);
810 ASSERT_TRUE(user); 820 ASSERT_TRUE(user);
811 821
812 LoginUser(kTestUser1); 822 login_manager_test_helper_->LogInUser(kTestUser1);
813 base::RunLoop().RunUntilIdle(); 823 base::RunLoop().RunUntilIdle();
814 824
815 policy::CloudPolicyStore* store = GetStoreForUser(user); 825 policy::CloudPolicyStore* store = GetStoreForUser(user);
816 ASSERT_TRUE(store); 826 ASSERT_TRUE(store);
817 827
818 // Set policy. Verify that the policy-provided user image is downloaded, set 828 // Set policy. Verify that the policy-provided user image is downloaded, set
819 // and persisted. 829 // and persisted.
820 user_policy_.payload().mutable_useravatarimage()->set_value( 830 user_policy_.payload().mutable_useravatarimage()->set_value(
821 ConstructPolicy(test::kUserAvatarImage2RelativePath)); 831 ConstructPolicy(test::kUserAvatarImage2RelativePath));
822 user_policy_.Build(); 832 user_policy_.Build();
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
856 866
857 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 867 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load();
858 ASSERT_TRUE(saved_image); 868 ASSERT_TRUE(saved_image);
859 869
860 // Check image dimensions. Images can't be compared since JPEG is lossy. 870 // Check image dimensions. Images can't be compared since JPEG is lossy.
861 EXPECT_EQ(policy_image_->width(), saved_image->width()); 871 EXPECT_EQ(policy_image_->width(), saved_image->width());
862 EXPECT_EQ(policy_image_->height(), saved_image->height()); 872 EXPECT_EQ(policy_image_->height(), saved_image->height());
863 } 873 }
864 874
865 } // namespace chromeos 875 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698