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 <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" |
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 run_loop.Run(); | 355 run_loop.Run(); |
356 | 356 |
357 // Image info is migrated and the image is converted to JPG. | 357 // Image info is migrated and the image is converted to JPG. |
358 ExpectNewUserImageInfo(kTestUser1, User::kExternalImageIndex, | 358 ExpectNewUserImageInfo(kTestUser1, User::kExternalImageIndex, |
359 GetUserImagePath(kTestUser1, "jpg")); | 359 GetUserImagePath(kTestUser1, "jpg")); |
360 user = UserManager::Get()->GetLoggedInUser(); | 360 user = UserManager::Get()->GetLoggedInUser(); |
361 ASSERT_TRUE(user); | 361 ASSERT_TRUE(user); |
362 EXPECT_FALSE(user->image_is_safe_format()); | 362 EXPECT_FALSE(user->image_is_safe_format()); |
363 // Check image dimensions. | 363 // Check image dimensions. |
364 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex); | 364 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex); |
365 EXPECT_EQ(saved_image.width(), user->image().width()); | 365 EXPECT_EQ(saved_image.width(), user->GetImage().width()); |
366 EXPECT_EQ(saved_image.height(), user->image().height()); | 366 EXPECT_EQ(saved_image.height(), user->GetImage().height()); |
367 } | 367 } |
368 | 368 |
369 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) { | 369 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) { |
370 UserManager::Get()->GetUsers(); // Load users. | 370 UserManager::Get()->GetUsers(); // Load users. |
371 const User* user = UserManager::Get()->FindUser(kTestUser1); | 371 const User* user = UserManager::Get()->FindUser(kTestUser1); |
372 ASSERT_TRUE(user); | 372 ASSERT_TRUE(user); |
373 // Wait for image load. | 373 // Wait for image load. |
374 if (user->image_index() == User::kInvalidImageIndex) { | 374 if (user->image_index() == User::kInvalidImageIndex) { |
375 content::WindowedNotificationObserver( | 375 content::WindowedNotificationObserver( |
376 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, | 376 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, |
377 content::NotificationService::AllSources()).Wait(); | 377 content::NotificationService::AllSources()).Wait(); |
378 } | 378 } |
379 // Now the migrated image is used. | 379 // Now the migrated image is used. |
380 EXPECT_TRUE(user->image_is_safe_format()); | 380 EXPECT_TRUE(user->image_is_safe_format()); |
381 // Check image dimensions. Images can't be compared since JPEG is lossy. | 381 // Check image dimensions. Images can't be compared since JPEG is lossy. |
382 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex); | 382 const gfx::ImageSkia& saved_image = GetDefaultImage(kFirstDefaultImageIndex); |
383 EXPECT_EQ(saved_image.width(), user->image().width()); | 383 EXPECT_EQ(saved_image.width(), user->GetImage().width()); |
384 EXPECT_EQ(saved_image.height(), user->image().height()); | 384 EXPECT_EQ(saved_image.height(), user->GetImage().height()); |
385 } | 385 } |
386 | 386 |
387 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { | 387 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { |
388 RegisterUser(kTestUser1); | 388 RegisterUser(kTestUser1); |
389 } | 389 } |
390 | 390 |
391 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the | 391 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the |
392 // chosen user image. | 392 // chosen user image. |
393 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { | 393 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { |
394 const User* user = UserManager::Get()->FindUser(kTestUser1); | 394 const User* user = UserManager::Get()->FindUser(kTestUser1); |
395 ASSERT_TRUE(user); | 395 ASSERT_TRUE(user); |
396 | 396 |
397 const gfx::ImageSkia& default_image = | 397 const gfx::ImageSkia& default_image = |
398 GetDefaultImage(kFirstDefaultImageIndex); | 398 GetDefaultImage(kFirstDefaultImageIndex); |
399 | 399 |
400 UserImageManager* user_image_manager = | 400 UserImageManager* user_image_manager = |
401 UserManager::Get()->GetUserImageManager(kTestUser1); | 401 UserManager::Get()->GetUserImageManager(kTestUser1); |
402 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); | 402 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); |
403 | 403 |
404 EXPECT_TRUE(user->HasDefaultImage()); | 404 EXPECT_TRUE(user->HasDefaultImage()); |
405 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); | 405 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); |
406 EXPECT_TRUE(test::AreImagesEqual(default_image, user->image())); | 406 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); |
407 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); | 407 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); |
408 } | 408 } |
409 | 409 |
410 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { | 410 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { |
411 RegisterUser(kTestUser1); | 411 RegisterUser(kTestUser1); |
412 } | 412 } |
413 | 413 |
414 // Verifies that SaveUserImage() correctly sets and persists the chosen user | 414 // Verifies that SaveUserImage() correctly sets and persists the chosen user |
415 // image. | 415 // image. |
416 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { | 416 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { |
417 const User* user = UserManager::Get()->FindUser(kTestUser1); | 417 const User* user = UserManager::Get()->FindUser(kTestUser1); |
418 ASSERT_TRUE(user); | 418 ASSERT_TRUE(user); |
419 | 419 |
420 SkBitmap custom_image_bitmap; | 420 SkBitmap custom_image_bitmap; |
421 custom_image_bitmap.setConfig(SkBitmap::kARGB_8888_Config, 10, 10); | 421 custom_image_bitmap.setConfig(SkBitmap::kARGB_8888_Config, 10, 10); |
422 custom_image_bitmap.allocPixels(); | 422 custom_image_bitmap.allocPixels(); |
423 custom_image_bitmap.setImmutable(); | 423 custom_image_bitmap.setImmutable(); |
424 const gfx::ImageSkia custom_image = | 424 const gfx::ImageSkia custom_image = |
425 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap); | 425 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap); |
426 | 426 |
427 run_loop_.reset(new base::RunLoop); | 427 run_loop_.reset(new base::RunLoop); |
428 UserImageManager* user_image_manager = | 428 UserImageManager* user_image_manager = |
429 UserManager::Get()->GetUserImageManager(kTestUser1); | 429 UserManager::Get()->GetUserImageManager(kTestUser1); |
430 user_image_manager->SaveUserImage(UserImage::CreateAndEncode(custom_image)); | 430 user_image_manager->SaveUserImage(UserImage::CreateAndEncode(custom_image)); |
431 run_loop_->Run(); | 431 run_loop_->Run(); |
432 | 432 |
433 EXPECT_FALSE(user->HasDefaultImage()); | 433 EXPECT_FALSE(user->HasDefaultImage()); |
434 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 434 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
435 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->image())); | 435 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage())); |
436 ExpectNewUserImageInfo(kTestUser1, | 436 ExpectNewUserImageInfo(kTestUser1, |
437 User::kExternalImageIndex, | 437 User::kExternalImageIndex, |
438 GetUserImagePath(kTestUser1, "jpg")); | 438 GetUserImagePath(kTestUser1, "jpg")); |
439 | 439 |
440 const scoped_ptr<gfx::ImageSkia> saved_image = | 440 const scoped_ptr<gfx::ImageSkia> saved_image = |
441 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 441 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
442 ASSERT_TRUE(saved_image); | 442 ASSERT_TRUE(saved_image); |
443 | 443 |
444 // Check image dimensions. Images can't be compared since JPEG is lossy. | 444 // Check image dimensions. Images can't be compared since JPEG is lossy. |
445 EXPECT_EQ(custom_image.width(), saved_image->width()); | 445 EXPECT_EQ(custom_image.width(), saved_image->width()); |
(...skipping 17 matching lines...) Expand all Loading... |
463 ASSERT_TRUE(custom_image); | 463 ASSERT_TRUE(custom_image); |
464 | 464 |
465 run_loop_.reset(new base::RunLoop); | 465 run_loop_.reset(new base::RunLoop); |
466 UserImageManager* user_image_manager = | 466 UserImageManager* user_image_manager = |
467 UserManager::Get()->GetUserImageManager(kTestUser1); | 467 UserManager::Get()->GetUserImageManager(kTestUser1); |
468 user_image_manager->SaveUserImageFromFile(custom_image_path); | 468 user_image_manager->SaveUserImageFromFile(custom_image_path); |
469 run_loop_->Run(); | 469 run_loop_->Run(); |
470 | 470 |
471 EXPECT_FALSE(user->HasDefaultImage()); | 471 EXPECT_FALSE(user->HasDefaultImage()); |
472 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 472 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
473 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->image())); | 473 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage())); |
474 ExpectNewUserImageInfo(kTestUser1, | 474 ExpectNewUserImageInfo(kTestUser1, |
475 User::kExternalImageIndex, | 475 User::kExternalImageIndex, |
476 GetUserImagePath(kTestUser1, "jpg")); | 476 GetUserImagePath(kTestUser1, "jpg")); |
477 | 477 |
478 const scoped_ptr<gfx::ImageSkia> saved_image = | 478 const scoped_ptr<gfx::ImageSkia> saved_image = |
479 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 479 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
480 ASSERT_TRUE(saved_image); | 480 ASSERT_TRUE(saved_image); |
481 | 481 |
482 // Check image dimensions. Images can't be compared since JPEG is lossy. | 482 // Check image dimensions. Images can't be compared since JPEG is lossy. |
483 EXPECT_EQ(custom_image->width(), saved_image->width()); | 483 EXPECT_EQ(custom_image->width(), saved_image->width()); |
(...skipping 23 matching lines...) Expand all Loading... |
507 | 507 |
508 net::TestURLFetcherFactory url_fetcher_factory; | 508 net::TestURLFetcherFactory url_fetcher_factory; |
509 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); | 509 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); |
510 CompleteProfileImageDownload(&url_fetcher_factory); | 510 CompleteProfileImageDownload(&url_fetcher_factory); |
511 | 511 |
512 const gfx::ImageSkia& profile_image = | 512 const gfx::ImageSkia& profile_image = |
513 user_image_manager->DownloadedProfileImage(); | 513 user_image_manager->DownloadedProfileImage(); |
514 | 514 |
515 EXPECT_FALSE(user->HasDefaultImage()); | 515 EXPECT_FALSE(user->HasDefaultImage()); |
516 EXPECT_EQ(User::kProfileImageIndex, user->image_index()); | 516 EXPECT_EQ(User::kProfileImageIndex, user->image_index()); |
517 EXPECT_TRUE(test::AreImagesEqual(profile_image, user->image())); | 517 EXPECT_TRUE(test::AreImagesEqual(profile_image, user->GetImage())); |
518 ExpectNewUserImageInfo(kTestUser1, | 518 ExpectNewUserImageInfo(kTestUser1, |
519 User::kProfileImageIndex, | 519 User::kProfileImageIndex, |
520 GetUserImagePath(kTestUser1, "jpg")); | 520 GetUserImagePath(kTestUser1, "jpg")); |
521 | 521 |
522 const scoped_ptr<gfx::ImageSkia> saved_image = | 522 const scoped_ptr<gfx::ImageSkia> saved_image = |
523 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 523 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
524 ASSERT_TRUE(saved_image); | 524 ASSERT_TRUE(saved_image); |
525 | 525 |
526 // Check image dimensions. Images can't be compared since JPEG is lossy. | 526 // Check image dimensions. Images can't be compared since JPEG is lossy. |
527 EXPECT_EQ(profile_image.width(), saved_image->width()); | 527 EXPECT_EQ(profile_image.width(), saved_image->width()); |
(...skipping 29 matching lines...) Expand all Loading... |
557 | 557 |
558 net::TestURLFetcherFactory url_fetcher_factory; | 558 net::TestURLFetcherFactory url_fetcher_factory; |
559 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); | 559 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); |
560 | 560 |
561 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); | 561 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); |
562 | 562 |
563 CompleteProfileImageDownload(&url_fetcher_factory); | 563 CompleteProfileImageDownload(&url_fetcher_factory); |
564 | 564 |
565 EXPECT_TRUE(user->HasDefaultImage()); | 565 EXPECT_TRUE(user->HasDefaultImage()); |
566 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); | 566 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); |
567 EXPECT_TRUE(test::AreImagesEqual(default_image, user->image())); | 567 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); |
568 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); | 568 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); |
569 } | 569 } |
570 | 570 |
571 class UserImageManagerPolicyTest : public UserImageManagerTest, | 571 class UserImageManagerPolicyTest : public UserImageManagerTest, |
572 public policy::CloudPolicyStore::Observer { | 572 public policy::CloudPolicyStore::Observer { |
573 protected: | 573 protected: |
574 UserImageManagerPolicyTest() | 574 UserImageManagerPolicyTest() |
575 : fake_dbus_thread_manager_(new chromeos::FakeDBusThreadManager), | 575 : fake_dbus_thread_manager_(new chromeos::FakeDBusThreadManager), |
576 fake_session_manager_client_(new chromeos::FakeSessionManagerClient) { | 576 fake_session_manager_client_(new chromeos::FakeSessionManagerClient) { |
577 fake_dbus_thread_manager_->SetFakeClients(); | 577 fake_dbus_thread_manager_->SetFakeClients(); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
672 ConstructPolicy(test::kUserAvatarImage2RelativePath)); | 672 ConstructPolicy(test::kUserAvatarImage2RelativePath)); |
673 user_policy_.Build(); | 673 user_policy_.Build(); |
674 fake_session_manager_client_->set_user_policy(kTestUser1, | 674 fake_session_manager_client_->set_user_policy(kTestUser1, |
675 user_policy_.GetBlob()); | 675 user_policy_.GetBlob()); |
676 run_loop_.reset(new base::RunLoop); | 676 run_loop_.reset(new base::RunLoop); |
677 store->Load(); | 677 store->Load(); |
678 run_loop_->Run(); | 678 run_loop_->Run(); |
679 | 679 |
680 EXPECT_FALSE(user->HasDefaultImage()); | 680 EXPECT_FALSE(user->HasDefaultImage()); |
681 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 681 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
682 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->image())); | 682 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
683 ExpectNewUserImageInfo(kTestUser1, | 683 ExpectNewUserImageInfo(kTestUser1, |
684 User::kExternalImageIndex, | 684 User::kExternalImageIndex, |
685 GetUserImagePath(kTestUser1, "jpg")); | 685 GetUserImagePath(kTestUser1, "jpg")); |
686 | 686 |
687 scoped_ptr<gfx::ImageSkia> saved_image = | 687 scoped_ptr<gfx::ImageSkia> saved_image = |
688 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 688 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
689 ASSERT_TRUE(saved_image); | 689 ASSERT_TRUE(saved_image); |
690 | 690 |
691 // Check image dimensions. Images can't be compared since JPEG is lossy. | 691 // Check image dimensions. Images can't be compared since JPEG is lossy. |
692 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 692 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
693 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 693 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
694 | 694 |
695 // Clear policy. Verify that the policy-provided user image remains set as no | 695 // Clear policy. Verify that the policy-provided user image remains set as no |
696 // different user image has been chosen yet. | 696 // different user image has been chosen yet. |
697 user_policy_.payload().Clear(); | 697 user_policy_.payload().Clear(); |
698 user_policy_.Build(); | 698 user_policy_.Build(); |
699 fake_session_manager_client_->set_user_policy(kTestUser1, | 699 fake_session_manager_client_->set_user_policy(kTestUser1, |
700 user_policy_.GetBlob()); | 700 user_policy_.GetBlob()); |
701 run_loop_.reset(new base::RunLoop); | 701 run_loop_.reset(new base::RunLoop); |
702 store->AddObserver(this); | 702 store->AddObserver(this); |
703 store->Load(); | 703 store->Load(); |
704 run_loop_->Run(); | 704 run_loop_->Run(); |
705 store->RemoveObserver(this); | 705 store->RemoveObserver(this); |
706 base::RunLoop().RunUntilIdle(); | 706 base::RunLoop().RunUntilIdle(); |
707 | 707 |
708 EXPECT_FALSE(user->HasDefaultImage()); | 708 EXPECT_FALSE(user->HasDefaultImage()); |
709 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 709 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
710 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->image())); | 710 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
711 ExpectNewUserImageInfo(kTestUser1, | 711 ExpectNewUserImageInfo(kTestUser1, |
712 User::kExternalImageIndex, | 712 User::kExternalImageIndex, |
713 GetUserImagePath(kTestUser1, "jpg")); | 713 GetUserImagePath(kTestUser1, "jpg")); |
714 | 714 |
715 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 715 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
716 ASSERT_TRUE(saved_image); | 716 ASSERT_TRUE(saved_image); |
717 | 717 |
718 // Check image dimensions. Images can't be compared since JPEG is lossy. | 718 // Check image dimensions. Images can't be compared since JPEG is lossy. |
719 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 719 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
720 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 720 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
721 | 721 |
722 // Choose a different user image. Verify that the chosen user image is set and | 722 // Choose a different user image. Verify that the chosen user image is set and |
723 // persisted. | 723 // persisted. |
724 const gfx::ImageSkia& default_image = | 724 const gfx::ImageSkia& default_image = |
725 GetDefaultImage(kFirstDefaultImageIndex); | 725 GetDefaultImage(kFirstDefaultImageIndex); |
726 | 726 |
727 UserImageManager* user_image_manager = | 727 UserImageManager* user_image_manager = |
728 UserManager::Get()->GetUserImageManager(kTestUser1); | 728 UserManager::Get()->GetUserImageManager(kTestUser1); |
729 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); | 729 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); |
730 | 730 |
731 EXPECT_TRUE(user->HasDefaultImage()); | 731 EXPECT_TRUE(user->HasDefaultImage()); |
732 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); | 732 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); |
733 EXPECT_TRUE(test::AreImagesEqual(default_image, user->image())); | 733 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); |
734 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); | 734 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); |
735 } | 735 } |
736 | 736 |
737 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { | 737 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { |
738 RegisterUser(kTestUser1); | 738 RegisterUser(kTestUser1); |
739 chromeos::StartupUtils::MarkOobeCompleted(); | 739 chromeos::StartupUtils::MarkOobeCompleted(); |
740 } | 740 } |
741 | 741 |
742 // Verifies that when the user chooses a user image and a different image is | 742 // Verifies that when the user chooses a user image and a different image is |
743 // then set through policy, the policy takes precedence, overriding the | 743 // then set through policy, the policy takes precedence, overriding the |
(...skipping 12 matching lines...) Expand all Loading... |
756 // persisted. | 756 // persisted. |
757 const gfx::ImageSkia& default_image = | 757 const gfx::ImageSkia& default_image = |
758 GetDefaultImage(kFirstDefaultImageIndex); | 758 GetDefaultImage(kFirstDefaultImageIndex); |
759 | 759 |
760 UserImageManager* user_image_manager = | 760 UserImageManager* user_image_manager = |
761 UserManager::Get()->GetUserImageManager(kTestUser1); | 761 UserManager::Get()->GetUserImageManager(kTestUser1); |
762 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); | 762 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); |
763 | 763 |
764 EXPECT_TRUE(user->HasDefaultImage()); | 764 EXPECT_TRUE(user->HasDefaultImage()); |
765 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); | 765 EXPECT_EQ(kFirstDefaultImageIndex, user->image_index()); |
766 EXPECT_TRUE(test::AreImagesEqual(default_image, user->image())); | 766 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); |
767 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); | 767 ExpectNewUserImageInfo(kTestUser1, kFirstDefaultImageIndex, base::FilePath()); |
768 | 768 |
769 // Set policy. Verify that the policy-provided user image is downloaded, set | 769 // Set policy. Verify that the policy-provided user image is downloaded, set |
770 // and persisted, overriding the previously set image. | 770 // and persisted, overriding the previously set image. |
771 user_policy_.payload().mutable_useravatarimage()->set_value( | 771 user_policy_.payload().mutable_useravatarimage()->set_value( |
772 ConstructPolicy(test::kUserAvatarImage2RelativePath)); | 772 ConstructPolicy(test::kUserAvatarImage2RelativePath)); |
773 user_policy_.Build(); | 773 user_policy_.Build(); |
774 fake_session_manager_client_->set_user_policy(kTestUser1, | 774 fake_session_manager_client_->set_user_policy(kTestUser1, |
775 user_policy_.GetBlob()); | 775 user_policy_.GetBlob()); |
776 run_loop_.reset(new base::RunLoop); | 776 run_loop_.reset(new base::RunLoop); |
777 store->Load(); | 777 store->Load(); |
778 run_loop_->Run(); | 778 run_loop_->Run(); |
779 | 779 |
780 EXPECT_FALSE(user->HasDefaultImage()); | 780 EXPECT_FALSE(user->HasDefaultImage()); |
781 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 781 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
782 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->image())); | 782 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
783 ExpectNewUserImageInfo(kTestUser1, | 783 ExpectNewUserImageInfo(kTestUser1, |
784 User::kExternalImageIndex, | 784 User::kExternalImageIndex, |
785 GetUserImagePath(kTestUser1, "jpg")); | 785 GetUserImagePath(kTestUser1, "jpg")); |
786 | 786 |
787 scoped_ptr<gfx::ImageSkia> saved_image = | 787 scoped_ptr<gfx::ImageSkia> saved_image = |
788 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 788 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
789 ASSERT_TRUE(saved_image); | 789 ASSERT_TRUE(saved_image); |
790 | 790 |
791 // Check image dimensions. Images can't be compared since JPEG is lossy. | 791 // Check image dimensions. Images can't be compared since JPEG is lossy. |
792 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 792 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
(...skipping 25 matching lines...) Expand all Loading... |
818 ConstructPolicy(test::kUserAvatarImage2RelativePath)); | 818 ConstructPolicy(test::kUserAvatarImage2RelativePath)); |
819 user_policy_.Build(); | 819 user_policy_.Build(); |
820 fake_session_manager_client_->set_user_policy(kTestUser1, | 820 fake_session_manager_client_->set_user_policy(kTestUser1, |
821 user_policy_.GetBlob()); | 821 user_policy_.GetBlob()); |
822 run_loop_.reset(new base::RunLoop); | 822 run_loop_.reset(new base::RunLoop); |
823 store->Load(); | 823 store->Load(); |
824 run_loop_->Run(); | 824 run_loop_->Run(); |
825 | 825 |
826 EXPECT_FALSE(user->HasDefaultImage()); | 826 EXPECT_FALSE(user->HasDefaultImage()); |
827 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 827 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
828 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->image())); | 828 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
829 ExpectNewUserImageInfo(kTestUser1, | 829 ExpectNewUserImageInfo(kTestUser1, |
830 User::kExternalImageIndex, | 830 User::kExternalImageIndex, |
831 GetUserImagePath(kTestUser1, "jpg")); | 831 GetUserImagePath(kTestUser1, "jpg")); |
832 | 832 |
833 scoped_ptr<gfx::ImageSkia> saved_image = | 833 scoped_ptr<gfx::ImageSkia> saved_image = |
834 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 834 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
835 ASSERT_TRUE(saved_image); | 835 ASSERT_TRUE(saved_image); |
836 | 836 |
837 // Check image dimensions. Images can't be compared since JPEG is lossy. | 837 // Check image dimensions. Images can't be compared since JPEG is lossy. |
838 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 838 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
839 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 839 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
840 | 840 |
841 // Choose a different user image. Verify that the user image does not change | 841 // Choose a different user image. Verify that the user image does not change |
842 // as policy takes precedence. | 842 // as policy takes precedence. |
843 UserImageManager* user_image_manager = | 843 UserImageManager* user_image_manager = |
844 UserManager::Get()->GetUserImageManager(kTestUser1); | 844 UserManager::Get()->GetUserImageManager(kTestUser1); |
845 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); | 845 user_image_manager->SaveUserDefaultImageIndex(kFirstDefaultImageIndex); |
846 | 846 |
847 EXPECT_FALSE(user->HasDefaultImage()); | 847 EXPECT_FALSE(user->HasDefaultImage()); |
848 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); | 848 EXPECT_EQ(User::kExternalImageIndex, user->image_index()); |
849 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->image())); | 849 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); |
850 ExpectNewUserImageInfo(kTestUser1, | 850 ExpectNewUserImageInfo(kTestUser1, |
851 User::kExternalImageIndex, | 851 User::kExternalImageIndex, |
852 GetUserImagePath(kTestUser1, "jpg")); | 852 GetUserImagePath(kTestUser1, "jpg")); |
853 | 853 |
854 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); | 854 saved_image = test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); |
855 ASSERT_TRUE(saved_image); | 855 ASSERT_TRUE(saved_image); |
856 | 856 |
857 // Check image dimensions. Images can't be compared since JPEG is lossy. | 857 // Check image dimensions. Images can't be compared since JPEG is lossy. |
858 EXPECT_EQ(policy_image_->width(), saved_image->width()); | 858 EXPECT_EQ(policy_image_->width(), saved_image->width()); |
859 EXPECT_EQ(policy_image_->height(), saved_image->height()); | 859 EXPECT_EQ(policy_image_->height(), saved_image->height()); |
860 } | 860 } |
861 | 861 |
862 } // namespace chromeos | 862 } // namespace chromeos |
OLD | NEW |