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

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

Issue 1412813003: This CL replaces user_manager::UserID with AccountId. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@468875--Chrome-OS-handles-deletion-of-Gmail-account-poorly--Create-AccountID-structure-part2--user_names
Patch Set: Fix Win GN build. Created 5 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 return NULL; 96 return NULL;
97 } 97 }
98 return policy_manager->core()->store(); 98 return policy_manager->core()->store();
99 } 99 }
100 100
101 } // namespace 101 } // namespace
102 102
103 class UserImageManagerTest : public LoginManagerTest, 103 class UserImageManagerTest : public LoginManagerTest,
104 public user_manager::UserManager::Observer { 104 public user_manager::UserManager::Observer {
105 protected: 105 protected:
106 UserImageManagerTest() : LoginManagerTest(true) { 106 UserImageManagerTest()
107 } 107 : LoginManagerTest(true),
108 enterprise_account_id_(AccountId::FromUserEmail(kEnterpriseUser1)) {}
108 109
109 // LoginManagerTest overrides: 110 // LoginManagerTest overrides:
110 void SetUpInProcessBrowserTestFixture() override { 111 void SetUpInProcessBrowserTestFixture() override {
111 LoginManagerTest::SetUpInProcessBrowserTestFixture(); 112 LoginManagerTest::SetUpInProcessBrowserTestFixture();
112 113
113 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_)); 114 ASSERT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &test_data_dir_));
114 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir_)); 115 ASSERT_TRUE(PathService::Get(chrome::DIR_USER_DATA, &user_data_dir_));
115 } 116 }
116 117
117 void SetUpOnMainThread() override { 118 void SetUpOnMainThread() override {
118 LoginManagerTest::SetUpOnMainThread(); 119 LoginManagerTest::SetUpOnMainThread();
119 local_state_ = g_browser_process->local_state(); 120 local_state_ = g_browser_process->local_state();
120 user_manager::UserManager::Get()->AddObserver(this); 121 user_manager::UserManager::Get()->AddObserver(this);
121 } 122 }
122 123
123 void TearDownOnMainThread() override { 124 void TearDownOnMainThread() override {
124 user_manager::UserManager::Get()->RemoveObserver(this); 125 user_manager::UserManager::Get()->RemoveObserver(this);
125 LoginManagerTest::TearDownOnMainThread(); 126 LoginManagerTest::TearDownOnMainThread();
126 } 127 }
127 128
128 // UserManager::Observer overrides: 129 // UserManager::Observer overrides:
129 void LocalStateChanged(user_manager::UserManager* user_manager) override { 130 void LocalStateChanged(user_manager::UserManager* user_manager) override {
130 if (run_loop_) 131 if (run_loop_)
131 run_loop_->Quit(); 132 run_loop_->Quit();
132 } 133 }
133 134
134 // Logs in |username|. 135 // Logs in |account_id|.
135 void LogIn(const std::string& username) { 136 void LogIn(const AccountId& account_id) {
136 user_manager::UserManager::Get()->UserLoggedIn(username, username, false); 137 user_manager::UserManager::Get()->UserLoggedIn(
138 account_id, account_id.GetUserEmail(), false);
137 } 139 }
138 140
139 // Stores old (pre-migration) user image info. 141 // Stores old (pre-migration) user image info.
140 void SetOldUserImageInfo(const std::string& username, 142 void SetOldUserImageInfo(const AccountId& account_id,
141 int image_index, 143 int image_index,
142 const base::FilePath& image_path) { 144 const base::FilePath& image_path) {
143 RegisterUser(username); 145 RegisterUser(account_id.GetUserEmail());
144 DictionaryPrefUpdate images_pref(local_state_, "UserImages"); 146 DictionaryPrefUpdate images_pref(local_state_, "UserImages");
145 base::DictionaryValue* image_properties = new base::DictionaryValue(); 147 base::DictionaryValue* image_properties = new base::DictionaryValue();
146 image_properties->Set("index", new base::FundamentalValue(image_index)); 148 image_properties->Set("index", new base::FundamentalValue(image_index));
147 image_properties->Set( 149 image_properties->Set(
148 "path" , new base::StringValue(image_path.value())); 150 "path" , new base::StringValue(image_path.value()));
149 images_pref->SetWithoutPathExpansion(username, image_properties); 151 images_pref->SetWithoutPathExpansion(account_id.GetUserEmail(),
152 image_properties);
150 } 153 }
151 154
152 // Verifies user image info in |images_pref| dictionary. 155 // Verifies user image info in |images_pref| dictionary.
153 void ExpectUserImageInfo(const base::DictionaryValue* images_pref, 156 void ExpectUserImageInfo(const base::DictionaryValue* images_pref,
154 const std::string& username, 157 const AccountId& account_id,
155 int image_index, 158 int image_index,
156 const base::FilePath& image_path) { 159 const base::FilePath& image_path) {
157 ASSERT_TRUE(images_pref); 160 ASSERT_TRUE(images_pref);
158 const base::DictionaryValue* image_properties = NULL; 161 const base::DictionaryValue* image_properties = NULL;
159 images_pref->GetDictionaryWithoutPathExpansion(username, &image_properties); 162 images_pref->GetDictionaryWithoutPathExpansion(account_id.GetUserEmail(),
163 &image_properties);
160 ASSERT_TRUE(image_properties); 164 ASSERT_TRUE(image_properties);
161 int actual_image_index; 165 int actual_image_index;
162 std::string actual_image_path; 166 std::string actual_image_path;
163 ASSERT_TRUE(image_properties->GetInteger("index", &actual_image_index) && 167 ASSERT_TRUE(image_properties->GetInteger("index", &actual_image_index) &&
164 image_properties->GetString("path", &actual_image_path)); 168 image_properties->GetString("path", &actual_image_path));
165 EXPECT_EQ(image_index, actual_image_index); 169 EXPECT_EQ(image_index, actual_image_index);
166 EXPECT_EQ(image_path.value(), actual_image_path); 170 EXPECT_EQ(image_path.value(), actual_image_path);
167 } 171 }
168 172
169 // Verifies that there is no image info for |username| in dictionary 173 // Verifies that there is no image info for |account_id| in dictionary
170 // |images_pref|. 174 // |images_pref|.
171 void ExpectNoUserImageInfo(const base::DictionaryValue* images_pref, 175 void ExpectNoUserImageInfo(const base::DictionaryValue* images_pref,
172 const std::string& username) { 176 const AccountId& account_id) {
173 ASSERT_TRUE(images_pref); 177 ASSERT_TRUE(images_pref);
174 const base::DictionaryValue* image_properties = NULL; 178 const base::DictionaryValue* image_properties = NULL;
175 images_pref->GetDictionaryWithoutPathExpansion(username, &image_properties); 179 images_pref->GetDictionaryWithoutPathExpansion(account_id.GetUserEmail(),
180 &image_properties);
176 ASSERT_FALSE(image_properties); 181 ASSERT_FALSE(image_properties);
177 } 182 }
178 183
179 // Verifies that old user image info matches |image_index| and |image_path| 184 // Verifies that old user image info matches |image_index| and |image_path|
180 // and that new user image info does not exist. 185 // and that new user image info does not exist.
181 void ExpectOldUserImageInfo(const std::string& username, 186 void ExpectOldUserImageInfo(const AccountId& account_id,
182 int image_index, 187 int image_index,
183 const base::FilePath& image_path) { 188 const base::FilePath& image_path) {
184 ExpectUserImageInfo(local_state_->GetDictionary("UserImages"), 189 ExpectUserImageInfo(local_state_->GetDictionary("UserImages"), account_id,
185 username, image_index, image_path); 190 image_index, image_path);
186 ExpectNoUserImageInfo(local_state_->GetDictionary("user_image_info"), 191 ExpectNoUserImageInfo(local_state_->GetDictionary("user_image_info"),
187 username); 192 account_id);
188 } 193 }
189 194
190 // Verifies that new user image info matches |image_index| and |image_path| 195 // Verifies that new user image info matches |image_index| and |image_path|
191 // and that old user image info does not exist. 196 // and that old user image info does not exist.
192 void ExpectNewUserImageInfo(const std::string& username, 197 void ExpectNewUserImageInfo(const AccountId& account_id,
193 int image_index, 198 int image_index,
194 const base::FilePath& image_path) { 199 const base::FilePath& image_path) {
195 ExpectUserImageInfo(local_state_->GetDictionary("user_image_info"), 200 ExpectUserImageInfo(local_state_->GetDictionary("user_image_info"),
196 username, image_index, image_path); 201 account_id, image_index, image_path);
197 ExpectNoUserImageInfo(local_state_->GetDictionary("UserImages"), 202 ExpectNoUserImageInfo(local_state_->GetDictionary("UserImages"),
198 username); 203 account_id);
199 } 204 }
200 205
201 // Sets bitmap |resource_id| as image for |username| and saves it to disk. 206 // Sets bitmap |resource_id| as image for |account_id| and saves it to disk.
202 void SaveUserImagePNG(const std::string& username, 207 void SaveUserImagePNG(const AccountId& account_id, int resource_id) {
203 int resource_id) { 208 base::FilePath image_path = GetUserImagePath(account_id, "png");
204 base::FilePath image_path = GetUserImagePath(username, "png");
205 scoped_refptr<base::RefCountedStaticMemory> image_data( 209 scoped_refptr<base::RefCountedStaticMemory> image_data(
206 ResourceBundle::GetSharedInstance().LoadDataResourceBytesForScale( 210 ResourceBundle::GetSharedInstance().LoadDataResourceBytesForScale(
207 resource_id, ui::SCALE_FACTOR_100P)); 211 resource_id, ui::SCALE_FACTOR_100P));
208 int written = base::WriteFile( 212 int written = base::WriteFile(
209 image_path, 213 image_path,
210 reinterpret_cast<const char*>(image_data->front()), 214 reinterpret_cast<const char*>(image_data->front()),
211 image_data->size()); 215 image_data->size());
212 EXPECT_EQ(static_cast<int>(image_data->size()), written); 216 EXPECT_EQ(static_cast<int>(image_data->size()), written);
213 SetOldUserImageInfo( 217 SetOldUserImageInfo(account_id, user_manager::User::USER_IMAGE_EXTERNAL,
214 username, user_manager::User::USER_IMAGE_EXTERNAL, image_path); 218 image_path);
215 } 219 }
216 220
217 // Returns the image path for user |username| with specified |extension|. 221 // Returns the image path for user |account_id| with specified |extension|.
218 base::FilePath GetUserImagePath(const std::string& username, 222 base::FilePath GetUserImagePath(const AccountId& account_id,
219 const std::string& extension) { 223 const std::string& extension) {
220 return user_data_dir_.Append(username).AddExtension(extension); 224 return user_data_dir_.Append(account_id.GetUserEmail())
225 .AddExtension(extension);
221 } 226 }
222 227
223 // Seeds the AccountTrackerService with test data so the ProfileDownloader can 228 // Seeds the AccountTrackerService with test data so the ProfileDownloader can
224 // retrieve the picture URL and fetch the image. 229 // retrieve the picture URL and fetch the image.
225 void SeedAccountTrackerService(const std::string& username, 230 void SeedAccountTrackerService(const AccountId& account_id,
226 Profile* profile) { 231 Profile* profile) {
227 AccountInfo info; 232 AccountInfo info;
228 info.account_id = std::string(); 233 info.account_id = std::string();
229 info.gaia = username; 234 info.gaia = account_id.GetUserEmail();
230 info.email = username; 235 info.email = account_id.GetUserEmail();
231 info.full_name = username; 236 info.full_name = account_id.GetUserEmail();
232 info.given_name = username; 237 info.given_name = account_id.GetUserEmail();
233 info.hosted_domain = std::string(); 238 info.hosted_domain = std::string();
234 info.locale = username; 239 info.locale = account_id.GetUserEmail();
235 info.picture_url = "http://localhost/avatar.jpg"; 240 info.picture_url = "http://localhost/avatar.jpg";
236 info.is_child_account = false; 241 info.is_child_account = false;
237 242
238 AccountTrackerServiceFactory::GetForProfile(profile)->SeedAccountInfo(info); 243 AccountTrackerServiceFactory::GetForProfile(profile)->SeedAccountInfo(info);
239 } 244 }
240 245
241 // Completes the download of all non-image profile data for the user 246 // Completes the download of all non-image profile data for the user
242 // |username|. This method must only be called after a profile data 247 // |account_id|. This method must only be called after a profile data
243 // download has been started. |url_fetcher_factory| will capture 248 // download has been started. |url_fetcher_factory| will capture
244 // the net::TestURLFetcher created by the ProfileDownloader to 249 // the net::TestURLFetcher created by the ProfileDownloader to
245 // download the profile image. 250 // download the profile image.
246 void CompleteProfileMetadataDownload( 251 void CompleteProfileMetadataDownload(
247 const std::string& username, 252 const AccountId& account_id,
248 net::TestURLFetcherFactory* url_fetcher_factory) { 253 net::TestURLFetcherFactory* url_fetcher_factory) {
249 ProfileDownloader* profile_downloader = 254 ProfileDownloader* profile_downloader =
250 reinterpret_cast<UserImageManagerImpl*>( 255 reinterpret_cast<UserImageManagerImpl*>(
251 ChromeUserManager::Get()->GetUserImageManager(username)) 256 ChromeUserManager::Get()->GetUserImageManager(account_id))
252 ->profile_downloader_.get(); 257 ->profile_downloader_.get();
253 ASSERT_TRUE(profile_downloader); 258 ASSERT_TRUE(profile_downloader);
254 259
255 static_cast<OAuth2TokenService::Consumer*>(profile_downloader)-> 260 static_cast<OAuth2TokenService::Consumer*>(profile_downloader)->
256 OnGetTokenSuccess(NULL, 261 OnGetTokenSuccess(NULL,
257 std::string(), 262 std::string(),
258 base::Time::Now() + base::TimeDelta::FromDays(1)); 263 base::Time::Now() + base::TimeDelta::FromDays(1));
259 } 264 }
260 265
261 // Completes the download of the currently logged-in user's profile image. 266 // Completes the download of the currently logged-in user's profile image.
(...skipping 21 matching lines...) Expand all
283 fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::SUCCESS, 288 fetcher->set_status(net::URLRequestStatus(net::URLRequestStatus::SUCCESS,
284 net::OK)); 289 net::OK));
285 fetcher->set_response_code(200); 290 fetcher->set_response_code(200);
286 fetcher->delegate()->OnURLFetchComplete(fetcher); 291 fetcher->delegate()->OnURLFetchComplete(fetcher);
287 run_loop.Run(); 292 run_loop.Run();
288 293
289 const user_manager::User* user = 294 const user_manager::User* user =
290 user_manager::UserManager::Get()->GetLoggedInUser(); 295 user_manager::UserManager::Get()->GetLoggedInUser();
291 ASSERT_TRUE(user); 296 ASSERT_TRUE(user);
292 UserImageManagerImpl* uim = reinterpret_cast<UserImageManagerImpl*>( 297 UserImageManagerImpl* uim = reinterpret_cast<UserImageManagerImpl*>(
293 ChromeUserManager::Get()->GetUserImageManager(user->email())); 298 ChromeUserManager::Get()->GetUserImageManager(user->GetAccountId()));
294 if (uim->job_.get()) { 299 if (uim->job_.get()) {
295 run_loop_.reset(new base::RunLoop); 300 run_loop_.reset(new base::RunLoop);
296 run_loop_->Run(); 301 run_loop_->Run();
297 } 302 }
298 } 303 }
299 304
300 base::FilePath test_data_dir_; 305 base::FilePath test_data_dir_;
301 base::FilePath user_data_dir_; 306 base::FilePath user_data_dir_;
302 307
303 PrefService* local_state_; 308 PrefService* local_state_;
304 309
305 scoped_ptr<gfx::ImageSkia> decoded_image_; 310 scoped_ptr<gfx::ImageSkia> decoded_image_;
306 311
307 scoped_ptr<base::RunLoop> run_loop_; 312 scoped_ptr<base::RunLoop> run_loop_;
308 313
314 const AccountId test_account_id1_ = AccountId::FromUserEmail(kTestUser1);
315 const AccountId test_account_id2_ = AccountId::FromUserEmail(kTestUser2);
316 const AccountId enterprise_account_id_;
317
309 private: 318 private:
310 DISALLOW_COPY_AND_ASSIGN(UserImageManagerTest); 319 DISALLOW_COPY_AND_ASSIGN(UserImageManagerTest);
311 }; 320 };
312 321
313 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_DefaultUserImagePreserved) { 322 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_DefaultUserImagePreserved) {
314 // Setup an old default (stock) user image. 323 // Setup an old default (stock) user image.
315 ScopedUserManagerEnabler(new MockUserManager); 324 ScopedUserManagerEnabler(new MockUserManager);
316 SetOldUserImageInfo( 325 SetOldUserImageInfo(test_account_id1_, user_manager::kFirstDefaultImageIndex,
317 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 326 base::FilePath());
318 } 327 }
319 328
320 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, DefaultUserImagePreserved) { 329 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, DefaultUserImagePreserved) {
321 user_manager::UserManager::Get()->GetUsers(); // Load users. 330 user_manager::UserManager::Get()->GetUsers(); // Load users.
322 // Old info preserved. 331 // Old info preserved.
323 ExpectOldUserImageInfo( 332 ExpectOldUserImageInfo(test_account_id1_,
324 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 333 user_manager::kFirstDefaultImageIndex,
325 LogIn(kTestUser1); 334 base::FilePath());
335 LogIn(test_account_id1_);
326 // Image info is migrated now. 336 // Image info is migrated now.
327 ExpectNewUserImageInfo( 337 ExpectNewUserImageInfo(test_account_id1_,
328 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 338 user_manager::kFirstDefaultImageIndex,
339 base::FilePath());
329 } 340 }
330 341
331 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_OtherUsersUnaffected) { 342 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_OtherUsersUnaffected) {
332 // Setup two users with stock images. 343 // Setup two users with stock images.
333 ScopedUserManagerEnabler(new MockUserManager); 344 ScopedUserManagerEnabler(new MockUserManager);
334 SetOldUserImageInfo( 345 SetOldUserImageInfo(test_account_id1_, user_manager::kFirstDefaultImageIndex,
335 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 346 base::FilePath());
336 SetOldUserImageInfo( 347 SetOldUserImageInfo(test_account_id2_,
337 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath()); 348 user_manager::kFirstDefaultImageIndex + 1,
349 base::FilePath());
338 } 350 }
339 351
340 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, OtherUsersUnaffected) { 352 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, OtherUsersUnaffected) {
341 user_manager::UserManager::Get()->GetUsers(); // Load users. 353 user_manager::UserManager::Get()->GetUsers(); // Load users.
342 // Old info preserved. 354 // Old info preserved.
343 ExpectOldUserImageInfo( 355 ExpectOldUserImageInfo(test_account_id1_,
344 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 356 user_manager::kFirstDefaultImageIndex,
345 ExpectOldUserImageInfo( 357 base::FilePath());
346 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath()); 358 ExpectOldUserImageInfo(test_account_id2_,
347 LogIn(kTestUser1); 359 user_manager::kFirstDefaultImageIndex + 1,
360 base::FilePath());
361 LogIn(test_account_id1_);
348 // Image info is migrated for the first user and unaffected for the rest. 362 // Image info is migrated for the first user and unaffected for the rest.
349 ExpectNewUserImageInfo( 363 ExpectNewUserImageInfo(test_account_id1_,
350 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 364 user_manager::kFirstDefaultImageIndex,
351 ExpectOldUserImageInfo( 365 base::FilePath());
352 kTestUser2, user_manager::kFirstDefaultImageIndex + 1, base::FilePath()); 366 ExpectOldUserImageInfo(test_account_id2_,
367 user_manager::kFirstDefaultImageIndex + 1,
368 base::FilePath());
353 } 369 }
354 370
355 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_PRE_NonJPEGImageFromFile) { 371 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_PRE_NonJPEGImageFromFile) {
356 // Setup a user with non-JPEG image. 372 // Setup a user with non-JPEG image.
357 ScopedUserManagerEnabler(new MockUserManager); 373 ScopedUserManagerEnabler(new MockUserManager);
358 SaveUserImagePNG(kTestUser1, 374 SaveUserImagePNG(test_account_id1_,
359 user_manager::kDefaultImageResourceIDs 375 user_manager::kDefaultImageResourceIDs
360 [user_manager::kFirstDefaultImageIndex]); 376 [user_manager::kFirstDefaultImageIndex]);
361 } 377 }
362 378
363 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) { 379 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_NonJPEGImageFromFile) {
364 user_manager::UserManager::Get()->GetUsers(); // Load users. 380 user_manager::UserManager::Get()->GetUsers(); // Load users.
365 // Old info preserved. 381 // Old info preserved.
366 ExpectOldUserImageInfo(kTestUser1, 382 ExpectOldUserImageInfo(test_account_id1_,
367 user_manager::User::USER_IMAGE_EXTERNAL, 383 user_manager::User::USER_IMAGE_EXTERNAL,
368 GetUserImagePath(kTestUser1, "png")); 384 GetUserImagePath(test_account_id1_, "png"));
369 const user_manager::User* user = 385 const user_manager::User* user =
370 user_manager::UserManager::Get()->FindUser(kTestUser1); 386 user_manager::UserManager::Get()->FindUser(test_account_id1_);
371 EXPECT_TRUE(user->image_is_stub()); 387 EXPECT_TRUE(user->image_is_stub());
372 388
373 base::RunLoop run_loop; 389 base::RunLoop run_loop;
374 PrefChangeRegistrar pref_change_registrar_; 390 PrefChangeRegistrar pref_change_registrar_;
375 pref_change_registrar_.Init(local_state_); 391 pref_change_registrar_.Init(local_state_);
376 pref_change_registrar_.Add("UserImages", run_loop.QuitClosure()); 392 pref_change_registrar_.Add("UserImages", run_loop.QuitClosure());
377 LogIn(kTestUser1); 393 LogIn(test_account_id1_);
378 394
379 // Wait for migration. 395 // Wait for migration.
380 run_loop.Run(); 396 run_loop.Run();
381 397
382 // Image info is migrated and the image is converted to JPG. 398 // Image info is migrated and the image is converted to JPG.
383 ExpectNewUserImageInfo(kTestUser1, 399 ExpectNewUserImageInfo(test_account_id1_,
384 user_manager::User::USER_IMAGE_EXTERNAL, 400 user_manager::User::USER_IMAGE_EXTERNAL,
385 GetUserImagePath(kTestUser1, "jpg")); 401 GetUserImagePath(test_account_id1_, "jpg"));
386 user = user_manager::UserManager::Get()->GetLoggedInUser(); 402 user = user_manager::UserManager::Get()->GetLoggedInUser();
387 ASSERT_TRUE(user); 403 ASSERT_TRUE(user);
388 EXPECT_FALSE(user->image_is_safe_format()); 404 EXPECT_FALSE(user->image_is_safe_format());
389 // Check image dimensions. 405 // Check image dimensions.
390 const gfx::ImageSkia& saved_image = 406 const gfx::ImageSkia& saved_image =
391 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); 407 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex);
392 EXPECT_EQ(saved_image.width(), user->GetImage().width()); 408 EXPECT_EQ(saved_image.width(), user->GetImage().width());
393 EXPECT_EQ(saved_image.height(), user->GetImage().height()); 409 EXPECT_EQ(saved_image.height(), user->GetImage().height());
394 } 410 }
395 411
396 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) { 412 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, NonJPEGImageFromFile) {
397 user_manager::UserManager::Get()->GetUsers(); // Load users. 413 user_manager::UserManager::Get()->GetUsers(); // Load users.
398 const user_manager::User* user = 414 const user_manager::User* user =
399 user_manager::UserManager::Get()->FindUser(kTestUser1); 415 user_manager::UserManager::Get()->FindUser(test_account_id1_);
400 ASSERT_TRUE(user); 416 ASSERT_TRUE(user);
401 // Wait for image load. 417 // Wait for image load.
402 if (user->image_index() == user_manager::User::USER_IMAGE_INVALID) { 418 if (user->image_index() == user_manager::User::USER_IMAGE_INVALID) {
403 content::WindowedNotificationObserver( 419 content::WindowedNotificationObserver(
404 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, 420 chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
405 content::NotificationService::AllSources()).Wait(); 421 content::NotificationService::AllSources()).Wait();
406 } 422 }
407 // Now the migrated image is used. 423 // Now the migrated image is used.
408 EXPECT_TRUE(user->image_is_safe_format()); 424 EXPECT_TRUE(user->image_is_safe_format());
409 // Check image dimensions. Images can't be compared since JPEG is lossy. 425 // Check image dimensions. Images can't be compared since JPEG is lossy.
410 const gfx::ImageSkia& saved_image = 426 const gfx::ImageSkia& saved_image =
411 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); 427 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex);
412 EXPECT_EQ(saved_image.width(), user->GetImage().width()); 428 EXPECT_EQ(saved_image.width(), user->GetImage().width());
413 EXPECT_EQ(saved_image.height(), user->GetImage().height()); 429 EXPECT_EQ(saved_image.height(), user->GetImage().height());
414 } 430 }
415 431
416 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) { 432 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserDefaultImageIndex) {
417 RegisterUser(kTestUser1); 433 RegisterUser(test_account_id1_.GetUserEmail());
418 } 434 }
419 435
420 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the 436 // Verifies that SaveUserDefaultImageIndex() correctly sets and persists the
421 // chosen user image. 437 // chosen user image.
422 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) { 438 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserDefaultImageIndex) {
423 const user_manager::User* user = 439 const user_manager::User* user =
424 user_manager::UserManager::Get()->FindUser(kTestUser1); 440 user_manager::UserManager::Get()->FindUser(test_account_id1_);
425 ASSERT_TRUE(user); 441 ASSERT_TRUE(user);
426 442
427 const gfx::ImageSkia& default_image = 443 const gfx::ImageSkia& default_image =
428 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); 444 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex);
429 445
430 UserImageManager* user_image_manager = 446 UserImageManager* user_image_manager =
431 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); 447 ChromeUserManager::Get()->GetUserImageManager(test_account_id1_);
432 user_image_manager->SaveUserDefaultImageIndex( 448 user_image_manager->SaveUserDefaultImageIndex(
433 user_manager::kFirstDefaultImageIndex); 449 user_manager::kFirstDefaultImageIndex);
434 450
435 EXPECT_TRUE(user->HasDefaultImage()); 451 EXPECT_TRUE(user->HasDefaultImage());
436 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index()); 452 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index());
437 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); 453 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage()));
438 ExpectNewUserImageInfo( 454 ExpectNewUserImageInfo(test_account_id1_,
439 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 455 user_manager::kFirstDefaultImageIndex,
456 base::FilePath());
440 } 457 }
441 458
442 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) { 459 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImage) {
443 RegisterUser(kTestUser1); 460 RegisterUser(test_account_id1_.GetUserEmail());
444 } 461 }
445 462
446 // Verifies that SaveUserImage() correctly sets and persists the chosen user 463 // Verifies that SaveUserImage() correctly sets and persists the chosen user
447 // image. 464 // image.
448 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) { 465 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImage) {
449 const user_manager::User* user = 466 const user_manager::User* user =
450 user_manager::UserManager::Get()->FindUser(kTestUser1); 467 user_manager::UserManager::Get()->FindUser(test_account_id1_);
451 ASSERT_TRUE(user); 468 ASSERT_TRUE(user);
452 469
453 SkBitmap custom_image_bitmap; 470 SkBitmap custom_image_bitmap;
454 custom_image_bitmap.allocN32Pixels(10, 10); 471 custom_image_bitmap.allocN32Pixels(10, 10);
455 custom_image_bitmap.eraseColor(SK_ColorWHITE); 472 custom_image_bitmap.eraseColor(SK_ColorWHITE);
456 custom_image_bitmap.setImmutable(); 473 custom_image_bitmap.setImmutable();
457 const gfx::ImageSkia custom_image = 474 const gfx::ImageSkia custom_image =
458 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap); 475 gfx::ImageSkia::CreateFrom1xBitmap(custom_image_bitmap);
459 476
460 run_loop_.reset(new base::RunLoop); 477 run_loop_.reset(new base::RunLoop);
461 UserImageManager* user_image_manager = 478 UserImageManager* user_image_manager =
462 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); 479 ChromeUserManager::Get()->GetUserImageManager(test_account_id1_);
463 user_image_manager->SaveUserImage( 480 user_image_manager->SaveUserImage(
464 user_manager::UserImage::CreateAndEncode(custom_image)); 481 user_manager::UserImage::CreateAndEncode(custom_image));
465 run_loop_->Run(); 482 run_loop_->Run();
466 483
467 EXPECT_FALSE(user->HasDefaultImage()); 484 EXPECT_FALSE(user->HasDefaultImage());
468 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); 485 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index());
469 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage())); 486 EXPECT_TRUE(test::AreImagesEqual(custom_image, user->GetImage()));
470 ExpectNewUserImageInfo(kTestUser1, 487 ExpectNewUserImageInfo(test_account_id1_,
471 user_manager::User::USER_IMAGE_EXTERNAL, 488 user_manager::User::USER_IMAGE_EXTERNAL,
472 GetUserImagePath(kTestUser1, "jpg")); 489 GetUserImagePath(test_account_id1_, "jpg"));
473 490
474 const scoped_ptr<gfx::ImageSkia> saved_image = 491 const scoped_ptr<gfx::ImageSkia> saved_image =
475 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 492 test::ImageLoader(GetUserImagePath(test_account_id1_, "jpg")).Load();
476 ASSERT_TRUE(saved_image); 493 ASSERT_TRUE(saved_image);
477 494
478 // 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.
479 EXPECT_EQ(custom_image.width(), saved_image->width()); 496 EXPECT_EQ(custom_image.width(), saved_image->width());
480 EXPECT_EQ(custom_image.height(), saved_image->height()); 497 EXPECT_EQ(custom_image.height(), saved_image->height());
481 } 498 }
482 499
483 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) { 500 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, PRE_SaveUserImageFromFile) {
484 RegisterUser(kTestUser1); 501 RegisterUser(test_account_id1_.GetUserEmail());
485 } 502 }
486 503
487 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen 504 // Verifies that SaveUserImageFromFile() correctly sets and persists the chosen
488 // user image. 505 // user image.
489 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) { 506 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromFile) {
490 const user_manager::User* user = 507 const user_manager::User* user =
491 user_manager::UserManager::Get()->FindUser(kTestUser1); 508 user_manager::UserManager::Get()->FindUser(test_account_id1_);
492 ASSERT_TRUE(user); 509 ASSERT_TRUE(user);
493 510
494 const base::FilePath custom_image_path = 511 const base::FilePath custom_image_path =
495 test_data_dir_.Append(test::kUserAvatarImage1RelativePath); 512 test_data_dir_.Append(test::kUserAvatarImage1RelativePath);
496 const scoped_ptr<gfx::ImageSkia> custom_image = 513 const scoped_ptr<gfx::ImageSkia> custom_image =
497 test::ImageLoader(custom_image_path).Load(); 514 test::ImageLoader(custom_image_path).Load();
498 ASSERT_TRUE(custom_image); 515 ASSERT_TRUE(custom_image);
499 516
500 run_loop_.reset(new base::RunLoop); 517 run_loop_.reset(new base::RunLoop);
501 UserImageManager* user_image_manager = 518 UserImageManager* user_image_manager =
502 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); 519 ChromeUserManager::Get()->GetUserImageManager(test_account_id1_);
503 user_image_manager->SaveUserImageFromFile(custom_image_path); 520 user_image_manager->SaveUserImageFromFile(custom_image_path);
504 run_loop_->Run(); 521 run_loop_->Run();
505 522
506 EXPECT_FALSE(user->HasDefaultImage()); 523 EXPECT_FALSE(user->HasDefaultImage());
507 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); 524 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index());
508 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage())); 525 EXPECT_TRUE(test::AreImagesEqual(*custom_image, user->GetImage()));
509 ExpectNewUserImageInfo(kTestUser1, 526 ExpectNewUserImageInfo(test_account_id1_,
510 user_manager::User::USER_IMAGE_EXTERNAL, 527 user_manager::User::USER_IMAGE_EXTERNAL,
511 GetUserImagePath(kTestUser1, "jpg")); 528 GetUserImagePath(test_account_id1_, "jpg"));
512 529
513 const scoped_ptr<gfx::ImageSkia> saved_image = 530 const scoped_ptr<gfx::ImageSkia> saved_image =
514 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 531 test::ImageLoader(GetUserImagePath(test_account_id1_, "jpg")).Load();
515 ASSERT_TRUE(saved_image); 532 ASSERT_TRUE(saved_image);
516 533
517 // Check image dimensions. Images can't be compared since JPEG is lossy. 534 // Check image dimensions. Images can't be compared since JPEG is lossy.
518 EXPECT_EQ(custom_image->width(), saved_image->width()); 535 EXPECT_EQ(custom_image->width(), saved_image->width());
519 EXPECT_EQ(custom_image->height(), saved_image->height()); 536 EXPECT_EQ(custom_image->height(), saved_image->height());
520 } 537 }
521 538
522 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, 539 IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
523 PRE_SaveUserImageFromProfileImage) { 540 PRE_SaveUserImageFromProfileImage) {
524 RegisterUser(kTestUser1); 541 RegisterUser(test_account_id1_.GetUserEmail());
525 chromeos::StartupUtils::MarkOobeCompleted(); 542 chromeos::StartupUtils::MarkOobeCompleted();
526 } 543 }
527 544
528 // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and 545 // Verifies that SaveUserImageFromProfileImage() correctly downloads, sets and
529 // persists the chosen user image. 546 // persists the chosen user image.
530 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) { 547 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, SaveUserImageFromProfileImage) {
531 const user_manager::User* user = 548 const user_manager::User* user =
532 user_manager::UserManager::Get()->FindUser(kTestUser1); 549 user_manager::UserManager::Get()->FindUser(test_account_id1_);
533 ASSERT_TRUE(user); 550 ASSERT_TRUE(user);
534 551
535 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); 552 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting();
536 LoginUser(kTestUser1); 553 LoginUser(test_account_id1_.GetUserEmail());
537 Profile* profile = ProfileHelper::Get()->GetProfileByUserUnsafe(user); 554 Profile* profile = ProfileHelper::Get()->GetProfileByUserUnsafe(user);
538 SeedAccountTrackerService(kTestUser1, profile); 555 SeedAccountTrackerService(test_account_id1_, profile);
539 556
540 run_loop_.reset(new base::RunLoop); 557 run_loop_.reset(new base::RunLoop);
541 UserImageManager* user_image_manager = 558 UserImageManager* user_image_manager =
542 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); 559 ChromeUserManager::Get()->GetUserImageManager(test_account_id1_);
543 user_image_manager->SaveUserImageFromProfileImage(); 560 user_image_manager->SaveUserImageFromProfileImage();
544 run_loop_->Run(); 561 run_loop_->Run();
545 562
546 net::TestURLFetcherFactory url_fetcher_factory; 563 net::TestURLFetcherFactory url_fetcher_factory;
547 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); 564 CompleteProfileMetadataDownload(test_account_id1_, &url_fetcher_factory);
548 CompleteProfileImageDownload(&url_fetcher_factory); 565 CompleteProfileImageDownload(&url_fetcher_factory);
549 566
550 const gfx::ImageSkia& profile_image = 567 const gfx::ImageSkia& profile_image =
551 user_image_manager->DownloadedProfileImage(); 568 user_image_manager->DownloadedProfileImage();
552 569
553 EXPECT_FALSE(user->HasDefaultImage()); 570 EXPECT_FALSE(user->HasDefaultImage());
554 EXPECT_EQ(user_manager::User::USER_IMAGE_PROFILE, user->image_index()); 571 EXPECT_EQ(user_manager::User::USER_IMAGE_PROFILE, user->image_index());
555 EXPECT_TRUE(test::AreImagesEqual(profile_image, user->GetImage())); 572 EXPECT_TRUE(test::AreImagesEqual(profile_image, user->GetImage()));
556 ExpectNewUserImageInfo(kTestUser1, 573 ExpectNewUserImageInfo(test_account_id1_,
557 user_manager::User::USER_IMAGE_PROFILE, 574 user_manager::User::USER_IMAGE_PROFILE,
558 GetUserImagePath(kTestUser1, "jpg")); 575 GetUserImagePath(test_account_id1_, "jpg"));
559 576
560 const scoped_ptr<gfx::ImageSkia> saved_image = 577 const scoped_ptr<gfx::ImageSkia> saved_image =
561 test::ImageLoader(GetUserImagePath(kTestUser1, "jpg")).Load(); 578 test::ImageLoader(GetUserImagePath(test_account_id1_, "jpg")).Load();
562 ASSERT_TRUE(saved_image); 579 ASSERT_TRUE(saved_image);
563 580
564 // Check image dimensions. Images can't be compared since JPEG is lossy. 581 // Check image dimensions. Images can't be compared since JPEG is lossy.
565 EXPECT_EQ(profile_image.width(), saved_image->width()); 582 EXPECT_EQ(profile_image.width(), saved_image->width());
566 EXPECT_EQ(profile_image.height(), saved_image->height()); 583 EXPECT_EQ(profile_image.height(), saved_image->height());
567 } 584 }
568 585
569 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, 586 IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
570 PRE_ProfileImageDownloadDoesNotClobber) { 587 PRE_ProfileImageDownloadDoesNotClobber) {
571 RegisterUser(kTestUser1); 588 RegisterUser(test_account_id1_.GetUserEmail());
572 chromeos::StartupUtils::MarkOobeCompleted(); 589 chromeos::StartupUtils::MarkOobeCompleted();
573 } 590 }
574 591
575 // Sets the user image to the profile image, then sets it to one of the default 592 // Sets the user image to the profile image, then sets it to one of the default
576 // images while the profile image download is still in progress. Verifies that 593 // images while the profile image download is still in progress. Verifies that
577 // when the download completes, the profile image is ignored and does not 594 // when the download completes, the profile image is ignored and does not
578 // clobber the default image chosen in the meantime. 595 // clobber the default image chosen in the meantime.
579 IN_PROC_BROWSER_TEST_F(UserImageManagerTest, 596 IN_PROC_BROWSER_TEST_F(UserImageManagerTest,
580 ProfileImageDownloadDoesNotClobber) { 597 ProfileImageDownloadDoesNotClobber) {
581 const user_manager::User* user = 598 const user_manager::User* user =
582 user_manager::UserManager::Get()->FindUser(kTestUser1); 599 user_manager::UserManager::Get()->FindUser(test_account_id1_);
583 ASSERT_TRUE(user); 600 ASSERT_TRUE(user);
584 601
585 const gfx::ImageSkia& default_image = 602 const gfx::ImageSkia& default_image =
586 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); 603 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex);
587 604
588 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting(); 605 UserImageManagerImpl::IgnoreProfileDataDownloadDelayForTesting();
589 LoginUser(kTestUser1); 606 LoginUser(test_account_id1_.GetUserEmail());
590 Profile* profile = ProfileHelper::Get()->GetProfileByUserUnsafe(user); 607 Profile* profile = ProfileHelper::Get()->GetProfileByUserUnsafe(user);
591 SeedAccountTrackerService(kTestUser1, profile); 608 SeedAccountTrackerService(test_account_id1_, profile);
592 609
593 run_loop_.reset(new base::RunLoop); 610 run_loop_.reset(new base::RunLoop);
594 UserImageManager* user_image_manager = 611 UserImageManager* user_image_manager =
595 ChromeUserManager::Get()->GetUserImageManager(kTestUser1); 612 ChromeUserManager::Get()->GetUserImageManager(test_account_id1_);
596 user_image_manager->SaveUserImageFromProfileImage(); 613 user_image_manager->SaveUserImageFromProfileImage();
597 run_loop_->Run(); 614 run_loop_->Run();
598 615
599 net::TestURLFetcherFactory url_fetcher_factory; 616 net::TestURLFetcherFactory url_fetcher_factory;
600 CompleteProfileMetadataDownload(kTestUser1, &url_fetcher_factory); 617 CompleteProfileMetadataDownload(test_account_id1_, &url_fetcher_factory);
601 618
602 user_image_manager->SaveUserDefaultImageIndex( 619 user_image_manager->SaveUserDefaultImageIndex(
603 user_manager::kFirstDefaultImageIndex); 620 user_manager::kFirstDefaultImageIndex);
604 621
605 CompleteProfileImageDownload(&url_fetcher_factory); 622 CompleteProfileImageDownload(&url_fetcher_factory);
606 623
607 EXPECT_TRUE(user->HasDefaultImage()); 624 EXPECT_TRUE(user->HasDefaultImage());
608 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index()); 625 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index());
609 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); 626 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage()));
610 ExpectNewUserImageInfo( 627 ExpectNewUserImageInfo(test_account_id1_,
611 kTestUser1, user_manager::kFirstDefaultImageIndex, base::FilePath()); 628 user_manager::kFirstDefaultImageIndex,
629 base::FilePath());
612 } 630 }
613 631
614 class UserImageManagerPolicyTest : public UserImageManagerTest, 632 class UserImageManagerPolicyTest : public UserImageManagerTest,
615 public policy::CloudPolicyStore::Observer { 633 public policy::CloudPolicyStore::Observer {
616 protected: 634 protected:
617 UserImageManagerPolicyTest() 635 UserImageManagerPolicyTest()
618 : fake_session_manager_client_(new chromeos::FakeSessionManagerClient) { 636 : fake_session_manager_client_(new chromeos::FakeSessionManagerClient) {
619 } 637 }
620 638
621 // UserImageManagerTest overrides: 639 // UserImageManagerTest overrides:
622 void SetUpInProcessBrowserTestFixture() override { 640 void SetUpInProcessBrowserTestFixture() override {
623 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient( 641 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient(
624 scoped_ptr<SessionManagerClient>(fake_session_manager_client_)); 642 scoped_ptr<SessionManagerClient>(fake_session_manager_client_));
625 UserImageManagerTest::SetUpInProcessBrowserTestFixture(); 643 UserImageManagerTest::SetUpInProcessBrowserTestFixture();
626 } 644 }
627 645
628 void SetUpOnMainThread() override { 646 void SetUpOnMainThread() override {
629 UserImageManagerTest::SetUpOnMainThread(); 647 UserImageManagerTest::SetUpOnMainThread();
630 648
631 base::FilePath user_keys_dir; 649 base::FilePath user_keys_dir;
632 ASSERT_TRUE(PathService::Get(chromeos::DIR_USER_POLICY_KEYS, 650 ASSERT_TRUE(PathService::Get(chromeos::DIR_USER_POLICY_KEYS,
633 &user_keys_dir)); 651 &user_keys_dir));
634 const std::string sanitized_username = 652 const std::string sanitized_username =
635 chromeos::CryptohomeClient::GetStubSanitizedUsername(kEnterpriseUser1); 653 chromeos::CryptohomeClient::GetStubSanitizedUsername(
654 enterprise_account_id_.GetUserEmail());
636 const base::FilePath user_key_file = 655 const base::FilePath user_key_file =
637 user_keys_dir.AppendASCII(sanitized_username) 656 user_keys_dir.AppendASCII(sanitized_username)
638 .AppendASCII("policy.pub"); 657 .AppendASCII("policy.pub");
639 std::vector<uint8> user_key_bits; 658 std::vector<uint8> user_key_bits;
640 ASSERT_TRUE(user_policy_.GetSigningKey()->ExportPublicKey(&user_key_bits)); 659 ASSERT_TRUE(user_policy_.GetSigningKey()->ExportPublicKey(&user_key_bits));
641 ASSERT_TRUE(base::CreateDirectory(user_key_file.DirName())); 660 ASSERT_TRUE(base::CreateDirectory(user_key_file.DirName()));
642 ASSERT_EQ(base::WriteFile( 661 ASSERT_EQ(base::WriteFile(
643 user_key_file, 662 user_key_file,
644 reinterpret_cast<const char*>(user_key_bits.data()), 663 reinterpret_cast<const char*>(user_key_bits.data()),
645 user_key_bits.size()), 664 user_key_bits.size()),
646 static_cast<int>(user_key_bits.size())); 665 static_cast<int>(user_key_bits.size()));
647 user_policy_.policy_data().set_username(kEnterpriseUser1); 666 user_policy_.policy_data().set_username(
667 enterprise_account_id_.GetUserEmail());
648 668
649 policy_image_ = test::ImageLoader(test_data_dir_.Append( 669 policy_image_ = test::ImageLoader(test_data_dir_.Append(
650 test::kUserAvatarImage2RelativePath)).Load(); 670 test::kUserAvatarImage2RelativePath)).Load();
651 ASSERT_TRUE(policy_image_); 671 ASSERT_TRUE(policy_image_);
652 } 672 }
653 673
654 // policy::CloudPolicyStore::Observer overrides: 674 // policy::CloudPolicyStore::Observer overrides:
655 void OnStoreLoaded(policy::CloudPolicyStore* store) override { 675 void OnStoreLoaded(policy::CloudPolicyStore* store) override {
656 if (run_loop_) 676 if (run_loop_)
657 run_loop_->Quit(); 677 run_loop_->Quit();
(...skipping 23 matching lines...) Expand all
681 policy::UserPolicyBuilder user_policy_; 701 policy::UserPolicyBuilder user_policy_;
682 FakeSessionManagerClient* fake_session_manager_client_; 702 FakeSessionManagerClient* fake_session_manager_client_;
683 703
684 scoped_ptr<gfx::ImageSkia> policy_image_; 704 scoped_ptr<gfx::ImageSkia> policy_image_;
685 705
686 private: 706 private:
687 DISALLOW_COPY_AND_ASSIGN(UserImageManagerPolicyTest); 707 DISALLOW_COPY_AND_ASSIGN(UserImageManagerPolicyTest);
688 }; 708 };
689 709
690 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) { 710 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_SetAndClear) {
691 RegisterUser(kEnterpriseUser1); 711 RegisterUser(enterprise_account_id_.GetUserEmail());
692 chromeos::StartupUtils::MarkOobeCompleted(); 712 chromeos::StartupUtils::MarkOobeCompleted();
693 } 713 }
694 714
695 // Verifies that the user image can be set through policy. Also verifies that 715 // Verifies that the user image can be set through policy. Also verifies that
696 // after the policy has been cleared, the user is able to choose a different 716 // after the policy has been cleared, the user is able to choose a different
697 // image. 717 // image.
698 // http://crbug.com/396352 718 // http://crbug.com/396352
699 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, DISABLED_SetAndClear) { 719 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, DISABLED_SetAndClear) {
700 const user_manager::User* user = 720 const user_manager::User* user =
701 user_manager::UserManager::Get()->FindUser(kEnterpriseUser1); 721 user_manager::UserManager::Get()->FindUser(enterprise_account_id_);
702 ASSERT_TRUE(user); 722 ASSERT_TRUE(user);
703 723
704 LoginUser(kEnterpriseUser1); 724 LoginUser(enterprise_account_id_.GetUserEmail());
705 base::RunLoop().RunUntilIdle(); 725 base::RunLoop().RunUntilIdle();
706 726
707 policy::CloudPolicyStore* store = GetStoreForUser(user); 727 policy::CloudPolicyStore* store = GetStoreForUser(user);
708 ASSERT_TRUE(store); 728 ASSERT_TRUE(store);
709 729
710 // Set policy. Verify that the policy-provided user image is downloaded, set 730 // Set policy. Verify that the policy-provided user image is downloaded, set
711 // and persisted. 731 // and persisted.
712 user_policy_.payload().mutable_useravatarimage()->set_value( 732 user_policy_.payload().mutable_useravatarimage()->set_value(
713 ConstructPolicy(test::kUserAvatarImage2RelativePath)); 733 ConstructPolicy(test::kUserAvatarImage2RelativePath));
714 user_policy_.Build(); 734 user_policy_.Build();
715 fake_session_manager_client_->set_user_policy(kEnterpriseUser1, 735 fake_session_manager_client_->set_user_policy(
716 user_policy_.GetBlob()); 736 enterprise_account_id_.GetUserEmail(), user_policy_.GetBlob());
717 run_loop_.reset(new base::RunLoop); 737 run_loop_.reset(new base::RunLoop);
718 store->Load(); 738 store->Load();
719 run_loop_->Run(); 739 run_loop_->Run();
720 740
721 EXPECT_FALSE(user->HasDefaultImage()); 741 EXPECT_FALSE(user->HasDefaultImage());
722 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); 742 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index());
723 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); 743 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage()));
724 ExpectNewUserImageInfo(kEnterpriseUser1, 744 ExpectNewUserImageInfo(enterprise_account_id_,
725 user_manager::User::USER_IMAGE_EXTERNAL, 745 user_manager::User::USER_IMAGE_EXTERNAL,
726 GetUserImagePath(kEnterpriseUser1, "jpg")); 746 GetUserImagePath(enterprise_account_id_, "jpg"));
727 747
728 scoped_ptr<gfx::ImageSkia> saved_image = 748 scoped_ptr<gfx::ImageSkia> saved_image =
729 test::ImageLoader(GetUserImagePath(kEnterpriseUser1, "jpg")).Load(); 749 test::ImageLoader(GetUserImagePath(enterprise_account_id_, "jpg")).Load();
730 ASSERT_TRUE(saved_image); 750 ASSERT_TRUE(saved_image);
731 751
732 // Check image dimensions. Images can't be compared since JPEG is lossy. 752 // Check image dimensions. Images can't be compared since JPEG is lossy.
733 EXPECT_EQ(policy_image_->width(), saved_image->width()); 753 EXPECT_EQ(policy_image_->width(), saved_image->width());
734 EXPECT_EQ(policy_image_->height(), saved_image->height()); 754 EXPECT_EQ(policy_image_->height(), saved_image->height());
735 755
736 // Clear policy. Verify that the user image switches to a random default 756 // Clear policy. Verify that the user image switches to a random default
737 // image. 757 // image.
738 user_policy_.payload().Clear(); 758 user_policy_.payload().Clear();
739 user_policy_.Build(); 759 user_policy_.Build();
740 fake_session_manager_client_->set_user_policy(kEnterpriseUser1, 760 fake_session_manager_client_->set_user_policy(
741 user_policy_.GetBlob()); 761 enterprise_account_id_.GetUserEmail(), user_policy_.GetBlob());
742 run_loop_.reset(new base::RunLoop); 762 run_loop_.reset(new base::RunLoop);
743 store->AddObserver(this); 763 store->AddObserver(this);
744 store->Load(); 764 store->Load();
745 run_loop_->Run(); 765 run_loop_->Run();
746 store->RemoveObserver(this); 766 store->RemoveObserver(this);
747 base::RunLoop().RunUntilIdle(); 767 base::RunLoop().RunUntilIdle();
748 768
749 const int default_image_index = user->image_index(); 769 const int default_image_index = user->image_index();
750 EXPECT_TRUE(user->HasDefaultImage()); 770 EXPECT_TRUE(user->HasDefaultImage());
751 ASSERT_LE(user_manager::kFirstDefaultImageIndex, default_image_index); 771 ASSERT_LE(user_manager::kFirstDefaultImageIndex, default_image_index);
752 ASSERT_GT( 772 ASSERT_GT(
753 user_manager::kFirstDefaultImageIndex + user_manager::kDefaultImagesCount, 773 user_manager::kFirstDefaultImageIndex + user_manager::kDefaultImagesCount,
754 default_image_index); 774 default_image_index);
755 const gfx::ImageSkia& default_image = 775 const gfx::ImageSkia& default_image =
756 user_manager::GetDefaultImage(default_image_index); 776 user_manager::GetDefaultImage(default_image_index);
757 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); 777 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage()));
758 ExpectNewUserImageInfo(kEnterpriseUser1, default_image_index, 778 ExpectNewUserImageInfo(enterprise_account_id_, default_image_index,
759 base::FilePath()); 779 base::FilePath());
760 780
761 // Choose a different user image. Verify that the chosen user image is set and 781 // Choose a different user image. Verify that the chosen user image is set and
762 // persisted. 782 // persisted.
763 const int user_image_index = 783 const int user_image_index =
764 user_manager::kFirstDefaultImageIndex + 784 user_manager::kFirstDefaultImageIndex +
765 (default_image_index - user_manager::kFirstDefaultImageIndex + 1) % 785 (default_image_index - user_manager::kFirstDefaultImageIndex + 1) %
766 user_manager::kDefaultImagesCount; 786 user_manager::kDefaultImagesCount;
767 const gfx::ImageSkia& user_image = 787 const gfx::ImageSkia& user_image =
768 user_manager::GetDefaultImage(user_image_index); 788 user_manager::GetDefaultImage(user_image_index);
769 789
770 UserImageManager* user_image_manager = 790 UserImageManager* user_image_manager =
771 ChromeUserManager::Get()->GetUserImageManager(kEnterpriseUser1); 791 ChromeUserManager::Get()->GetUserImageManager(enterprise_account_id_);
772 user_image_manager->SaveUserDefaultImageIndex(user_image_index); 792 user_image_manager->SaveUserDefaultImageIndex(user_image_index);
773 793
774 EXPECT_TRUE(user->HasDefaultImage()); 794 EXPECT_TRUE(user->HasDefaultImage());
775 EXPECT_EQ(user_image_index, user->image_index()); 795 EXPECT_EQ(user_image_index, user->image_index());
776 EXPECT_TRUE(test::AreImagesEqual(user_image, user->GetImage())); 796 EXPECT_TRUE(test::AreImagesEqual(user_image, user->GetImage()));
777 ExpectNewUserImageInfo(kEnterpriseUser1, user_image_index, base::FilePath()); 797 ExpectNewUserImageInfo(enterprise_account_id_, user_image_index,
798 base::FilePath());
778 } 799 }
779 800
780 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) { 801 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PRE_PolicyOverridesUser) {
781 RegisterUser(kEnterpriseUser1); 802 RegisterUser(enterprise_account_id_.GetUserEmail());
782 chromeos::StartupUtils::MarkOobeCompleted(); 803 chromeos::StartupUtils::MarkOobeCompleted();
783 } 804 }
784 805
785 // Verifies that when the user chooses a user image and a different image is 806 // Verifies that when the user chooses a user image and a different image is
786 // then set through policy, the policy takes precedence, overriding the 807 // then set through policy, the policy takes precedence, overriding the
787 // previously chosen image. 808 // previously chosen image.
788 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) { 809 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, PolicyOverridesUser) {
789 const user_manager::User* user = 810 const user_manager::User* user =
790 user_manager::UserManager::Get()->FindUser(kEnterpriseUser1); 811 user_manager::UserManager::Get()->FindUser(enterprise_account_id_);
791 ASSERT_TRUE(user); 812 ASSERT_TRUE(user);
792 813
793 LoginUser(kEnterpriseUser1); 814 LoginUser(enterprise_account_id_.GetUserEmail());
794 base::RunLoop().RunUntilIdle(); 815 base::RunLoop().RunUntilIdle();
795 816
796 policy::CloudPolicyStore* store = GetStoreForUser(user); 817 policy::CloudPolicyStore* store = GetStoreForUser(user);
797 ASSERT_TRUE(store); 818 ASSERT_TRUE(store);
798 819
799 // Choose a user image. Verify that the chosen user image is set and 820 // Choose a user image. Verify that the chosen user image is set and
800 // persisted. 821 // persisted.
801 const gfx::ImageSkia& default_image = 822 const gfx::ImageSkia& default_image =
802 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex); 823 user_manager::GetDefaultImage(user_manager::kFirstDefaultImageIndex);
803 824
804 UserImageManager* user_image_manager = 825 UserImageManager* user_image_manager =
805 ChromeUserManager::Get()->GetUserImageManager(kEnterpriseUser1); 826 ChromeUserManager::Get()->GetUserImageManager(enterprise_account_id_);
806 user_image_manager->SaveUserDefaultImageIndex( 827 user_image_manager->SaveUserDefaultImageIndex(
807 user_manager::kFirstDefaultImageIndex); 828 user_manager::kFirstDefaultImageIndex);
808 829
809 EXPECT_TRUE(user->HasDefaultImage()); 830 EXPECT_TRUE(user->HasDefaultImage());
810 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index()); 831 EXPECT_EQ(user_manager::kFirstDefaultImageIndex, user->image_index());
811 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage())); 832 EXPECT_TRUE(test::AreImagesEqual(default_image, user->GetImage()));
812 ExpectNewUserImageInfo(kEnterpriseUser1, 833 ExpectNewUserImageInfo(enterprise_account_id_,
813 user_manager::kFirstDefaultImageIndex, 834 user_manager::kFirstDefaultImageIndex,
814 base::FilePath()); 835 base::FilePath());
815 836
816 // Set policy. Verify that the policy-provided user image is downloaded, set 837 // Set policy. Verify that the policy-provided user image is downloaded, set
817 // and persisted, overriding the previously set image. 838 // and persisted, overriding the previously set image.
818 user_policy_.payload().mutable_useravatarimage()->set_value( 839 user_policy_.payload().mutable_useravatarimage()->set_value(
819 ConstructPolicy(test::kUserAvatarImage2RelativePath)); 840 ConstructPolicy(test::kUserAvatarImage2RelativePath));
820 user_policy_.Build(); 841 user_policy_.Build();
821 fake_session_manager_client_->set_user_policy(kEnterpriseUser1, 842 fake_session_manager_client_->set_user_policy(
822 user_policy_.GetBlob()); 843 enterprise_account_id_.GetUserEmail(), user_policy_.GetBlob());
823 run_loop_.reset(new base::RunLoop); 844 run_loop_.reset(new base::RunLoop);
824 store->Load(); 845 store->Load();
825 run_loop_->Run(); 846 run_loop_->Run();
826 847
827 EXPECT_FALSE(user->HasDefaultImage()); 848 EXPECT_FALSE(user->HasDefaultImage());
828 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); 849 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index());
829 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); 850 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage()));
830 ExpectNewUserImageInfo(kEnterpriseUser1, 851 ExpectNewUserImageInfo(enterprise_account_id_,
831 user_manager::User::USER_IMAGE_EXTERNAL, 852 user_manager::User::USER_IMAGE_EXTERNAL,
832 GetUserImagePath(kEnterpriseUser1, "jpg")); 853 GetUserImagePath(enterprise_account_id_, "jpg"));
833 854
834 scoped_ptr<gfx::ImageSkia> saved_image = 855 scoped_ptr<gfx::ImageSkia> saved_image =
835 test::ImageLoader(GetUserImagePath(kEnterpriseUser1, "jpg")).Load(); 856 test::ImageLoader(GetUserImagePath(enterprise_account_id_, "jpg")).Load();
836 ASSERT_TRUE(saved_image); 857 ASSERT_TRUE(saved_image);
837 858
838 // Check image dimensions. Images can't be compared since JPEG is lossy. 859 // Check image dimensions. Images can't be compared since JPEG is lossy.
839 EXPECT_EQ(policy_image_->width(), saved_image->width()); 860 EXPECT_EQ(policy_image_->width(), saved_image->width());
840 EXPECT_EQ(policy_image_->height(), saved_image->height()); 861 EXPECT_EQ(policy_image_->height(), saved_image->height());
841 } 862 }
842 863
843 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, 864 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest,
844 PRE_UserDoesNotOverridePolicy) { 865 PRE_UserDoesNotOverridePolicy) {
845 RegisterUser(kEnterpriseUser1); 866 RegisterUser(enterprise_account_id_.GetUserEmail());
846 chromeos::StartupUtils::MarkOobeCompleted(); 867 chromeos::StartupUtils::MarkOobeCompleted();
847 } 868 }
848 869
849 // Verifies that when the user image has been set through policy and the user 870 // Verifies that when the user image has been set through policy and the user
850 // chooses a different image, the policy takes precedence, preventing the user 871 // chooses a different image, the policy takes precedence, preventing the user
851 // from overriding the previously chosen image. 872 // from overriding the previously chosen image.
852 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) { 873 IN_PROC_BROWSER_TEST_F(UserImageManagerPolicyTest, UserDoesNotOverridePolicy) {
853 const user_manager::User* user = 874 const user_manager::User* user =
854 user_manager::UserManager::Get()->FindUser(kEnterpriseUser1); 875 user_manager::UserManager::Get()->FindUser(enterprise_account_id_);
855 ASSERT_TRUE(user); 876 ASSERT_TRUE(user);
856 877
857 LoginUser(kEnterpriseUser1); 878 LoginUser(enterprise_account_id_.GetUserEmail());
858 base::RunLoop().RunUntilIdle(); 879 base::RunLoop().RunUntilIdle();
859 880
860 policy::CloudPolicyStore* store = GetStoreForUser(user); 881 policy::CloudPolicyStore* store = GetStoreForUser(user);
861 ASSERT_TRUE(store); 882 ASSERT_TRUE(store);
862 883
863 // Set policy. Verify that the policy-provided user image is downloaded, set 884 // Set policy. Verify that the policy-provided user image is downloaded, set
864 // and persisted. 885 // and persisted.
865 user_policy_.payload().mutable_useravatarimage()->set_value( 886 user_policy_.payload().mutable_useravatarimage()->set_value(
866 ConstructPolicy(test::kUserAvatarImage2RelativePath)); 887 ConstructPolicy(test::kUserAvatarImage2RelativePath));
867 user_policy_.Build(); 888 user_policy_.Build();
868 fake_session_manager_client_->set_user_policy(kEnterpriseUser1, 889 fake_session_manager_client_->set_user_policy(
869 user_policy_.GetBlob()); 890 enterprise_account_id_.GetUserEmail(), user_policy_.GetBlob());
870 run_loop_.reset(new base::RunLoop); 891 run_loop_.reset(new base::RunLoop);
871 store->Load(); 892 store->Load();
872 run_loop_->Run(); 893 run_loop_->Run();
873 894
874 EXPECT_FALSE(user->HasDefaultImage()); 895 EXPECT_FALSE(user->HasDefaultImage());
875 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); 896 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index());
876 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); 897 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage()));
877 ExpectNewUserImageInfo(kEnterpriseUser1, 898 ExpectNewUserImageInfo(enterprise_account_id_,
878 user_manager::User::USER_IMAGE_EXTERNAL, 899 user_manager::User::USER_IMAGE_EXTERNAL,
879 GetUserImagePath(kEnterpriseUser1, "jpg")); 900 GetUserImagePath(enterprise_account_id_, "jpg"));
880 901
881 scoped_ptr<gfx::ImageSkia> saved_image = 902 scoped_ptr<gfx::ImageSkia> saved_image =
882 test::ImageLoader(GetUserImagePath(kEnterpriseUser1, "jpg")).Load(); 903 test::ImageLoader(GetUserImagePath(enterprise_account_id_, "jpg")).Load();
883 ASSERT_TRUE(saved_image); 904 ASSERT_TRUE(saved_image);
884 905
885 // Check image dimensions. Images can't be compared since JPEG is lossy. 906 // Check image dimensions. Images can't be compared since JPEG is lossy.
886 EXPECT_EQ(policy_image_->width(), saved_image->width()); 907 EXPECT_EQ(policy_image_->width(), saved_image->width());
887 EXPECT_EQ(policy_image_->height(), saved_image->height()); 908 EXPECT_EQ(policy_image_->height(), saved_image->height());
888 909
889 // Choose a different user image. Verify that the user image does not change 910 // Choose a different user image. Verify that the user image does not change
890 // as policy takes precedence. 911 // as policy takes precedence.
891 UserImageManager* user_image_manager = 912 UserImageManager* user_image_manager =
892 ChromeUserManager::Get()->GetUserImageManager(kEnterpriseUser1); 913 ChromeUserManager::Get()->GetUserImageManager(enterprise_account_id_);
893 user_image_manager->SaveUserDefaultImageIndex( 914 user_image_manager->SaveUserDefaultImageIndex(
894 user_manager::kFirstDefaultImageIndex); 915 user_manager::kFirstDefaultImageIndex);
895 916
896 EXPECT_FALSE(user->HasDefaultImage()); 917 EXPECT_FALSE(user->HasDefaultImage());
897 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index()); 918 EXPECT_EQ(user_manager::User::USER_IMAGE_EXTERNAL, user->image_index());
898 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage())); 919 EXPECT_TRUE(test::AreImagesEqual(*policy_image_, user->GetImage()));
899 ExpectNewUserImageInfo(kEnterpriseUser1, 920 ExpectNewUserImageInfo(enterprise_account_id_,
900 user_manager::User::USER_IMAGE_EXTERNAL, 921 user_manager::User::USER_IMAGE_EXTERNAL,
901 GetUserImagePath(kEnterpriseUser1, "jpg")); 922 GetUserImagePath(enterprise_account_id_, "jpg"));
902 923
903 saved_image = 924 saved_image =
904 test::ImageLoader(GetUserImagePath(kEnterpriseUser1, "jpg")).Load(); 925 test::ImageLoader(GetUserImagePath(enterprise_account_id_, "jpg")).Load();
905 ASSERT_TRUE(saved_image); 926 ASSERT_TRUE(saved_image);
906 927
907 // Check image dimensions. Images can't be compared since JPEG is lossy. 928 // Check image dimensions. Images can't be compared since JPEG is lossy.
908 EXPECT_EQ(policy_image_->width(), saved_image->width()); 929 EXPECT_EQ(policy_image_->width(), saved_image->width());
909 EXPECT_EQ(policy_image_->height(), saved_image->height()); 930 EXPECT_EQ(policy_image_->height(), saved_image->height());
910 } 931 }
911 932
912 } // namespace chromeos 933 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/user_flow.cc ('k') | chrome/browser/chromeos/login/users/avatar/user_image_manager_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698