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

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

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