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

Side by Side Diff: chrome/browser/chromeos/policy/device_local_account_browsertest.cc

Issue 398753004: [cros] Move User class to user_manager component. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 5 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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 <map> 5 #include <map>
6 #include <string> 6 #include <string>
7 7
8 #include "apps/app_window_registry.h" 8 #include "apps/app_window_registry.h"
9 #include "apps/ui/native_app_window.h" 9 #include "apps/ui/native_app_window.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
(...skipping 25 matching lines...) Expand all
36 #include "chrome/browser/browser_process.h" 36 #include "chrome/browser/browser_process.h"
37 #include "chrome/browser/chrome_notification_types.h" 37 #include "chrome/browser/chrome_notification_types.h"
38 #include "chrome/browser/chromeos/login/existing_user_controller.h" 38 #include "chrome/browser/chromeos/login/existing_user_controller.h"
39 #include "chrome/browser/chromeos/login/screens/wizard_screen.h" 39 #include "chrome/browser/chromeos/login/screens/wizard_screen.h"
40 #include "chrome/browser/chromeos/login/ui/login_display_host.h" 40 #include "chrome/browser/chromeos/login/ui/login_display_host.h"
41 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" 41 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
42 #include "chrome/browser/chromeos/login/ui/webui_login_view.h" 42 #include "chrome/browser/chromeos/login/ui/webui_login_view.h"
43 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" 43 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h"
44 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h" 44 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.h"
45 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_test_uti l.h" 45 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager_test_uti l.h"
46 #include "chrome/browser/chromeos/login/users/user.h"
47 #include "chrome/browser/chromeos/login/users/user_manager.h" 46 #include "chrome/browser/chromeos/login/users/user_manager.h"
48 #include "chrome/browser/chromeos/login/users/user_manager_impl.h" 47 #include "chrome/browser/chromeos/login/users/user_manager_impl.h"
49 #include "chrome/browser/chromeos/login/wizard_controller.h" 48 #include "chrome/browser/chromeos/login/wizard_controller.h"
50 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" 49 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
51 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u til.h" 50 #include "chrome/browser/chromeos/policy/cloud_external_data_manager_base_test_u til.h"
52 #include "chrome/browser/chromeos/policy/device_local_account.h" 51 #include "chrome/browser/chromeos/policy/device_local_account.h"
53 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h" 52 #include "chrome/browser/chromeos/policy/device_local_account_policy_service.h"
54 #include "chrome/browser/chromeos/policy/device_policy_builder.h" 53 #include "chrome/browser/chromeos/policy/device_policy_builder.h"
55 #include "chrome/browser/chromeos/policy/device_policy_cros_browser_test.h" 54 #include "chrome/browser/chromeos/policy/device_policy_cros_browser_test.h"
56 #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h" 55 #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h"
(...skipping 26 matching lines...) Expand all
83 #include "components/policy/core/common/cloud/cloud_policy_constants.h" 82 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
84 #include "components/policy/core/common/cloud/cloud_policy_core.h" 83 #include "components/policy/core/common/cloud/cloud_policy_core.h"
85 #include "components/policy/core/common/cloud/cloud_policy_store.h" 84 #include "components/policy/core/common/cloud/cloud_policy_store.h"
86 #include "components/policy/core/common/cloud/policy_builder.h" 85 #include "components/policy/core/common/cloud/policy_builder.h"
87 #include "components/policy/core/common/external_data_fetcher.h" 86 #include "components/policy/core/common/external_data_fetcher.h"
88 #include "components/policy/core/common/policy_map.h" 87 #include "components/policy/core/common/policy_map.h"
89 #include "components/policy/core/common/policy_namespace.h" 88 #include "components/policy/core/common/policy_namespace.h"
90 #include "components/policy/core/common/policy_service.h" 89 #include "components/policy/core/common/policy_service.h"
91 #include "components/policy/core/common/policy_switches.h" 90 #include "components/policy/core/common/policy_switches.h"
92 #include "components/signin/core/common/signin_pref_names.h" 91 #include "components/signin/core/common/signin_pref_names.h"
92 #include "components/user_manager/user.h"
93 #include "components/user_manager/user_type.h" 93 #include "components/user_manager/user_type.h"
94 #include "content/public/browser/notification_details.h" 94 #include "content/public/browser/notification_details.h"
95 #include "content/public/browser/notification_service.h" 95 #include "content/public/browser/notification_service.h"
96 #include "content/public/browser/notification_source.h" 96 #include "content/public/browser/notification_source.h"
97 #include "content/public/browser/web_contents.h" 97 #include "content/public/browser/web_contents.h"
98 #include "content/public/browser/web_ui.h" 98 #include "content/public/browser/web_ui.h"
99 #include "content/public/test/browser_test_utils.h" 99 #include "content/public/test/browser_test_utils.h"
100 #include "content/public/test/test_utils.h" 100 #include "content/public/test/test_utils.h"
101 #include "crypto/rsa_private_key.h" 101 #include "crypto/rsa_private_key.h"
102 #include "extensions/browser/extension_system.h" 102 #include "extensions/browser/extension_system.h"
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 proto.mutable_device_local_accounts()->add_account(); 409 proto.mutable_device_local_accounts()->add_account();
410 account->set_account_id(username); 410 account->set_account_id(username);
411 account->set_type( 411 account->set_type(
412 em::DeviceLocalAccountInfoProto::ACCOUNT_TYPE_PUBLIC_SESSION); 412 em::DeviceLocalAccountInfoProto::ACCOUNT_TYPE_PUBLIC_SESSION);
413 RefreshDevicePolicy(); 413 RefreshDevicePolicy();
414 test_server_.UpdatePolicy(dm_protocol::kChromeDevicePolicyType, 414 test_server_.UpdatePolicy(dm_protocol::kChromeDevicePolicyType,
415 std::string(), proto.SerializeAsString()); 415 std::string(), proto.SerializeAsString());
416 } 416 }
417 417
418 void CheckPublicSessionPresent(const std::string& id) { 418 void CheckPublicSessionPresent(const std::string& id) {
419 const chromeos::User* user = chromeos::UserManager::Get()->FindUser(id); 419 const user_manager::User* user = chromeos::UserManager::Get()->FindUser(id);
420 ASSERT_TRUE(user); 420 ASSERT_TRUE(user);
421 EXPECT_EQ(id, user->email()); 421 EXPECT_EQ(id, user->email());
422 EXPECT_EQ(user_manager::USER_TYPE_PUBLIC_ACCOUNT, user->GetType()); 422 EXPECT_EQ(user_manager::USER_TYPE_PUBLIC_ACCOUNT, user->GetType());
423 } 423 }
424 424
425 base::FilePath GetExtensionCacheDirectoryForAccountID( 425 base::FilePath GetExtensionCacheDirectoryForAccountID(
426 const std::string& account_id) { 426 const std::string& account_id) {
427 base::FilePath extension_cache_root_dir; 427 base::FilePath extension_cache_root_dir;
428 if (!PathService::Get(chromeos::DIR_DEVICE_LOCAL_ACCOUNT_EXTENSIONS, 428 if (!PathService::Get(chromeos::DIR_DEVICE_LOCAL_ACCOUNT_EXTENSIONS,
429 &extension_cache_root_dir)) { 429 &extension_cache_root_dir)) {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 content::WindowedNotificationObserver(chrome::NOTIFICATION_USER_LIST_CHANGED, 472 content::WindowedNotificationObserver(chrome::NOTIFICATION_USER_LIST_CHANGED,
473 base::Bind(&IsKnownUser, user_id_2_)) 473 base::Bind(&IsKnownUser, user_id_2_))
474 .Wait(); 474 .Wait();
475 475
476 CheckPublicSessionPresent(user_id_1_); 476 CheckPublicSessionPresent(user_id_1_);
477 CheckPublicSessionPresent(user_id_2_); 477 CheckPublicSessionPresent(user_id_2_);
478 } 478 }
479 479
480 static bool DisplayNameMatches(const std::string& account_id, 480 static bool DisplayNameMatches(const std::string& account_id,
481 const std::string& display_name) { 481 const std::string& display_name) {
482 const chromeos::User* user = 482 const user_manager::User* user =
483 chromeos::UserManager::Get()->FindUser(account_id); 483 chromeos::UserManager::Get()->FindUser(account_id);
484 if (!user || user->display_name().empty()) 484 if (!user || user->display_name().empty())
485 return false; 485 return false;
486 EXPECT_EQ(base::UTF8ToUTF16(display_name), user->display_name()); 486 EXPECT_EQ(base::UTF8ToUTF16(display_name), user->display_name());
487 return true; 487 return true;
488 } 488 }
489 489
490 IN_PROC_BROWSER_TEST_F(DeviceLocalAccountTest, DisplayName) { 490 IN_PROC_BROWSER_TEST_F(DeviceLocalAccountTest, DisplayName) {
491 UploadAndInstallDeviceLocalAccountPolicy(); 491 UploadAndInstallDeviceLocalAccountPolicy();
492 AddPublicSessionToDevicePolicy(kAccountId1); 492 AddPublicSessionToDevicePolicy(kAccountId1);
(...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after
1011 run_loop_.reset(new base::RunLoop); 1011 run_loop_.reset(new base::RunLoop);
1012 chromeos::UserManager::Get()->AddObserver(this); 1012 chromeos::UserManager::Get()->AddObserver(this);
1013 broker->core()->store()->Load(); 1013 broker->core()->store()->Load();
1014 run_loop_->Run(); 1014 run_loop_->Run();
1015 chromeos::UserManager::Get()->RemoveObserver(this); 1015 chromeos::UserManager::Get()->RemoveObserver(this);
1016 1016
1017 scoped_ptr<gfx::ImageSkia> policy_image = chromeos::test::ImageLoader( 1017 scoped_ptr<gfx::ImageSkia> policy_image = chromeos::test::ImageLoader(
1018 test_dir.Append(chromeos::test::kUserAvatarImage1RelativePath)).Load(); 1018 test_dir.Append(chromeos::test::kUserAvatarImage1RelativePath)).Load();
1019 ASSERT_TRUE(policy_image); 1019 ASSERT_TRUE(policy_image);
1020 1020
1021 const chromeos::User* user = 1021 const user_manager::User* user =
1022 chromeos::UserManager::Get()->FindUser(user_id_1_); 1022 chromeos::UserManager::Get()->FindUser(user_id_1_);
1023 ASSERT_TRUE(user); 1023 ASSERT_TRUE(user);
1024 1024
1025 base::FilePath user_data_dir; 1025 base::FilePath user_data_dir;
1026 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)); 1026 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir));
1027 const base::FilePath saved_image_path = 1027 const base::FilePath saved_image_path =
1028 user_data_dir.Append(user_id_1_).AddExtension("jpg"); 1028 user_data_dir.Append(user_id_1_).AddExtension("jpg");
1029 1029
1030 EXPECT_FALSE(user->HasDefaultImage()); 1030 EXPECT_FALSE(user->HasDefaultImage());
1031 EXPECT_EQ(chromeos::User::kExternalImageIndex, user->image_index()); 1031 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index());
1032 EXPECT_TRUE(chromeos::test::AreImagesEqual(*policy_image, user->GetImage())); 1032 EXPECT_TRUE(chromeos::test::AreImagesEqual(*policy_image, user->GetImage()));
1033 const base::DictionaryValue* images_pref = 1033 const base::DictionaryValue* images_pref =
1034 g_browser_process->local_state()->GetDictionary("user_image_info"); 1034 g_browser_process->local_state()->GetDictionary("user_image_info");
1035 ASSERT_TRUE(images_pref); 1035 ASSERT_TRUE(images_pref);
1036 const base::DictionaryValue* image_properties; 1036 const base::DictionaryValue* image_properties;
1037 ASSERT_TRUE(images_pref->GetDictionaryWithoutPathExpansion( 1037 ASSERT_TRUE(images_pref->GetDictionaryWithoutPathExpansion(
1038 user_id_1_, 1038 user_id_1_,
1039 &image_properties)); 1039 &image_properties));
1040 int image_index; 1040 int image_index;
1041 std::string image_path; 1041 std::string image_path;
1042 ASSERT_TRUE(image_properties->GetInteger("index", &image_index)); 1042 ASSERT_TRUE(image_properties->GetInteger("index", &image_index));
1043 ASSERT_TRUE(image_properties->GetString("path", &image_path)); 1043 ASSERT_TRUE(image_properties->GetString("path", &image_path));
1044 EXPECT_EQ(chromeos::User::kExternalImageIndex, image_index); 1044 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, image_index);
1045 EXPECT_EQ(saved_image_path.value(), image_path); 1045 EXPECT_EQ(saved_image_path.value(), image_path);
1046 1046
1047 scoped_ptr<gfx::ImageSkia> saved_image = 1047 scoped_ptr<gfx::ImageSkia> saved_image =
1048 chromeos::test::ImageLoader(saved_image_path).Load(); 1048 chromeos::test::ImageLoader(saved_image_path).Load();
1049 ASSERT_TRUE(saved_image); 1049 ASSERT_TRUE(saved_image);
1050 1050
1051 // Check image dimensions. Images can't be compared since JPEG is lossy. 1051 // Check image dimensions. Images can't be compared since JPEG is lossy.
1052 EXPECT_EQ(policy_image->width(), saved_image->width()); 1052 EXPECT_EQ(policy_image->width(), saved_image->width());
1053 EXPECT_EQ(policy_image->height(), saved_image->height()); 1053 EXPECT_EQ(policy_image->height(), saved_image->height());
1054 } 1054 }
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
1384 if (!IsSessionStarted()) { 1384 if (!IsSessionStarted()) {
1385 content::WindowedNotificationObserver(chrome::NOTIFICATION_SESSION_STARTED, 1385 content::WindowedNotificationObserver(chrome::NOTIFICATION_SESSION_STARTED,
1386 base::Bind(IsSessionStarted)).Wait(); 1386 base::Bind(IsSessionStarted)).Wait();
1387 } 1387 }
1388 } 1388 }
1389 1389
1390 INSTANTIATE_TEST_CASE_P(TermsOfServiceTestInstance, 1390 INSTANTIATE_TEST_CASE_P(TermsOfServiceTestInstance,
1391 TermsOfServiceTest, testing::Bool()); 1391 TermsOfServiceTest, testing::Bool());
1392 1392
1393 } // namespace policy 1393 } // namespace policy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698