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

Side by Side Diff: chrome/browser/signin/easy_unlock_auth_attempt_unittest.cc

Issue 1494153002: This CL replaces e-mail with AccountId in easy signin code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Bugfix in original easy unlock code' Created 5 years 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/signin/easy_unlock_auth_attempt.h" 5 #include "chrome/browser/signin/easy_unlock_auth_attempt.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "chrome/browser/signin/easy_unlock_app_manager.h" 8 #include "chrome/browser/signin/easy_unlock_app_manager.h"
9 #include "components/proximity_auth/screenlock_bridge.h" 9 #include "components/proximity_auth/screenlock_bridge.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 enum AuthState { 106 enum AuthState {
107 STATE_NONE, 107 STATE_NONE,
108 STATE_ATTEMPTING_UNLOCK, 108 STATE_ATTEMPTING_UNLOCK,
109 STATE_UNLOCK_CANCELED, 109 STATE_UNLOCK_CANCELED,
110 STATE_UNLOCK_DONE, 110 STATE_UNLOCK_DONE,
111 STATE_ATTEMPTING_SIGNIN, 111 STATE_ATTEMPTING_SIGNIN,
112 STATE_SIGNIN_CANCELED, 112 STATE_SIGNIN_CANCELED,
113 STATE_SIGNIN_DONE 113 STATE_SIGNIN_DONE
114 }; 114 };
115 115
116 explicit TestLockHandler(const std::string& user_id) 116 explicit TestLockHandler(const AccountId& account_id)
117 : state_(STATE_NONE), auth_type_(USER_CLICK), user_id_(user_id) {} 117 : state_(STATE_NONE), auth_type_(USER_CLICK), account_id_(account_id) {}
118 118
119 ~TestLockHandler() override {} 119 ~TestLockHandler() override {}
120 120
121 void set_state(AuthState value) { state_ = value; } 121 void set_state(AuthState value) { state_ = value; }
122 AuthState state() const { return state_; } 122 AuthState state() const { return state_; }
123 123
124 // Changes the user associated with the lock handler.
125 // Caller should make sure that |state_| is also appropriately updated.
126 void set_user_id(const std::string& value) { user_id_ = value; }
127
128 // Sets the secret that is expected to be sent to |AttemptEasySignin| 124 // Sets the secret that is expected to be sent to |AttemptEasySignin|
129 void set_expected_secret(const std::string& value) { 125 void set_expected_secret(const std::string& value) {
130 expected_secret_ = value; 126 expected_secret_ = value;
131 } 127 }
132 128
133 // Not using |SetAuthType| to make sure it's not called during tests. 129 // Not using |SetAuthType| to make sure it's not called during tests.
134 void set_auth_type(AuthType value) { auth_type_ = value; } 130 void set_auth_type(AuthType value) { auth_type_ = value; }
135 131
136 // proximity_auth::ScreenlockBridge::LockHandler implementation: 132 // proximity_auth::ScreenlockBridge::LockHandler implementation:
137 void ShowBannerMessage(const base::string16& message) override { 133 void ShowBannerMessage(const base::string16& message) override {
138 ADD_FAILURE() << "Should not be reached."; 134 ADD_FAILURE() << "Should not be reached.";
139 } 135 }
140 136
141 void ShowUserPodCustomIcon( 137 void ShowUserPodCustomIcon(
142 const std::string& user_email, 138 const AccountId& account_id,
143 const proximity_auth::ScreenlockBridge::UserPodCustomIconOptions& icon) 139 const proximity_auth::ScreenlockBridge::UserPodCustomIconOptions& icon)
144 override { 140 override {
145 ADD_FAILURE() << "Should not be reached."; 141 ADD_FAILURE() << "Should not be reached.";
146 } 142 }
147 143
148 void HideUserPodCustomIcon(const std::string& user_email) override { 144 void HideUserPodCustomIcon(const AccountId& account_id) override {
149 ADD_FAILURE() << "Should not be reached."; 145 ADD_FAILURE() << "Should not be reached.";
150 } 146 }
151 147
152 void EnableInput() override { 148 void EnableInput() override {
153 ASSERT_EQ(STATE_ATTEMPTING_UNLOCK, state_); 149 ASSERT_EQ(STATE_ATTEMPTING_UNLOCK, state_);
154 state_ = STATE_UNLOCK_CANCELED; 150 state_ = STATE_UNLOCK_CANCELED;
155 } 151 }
156 152
157 void SetAuthType(const std::string& user_email, 153 void SetAuthType(const AccountId& account_id,
158 AuthType auth_type, 154 AuthType auth_type,
159 const base::string16& auth_value) override { 155 const base::string16& auth_value) override {
160 ADD_FAILURE() << "Should not be reached."; 156 ADD_FAILURE() << "Should not be reached.";
161 } 157 }
162 158
163 AuthType GetAuthType(const std::string& user_email) const override { 159 AuthType GetAuthType(const AccountId& account_id) const override {
164 return auth_type_; 160 return auth_type_;
165 } 161 }
166 162
167 ScreenType GetScreenType() const override { 163 ScreenType GetScreenType() const override {
168 // Return an arbitrary value; this is not used by the test code. 164 // Return an arbitrary value; this is not used by the test code.
169 return LOCK_SCREEN; 165 return LOCK_SCREEN;
170 } 166 }
171 167
172 void Unlock(const std::string& user_email) override { 168 void Unlock(const AccountId& account_id) override {
173 ASSERT_EQ(user_id_, user_email); 169 ASSERT_TRUE(account_id_ == account_id)
170 << "account_id_=" << account_id_.Serialize()
171 << " != " << account_id.Serialize();
174 ASSERT_EQ(STATE_ATTEMPTING_UNLOCK, state_); 172 ASSERT_EQ(STATE_ATTEMPTING_UNLOCK, state_);
175 state_ = STATE_UNLOCK_DONE; 173 state_ = STATE_UNLOCK_DONE;
176 } 174 }
177 175
178 void AttemptEasySignin(const std::string& user_email, 176 void AttemptEasySignin(const AccountId& account_id,
179 const std::string& secret, 177 const std::string& secret,
180 const std::string& key_label) override { 178 const std::string& key_label) override {
181 #if defined(OS_CHROMEOS) 179 #if defined(OS_CHROMEOS)
182 ASSERT_EQ(user_id_, user_email); 180 ASSERT_TRUE(account_id_ == account_id)
181 << "account_id_=" << account_id_.Serialize()
182 << " != " << account_id.Serialize();
183 183
184 ASSERT_EQ(STATE_ATTEMPTING_SIGNIN, state_); 184 ASSERT_EQ(STATE_ATTEMPTING_SIGNIN, state_);
185 if (secret.empty()) { 185 if (secret.empty()) {
186 state_ = STATE_SIGNIN_CANCELED; 186 state_ = STATE_SIGNIN_CANCELED;
187 } else { 187 } else {
188 ASSERT_EQ(expected_secret_, secret); 188 ASSERT_EQ(expected_secret_, secret);
189 ASSERT_EQ(chromeos::EasyUnlockKeyManager::GetKeyLabel(0u), key_label); 189 ASSERT_EQ(chromeos::EasyUnlockKeyManager::GetKeyLabel(0u), key_label);
190 state_ = STATE_SIGNIN_DONE; 190 state_ = STATE_SIGNIN_DONE;
191 } 191 }
192 #else // if !defined(OS_CHROMEOS) 192 #else // if !defined(OS_CHROMEOS)
193 ADD_FAILURE() << "Should not be reached."; 193 ADD_FAILURE() << "Should not be reached.";
194 #endif 194 #endif
195 } 195 }
196 196
197 private: 197 private:
198 AuthState state_; 198 AuthState state_;
199 AuthType auth_type_; 199 AuthType auth_type_;
200 std::string user_id_; 200 const AccountId account_id_;
201 std::string expected_secret_; 201 std::string expected_secret_;
202 202
203 DISALLOW_COPY_AND_ASSIGN(TestLockHandler); 203 DISALLOW_COPY_AND_ASSIGN(TestLockHandler);
204 }; 204 };
205 205
206 class EasyUnlockAuthAttemptUnlockTest : public testing::Test { 206 class EasyUnlockAuthAttemptUnlockTest : public testing::Test {
207 public: 207 public:
208 EasyUnlockAuthAttemptUnlockTest() {} 208 EasyUnlockAuthAttemptUnlockTest() {}
209 ~EasyUnlockAuthAttemptUnlockTest() override {} 209 ~EasyUnlockAuthAttemptUnlockTest() override {}
210 210
211 void SetUp() override { 211 void SetUp() override {
212 app_manager_.reset(new FakeAppManager()); 212 app_manager_.reset(new FakeAppManager());
213 auth_attempt_.reset(new EasyUnlockAuthAttempt( 213 auth_attempt_.reset(
214 app_manager_.get(), kTestUser1, EasyUnlockAuthAttempt::TYPE_UNLOCK, 214 new EasyUnlockAuthAttempt(app_manager_.get(), test_account_id1_,
215 EasyUnlockAuthAttempt::FinalizedCallback())); 215 EasyUnlockAuthAttempt::TYPE_UNLOCK,
216 EasyUnlockAuthAttempt::FinalizedCallback()));
216 } 217 }
217 218
218 void TearDown() override { 219 void TearDown() override {
219 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL); 220 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL);
220 auth_attempt_.reset(); 221 auth_attempt_.reset();
221 } 222 }
222 223
223 protected: 224 protected:
224 void InitScreenLock() { 225 void InitScreenLock() {
225 lock_handler_.reset(new TestLockHandler(kTestUser1)); 226 lock_handler_.reset(new TestLockHandler(test_account_id1_));
226 lock_handler_->set_state(TestLockHandler::STATE_ATTEMPTING_UNLOCK); 227 lock_handler_->set_state(TestLockHandler::STATE_ATTEMPTING_UNLOCK);
227 proximity_auth::ScreenlockBridge::Get()->SetLockHandler( 228 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(
228 lock_handler_.get()); 229 lock_handler_.get());
229 } 230 }
230 231
231 scoped_ptr<EasyUnlockAuthAttempt> auth_attempt_; 232 scoped_ptr<EasyUnlockAuthAttempt> auth_attempt_;
232 scoped_ptr<FakeAppManager> app_manager_; 233 scoped_ptr<FakeAppManager> app_manager_;
233 scoped_ptr<TestLockHandler> lock_handler_; 234 scoped_ptr<TestLockHandler> lock_handler_;
234 235
236 const AccountId test_account_id1_ = AccountId::FromUserEmail(kTestUser1);
237 const AccountId test_account_id2_ = AccountId::FromUserEmail(kTestUser2);
238
235 private: 239 private:
236 DISALLOW_COPY_AND_ASSIGN(EasyUnlockAuthAttemptUnlockTest); 240 DISALLOW_COPY_AND_ASSIGN(EasyUnlockAuthAttemptUnlockTest);
237 }; 241 };
238 242
239 TEST_F(EasyUnlockAuthAttemptUnlockTest, StartWhenNotLocked) { 243 TEST_F(EasyUnlockAuthAttemptUnlockTest, StartWhenNotLocked) {
240 ASSERT_FALSE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 244 ASSERT_FALSE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
241 245
242 EXPECT_FALSE(auth_attempt_->Start()); 246 EXPECT_FALSE(auth_attempt_->Start());
243 EXPECT_EQ(0u, app_manager_->auth_attempt_count()); 247 EXPECT_EQ(0u, app_manager_->auth_attempt_count());
244 } 248 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 TEST_F(EasyUnlockAuthAttemptUnlockTest, FinalizeUnlockFailure) { 293 TEST_F(EasyUnlockAuthAttemptUnlockTest, FinalizeUnlockFailure) {
290 InitScreenLock(); 294 InitScreenLock();
291 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 295 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
292 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 296 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
293 297
294 ASSERT_TRUE(auth_attempt_->Start()); 298 ASSERT_TRUE(auth_attempt_->Start());
295 299
296 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 300 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
297 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 301 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
298 302
299 auth_attempt_->FinalizeUnlock(kTestUser1, false); 303 auth_attempt_->FinalizeUnlock(test_account_id1_, false);
300 304
301 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state()); 305 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state());
302 } 306 }
303 307
304 TEST_F(EasyUnlockAuthAttemptUnlockTest, FinalizeSigninCalled) { 308 TEST_F(EasyUnlockAuthAttemptUnlockTest, FinalizeSigninCalled) {
305 InitScreenLock(); 309 InitScreenLock();
306 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 310 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
307 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 311 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
308 312
309 ASSERT_TRUE(auth_attempt_->Start()); 313 ASSERT_TRUE(auth_attempt_->Start());
310 314
311 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 315 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
312 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 316 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
313 317
314 // Wrapped secret and key should be irrelevant in this case. 318 // Wrapped secret and key should be irrelevant in this case.
315 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(), 319 auth_attempt_->FinalizeSignin(test_account_id1_, GetWrappedSecret(),
316 GetSessionKey()); 320 GetSessionKey());
317 321
318 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state()); 322 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state());
319 } 323 }
320 324
321 TEST_F(EasyUnlockAuthAttemptUnlockTest, UnlockSucceeds) { 325 TEST_F(EasyUnlockAuthAttemptUnlockTest, UnlockSucceeds) {
322 InitScreenLock(); 326 InitScreenLock();
323 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 327 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
324 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 328 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
325 329
326 ASSERT_TRUE(auth_attempt_->Start()); 330 ASSERT_TRUE(auth_attempt_->Start());
327 331
328 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 332 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
329 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 333 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
330 334
331 auth_attempt_->FinalizeUnlock(kTestUser1, true); 335 auth_attempt_->FinalizeUnlock(test_account_id1_, true);
332 336
333 ASSERT_EQ(TestLockHandler::STATE_UNLOCK_DONE, lock_handler_->state()); 337 ASSERT_EQ(TestLockHandler::STATE_UNLOCK_DONE, lock_handler_->state());
334 } 338 }
335 339
336 TEST_F(EasyUnlockAuthAttemptUnlockTest, FinalizeUnlockCalledForWrongUser) { 340 TEST_F(EasyUnlockAuthAttemptUnlockTest, FinalizeUnlockCalledForWrongUser) {
337 InitScreenLock(); 341 InitScreenLock();
338 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 342 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
339 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 343 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
340 344
341 ASSERT_TRUE(auth_attempt_->Start()); 345 ASSERT_TRUE(auth_attempt_->Start());
342 346
343 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 347 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
344 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 348 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
345 349
346 auth_attempt_->FinalizeUnlock(kTestUser2, true); 350 auth_attempt_->FinalizeUnlock(test_account_id2_, true);
347 351
348 // If FinalizeUnlock is called for an incorrect user, it should be ignored 352 // If FinalizeUnlock is called for an incorrect user, it should be ignored
349 // rather than cancelling the authentication. 353 // rather than cancelling the authentication.
350 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 354 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
351 355
352 // When FinalizeUnlock is called for the correct user, it should work as 356 // When FinalizeUnlock is called for the correct user, it should work as
353 // expected. 357 // expected.
354 auth_attempt_->FinalizeUnlock(kTestUser1, true); 358 auth_attempt_->FinalizeUnlock(test_account_id1_, true);
355 359
356 ASSERT_EQ(TestLockHandler::STATE_UNLOCK_DONE, lock_handler_->state()); 360 ASSERT_EQ(TestLockHandler::STATE_UNLOCK_DONE, lock_handler_->state());
357 } 361 }
358 362
359 #if defined(OS_CHROMEOS) 363 #if defined(OS_CHROMEOS)
360 class EasyUnlockAuthAttemptSigninTest : public testing::Test { 364 class EasyUnlockAuthAttemptSigninTest : public testing::Test {
361 public: 365 public:
362 EasyUnlockAuthAttemptSigninTest() {} 366 EasyUnlockAuthAttemptSigninTest() {}
363 ~EasyUnlockAuthAttemptSigninTest() override {} 367 ~EasyUnlockAuthAttemptSigninTest() override {}
364 368
365 void SetUp() override { 369 void SetUp() override {
366 app_manager_.reset(new FakeAppManager()); 370 app_manager_.reset(new FakeAppManager());
367 auth_attempt_.reset(new EasyUnlockAuthAttempt( 371 auth_attempt_.reset(
368 app_manager_.get(), kTestUser1, EasyUnlockAuthAttempt::TYPE_SIGNIN, 372 new EasyUnlockAuthAttempt(app_manager_.get(), test_account_id1_,
369 EasyUnlockAuthAttempt::FinalizedCallback())); 373 EasyUnlockAuthAttempt::TYPE_SIGNIN,
374 EasyUnlockAuthAttempt::FinalizedCallback()));
370 } 375 }
371 376
372 void TearDown() override { 377 void TearDown() override {
373 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL); 378 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(NULL);
374 auth_attempt_.reset(); 379 auth_attempt_.reset();
375 } 380 }
376 381
377 protected: 382 protected:
378 void InitScreenLock() { 383 void InitScreenLock() {
379 lock_handler_.reset(new TestLockHandler(kTestUser1)); 384 lock_handler_.reset(new TestLockHandler(test_account_id1_));
380 lock_handler_->set_state(TestLockHandler::STATE_ATTEMPTING_SIGNIN); 385 lock_handler_->set_state(TestLockHandler::STATE_ATTEMPTING_SIGNIN);
381 proximity_auth::ScreenlockBridge::Get()->SetLockHandler( 386 proximity_auth::ScreenlockBridge::Get()->SetLockHandler(
382 lock_handler_.get()); 387 lock_handler_.get());
383 } 388 }
384 389
385 scoped_ptr<EasyUnlockAuthAttempt> auth_attempt_; 390 scoped_ptr<EasyUnlockAuthAttempt> auth_attempt_;
386 scoped_ptr<FakeAppManager> app_manager_; 391 scoped_ptr<FakeAppManager> app_manager_;
387 scoped_ptr<TestLockHandler> lock_handler_; 392 scoped_ptr<TestLockHandler> lock_handler_;
388 393
394 const AccountId test_account_id1_ = AccountId::FromUserEmail(kTestUser1);
395 const AccountId test_account_id2_ = AccountId::FromUserEmail(kTestUser2);
396
389 private: 397 private:
390 DISALLOW_COPY_AND_ASSIGN(EasyUnlockAuthAttemptSigninTest); 398 DISALLOW_COPY_AND_ASSIGN(EasyUnlockAuthAttemptSigninTest);
391 }; 399 };
392 400
393 TEST_F(EasyUnlockAuthAttemptSigninTest, StartWhenNotLocked) { 401 TEST_F(EasyUnlockAuthAttemptSigninTest, StartWhenNotLocked) {
394 ASSERT_FALSE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 402 ASSERT_FALSE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
395 403
396 EXPECT_FALSE(auth_attempt_->Start()); 404 EXPECT_FALSE(auth_attempt_->Start());
397 EXPECT_EQ(0u, app_manager_->auth_attempt_count()); 405 EXPECT_EQ(0u, app_manager_->auth_attempt_count());
398 } 406 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeSigninWithEmtpySecret) { 451 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeSigninWithEmtpySecret) {
444 InitScreenLock(); 452 InitScreenLock();
445 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 453 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
446 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 454 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
447 455
448 ASSERT_TRUE(auth_attempt_->Start()); 456 ASSERT_TRUE(auth_attempt_->Start());
449 457
450 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 458 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
451 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 459 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
452 460
453 auth_attempt_->FinalizeSignin(kTestUser1, "", GetSessionKey()); 461 auth_attempt_->FinalizeSignin(test_account_id1_, "", GetSessionKey());
454 462
455 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 463 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
456 } 464 }
457 465
458 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeSigninWithEmtpyKey) { 466 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeSigninWithEmtpyKey) {
459 InitScreenLock(); 467 InitScreenLock();
460 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 468 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
461 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 469 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
462 470
463 ASSERT_TRUE(auth_attempt_->Start()); 471 ASSERT_TRUE(auth_attempt_->Start());
464 472
465 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 473 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
466 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 474 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
467 475
468 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(), ""); 476 auth_attempt_->FinalizeSignin(test_account_id1_, GetWrappedSecret(), "");
469 477
470 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 478 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
471 } 479 }
472 480
473 TEST_F(EasyUnlockAuthAttemptSigninTest, SigninSuccess) { 481 TEST_F(EasyUnlockAuthAttemptSigninTest, SigninSuccess) {
474 InitScreenLock(); 482 InitScreenLock();
475 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 483 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
476 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 484 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
477 485
478 ASSERT_TRUE(auth_attempt_->Start()); 486 ASSERT_TRUE(auth_attempt_->Start());
479 487
480 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 488 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
481 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 489 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
482 490
483 lock_handler_->set_expected_secret(GetSecret()); 491 lock_handler_->set_expected_secret(GetSecret());
484 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(), 492 auth_attempt_->FinalizeSignin(test_account_id1_, GetWrappedSecret(),
485 GetSessionKey()); 493 GetSessionKey());
486 494
487 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_DONE, lock_handler_->state()); 495 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_DONE, lock_handler_->state());
488 } 496 }
489 497
490 TEST_F(EasyUnlockAuthAttemptSigninTest, WrongWrappedSecret) { 498 TEST_F(EasyUnlockAuthAttemptSigninTest, WrongWrappedSecret) {
491 InitScreenLock(); 499 InitScreenLock();
492 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 500 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
493 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 501 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
494 502
495 ASSERT_TRUE(auth_attempt_->Start()); 503 ASSERT_TRUE(auth_attempt_->Start());
496 504
497 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 505 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
498 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 506 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
499 507
500 auth_attempt_->FinalizeSignin(kTestUser1, "wrong_secret", GetSessionKey()); 508 auth_attempt_->FinalizeSignin(test_account_id1_, "wrong_secret",
509 GetSessionKey());
501 510
502 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 511 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
503 } 512 }
504 513
505 TEST_F(EasyUnlockAuthAttemptSigninTest, InvalidSessionKey) { 514 TEST_F(EasyUnlockAuthAttemptSigninTest, InvalidSessionKey) {
506 InitScreenLock(); 515 InitScreenLock();
507 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 516 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
508 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 517 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
509 518
510 ASSERT_TRUE(auth_attempt_->Start()); 519 ASSERT_TRUE(auth_attempt_->Start());
511 520
512 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 521 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
513 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 522 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
514 523
515 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(), "invalid_key"); 524 auth_attempt_->FinalizeSignin(test_account_id1_, GetWrappedSecret(),
525 "invalid_key");
516 526
517 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 527 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
518 } 528 }
519 529
520 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeUnlockCalled) { 530 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeUnlockCalled) {
521 InitScreenLock(); 531 InitScreenLock();
522 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 532 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
523 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 533 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
524 534
525 ASSERT_TRUE(auth_attempt_->Start()); 535 ASSERT_TRUE(auth_attempt_->Start());
526 536
527 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 537 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
528 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 538 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
529 539
530 auth_attempt_->FinalizeUnlock(kTestUser1, true); 540 auth_attempt_->FinalizeUnlock(test_account_id1_, true);
531 541
532 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 542 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
533 } 543 }
534 544
535 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeSigninCalledForWrongUser) { 545 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeSigninCalledForWrongUser) {
536 InitScreenLock(); 546 InitScreenLock();
537 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked()); 547 ASSERT_TRUE(proximity_auth::ScreenlockBridge::Get()->IsLocked());
538 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 548 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
539 549
540 ASSERT_TRUE(auth_attempt_->Start()); 550 ASSERT_TRUE(auth_attempt_->Start());
541 551
542 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 552 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
543 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 553 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
544 554
545 lock_handler_->set_expected_secret(GetSecret()); 555 lock_handler_->set_expected_secret(GetSecret());
546 556
547 auth_attempt_->FinalizeSignin(kTestUser2, GetWrappedSecret(), 557 auth_attempt_->FinalizeSignin(test_account_id2_, GetWrappedSecret(),
548 GetSessionKey()); 558 GetSessionKey());
549 559
550 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 560 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
551 561
552 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(), 562 auth_attempt_->FinalizeSignin(test_account_id1_, GetWrappedSecret(),
553 GetSessionKey()); 563 GetSessionKey());
554 564
555 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_DONE, lock_handler_->state()); 565 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_DONE, lock_handler_->state());
556 } 566 }
557 #endif // defined(OS_CHROMEOS) 567 #endif // defined(OS_CHROMEOS)
558 568
559 } // namespace 569 } // namespace
OLDNEW
« no previous file with comments | « chrome/browser/signin/easy_unlock_auth_attempt.cc ('k') | chrome/browser/signin/easy_unlock_screenlock_state_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698