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

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

Issue 1096293003: Move screenlock_bridge to components/proximity_auth (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
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 "chrome/browser/signin/screenlock_bridge.h" 9 #include "chrome/browser/signin/proximity_auth_facade.h"
10 #include "components/proximity_auth/screenlock_bridge.h"
10 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
11 12
12 #if defined(OS_CHROMEOS) 13 #if defined(OS_CHROMEOS)
13 #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_key_manager.h" 14 #include "chrome/browser/chromeos/login/easy_unlock/easy_unlock_key_manager.h"
14 #endif 15 #endif
15 16
16 namespace { 17 namespace {
17 18
18 // Fake user ids used in tests. 19 // Fake user ids used in tests.
19 const char kTestUser1[] = "user1"; 20 const char kTestUser1[] = "user1";
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 } 94 }
94 95
95 private: 96 private:
96 size_t auth_attempt_count_; 97 size_t auth_attempt_count_;
97 bool auth_attempt_should_fail_; 98 bool auth_attempt_should_fail_;
98 99
99 DISALLOW_COPY_AND_ASSIGN(FakeAppManager); 100 DISALLOW_COPY_AND_ASSIGN(FakeAppManager);
100 }; 101 };
101 102
102 // Fake lock handler to be used in these tests. 103 // Fake lock handler to be used in these tests.
103 class TestLockHandler : public ScreenlockBridge::LockHandler { 104 class TestLockHandler : public proximity_auth::ScreenlockBridge::LockHandler {
104 public: 105 public:
105 // The state of unlock/signin procedure. 106 // The state of unlock/signin procedure.
106 enum AuthState { 107 enum AuthState {
107 STATE_NONE, 108 STATE_NONE,
108 STATE_ATTEMPTING_UNLOCK, 109 STATE_ATTEMPTING_UNLOCK,
109 STATE_UNLOCK_CANCELED, 110 STATE_UNLOCK_CANCELED,
110 STATE_UNLOCK_DONE, 111 STATE_UNLOCK_DONE,
111 STATE_ATTEMPTING_SIGNIN, 112 STATE_ATTEMPTING_SIGNIN,
112 STATE_SIGNIN_CANCELED, 113 STATE_SIGNIN_CANCELED,
113 STATE_SIGNIN_DONE 114 STATE_SIGNIN_DONE
(...skipping 12 matching lines...) Expand all
126 void set_user_id(const std::string& value) { user_id_ = value; } 127 void set_user_id(const std::string& value) { user_id_ = value; }
127 128
128 // Sets the secret that is expected to be sent to |AttemptEasySignin| 129 // Sets the secret that is expected to be sent to |AttemptEasySignin|
129 void set_expected_secret(const std::string& value) { 130 void set_expected_secret(const std::string& value) {
130 expected_secret_ = value; 131 expected_secret_ = value;
131 } 132 }
132 133
133 // Not using |SetAuthType| to make sure it's not called during tests. 134 // Not using |SetAuthType| to make sure it's not called during tests.
134 void set_auth_type(AuthType value) { auth_type_ = value; } 135 void set_auth_type(AuthType value) { auth_type_ = value; }
135 136
136 // ScreenlockBridge::LockHandler implementation: 137 // proximity_auth::ScreenlockBridge::LockHandler implementation:
137 void ShowBannerMessage(const base::string16& message) override { 138 void ShowBannerMessage(const base::string16& message) override {
138 ADD_FAILURE() << "Should not be reached."; 139 ADD_FAILURE() << "Should not be reached.";
139 } 140 }
140 141
141 void ShowUserPodCustomIcon( 142 void ShowUserPodCustomIcon(
142 const std::string& user_email, 143 const std::string& user_email,
143 const ScreenlockBridge::UserPodCustomIconOptions& icon) override { 144 const proximity_auth::ScreenlockBridge::UserPodCustomIconOptions& icon)
145 override {
144 ADD_FAILURE() << "Should not be reached."; 146 ADD_FAILURE() << "Should not be reached.";
145 } 147 }
146 148
147 void HideUserPodCustomIcon(const std::string& user_email) override { 149 void HideUserPodCustomIcon(const std::string& user_email) override {
148 ADD_FAILURE() << "Should not be reached."; 150 ADD_FAILURE() << "Should not be reached.";
149 } 151 }
150 152
151 void EnableInput() override { 153 void EnableInput() override {
152 ASSERT_EQ(STATE_ATTEMPTING_UNLOCK, state_); 154 ASSERT_EQ(STATE_ATTEMPTING_UNLOCK, state_);
153 state_ = STATE_UNLOCK_CANCELED; 155 state_ = STATE_UNLOCK_CANCELED;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 ~EasyUnlockAuthAttemptUnlockTest() override {} 210 ~EasyUnlockAuthAttemptUnlockTest() override {}
209 211
210 void SetUp() override { 212 void SetUp() override {
211 app_manager_.reset(new FakeAppManager()); 213 app_manager_.reset(new FakeAppManager());
212 auth_attempt_.reset(new EasyUnlockAuthAttempt( 214 auth_attempt_.reset(new EasyUnlockAuthAttempt(
213 app_manager_.get(), kTestUser1, EasyUnlockAuthAttempt::TYPE_UNLOCK, 215 app_manager_.get(), kTestUser1, EasyUnlockAuthAttempt::TYPE_UNLOCK,
214 EasyUnlockAuthAttempt::FinalizedCallback())); 216 EasyUnlockAuthAttempt::FinalizedCallback()));
215 } 217 }
216 218
217 void TearDown() override { 219 void TearDown() override {
218 ScreenlockBridge::Get()->SetLockHandler(NULL); 220 GetScreenlockBridgeInstance()->SetLockHandler(NULL);
219 auth_attempt_.reset(); 221 auth_attempt_.reset();
220 } 222 }
221 223
222 protected: 224 protected:
223 void InitScreenLock() { 225 void InitScreenLock() {
224 lock_handler_.reset(new TestLockHandler(kTestUser1)); 226 lock_handler_.reset(new TestLockHandler(kTestUser1));
225 lock_handler_->set_state(TestLockHandler::STATE_ATTEMPTING_UNLOCK); 227 lock_handler_->set_state(TestLockHandler::STATE_ATTEMPTING_UNLOCK);
226 ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get()); 228 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get());
227 } 229 }
228 230
229 scoped_ptr<EasyUnlockAuthAttempt> auth_attempt_; 231 scoped_ptr<EasyUnlockAuthAttempt> auth_attempt_;
230 scoped_ptr<FakeAppManager> app_manager_; 232 scoped_ptr<FakeAppManager> app_manager_;
231 scoped_ptr<TestLockHandler> lock_handler_; 233 scoped_ptr<TestLockHandler> lock_handler_;
232 234
233 private: 235 private:
234 DISALLOW_COPY_AND_ASSIGN(EasyUnlockAuthAttemptUnlockTest); 236 DISALLOW_COPY_AND_ASSIGN(EasyUnlockAuthAttemptUnlockTest);
235 }; 237 };
236 238
237 TEST_F(EasyUnlockAuthAttemptUnlockTest, StartWhenNotLocked) { 239 TEST_F(EasyUnlockAuthAttemptUnlockTest, StartWhenNotLocked) {
238 ASSERT_FALSE(ScreenlockBridge::Get()->IsLocked()); 240 ASSERT_FALSE(GetScreenlockBridgeInstance()->IsLocked());
239 241
240 EXPECT_FALSE(auth_attempt_->Start()); 242 EXPECT_FALSE(auth_attempt_->Start());
241 EXPECT_EQ(0u, app_manager_->auth_attempt_count()); 243 EXPECT_EQ(0u, app_manager_->auth_attempt_count());
242 } 244 }
243 245
244 TEST_F(EasyUnlockAuthAttemptUnlockTest, StartWhenAuthTypeIsPassword) { 246 TEST_F(EasyUnlockAuthAttemptUnlockTest, StartWhenAuthTypeIsPassword) {
245 InitScreenLock(); 247 InitScreenLock();
246 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 248 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
247 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 249 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
248 250
249 lock_handler_->set_auth_type(ScreenlockBridge::LockHandler::OFFLINE_PASSWORD); 251 lock_handler_->set_auth_type(
252 proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD);
250 253
251 EXPECT_FALSE(auth_attempt_->Start()); 254 EXPECT_FALSE(auth_attempt_->Start());
252 255
253 EXPECT_EQ(0u, app_manager_->auth_attempt_count()); 256 EXPECT_EQ(0u, app_manager_->auth_attempt_count());
254 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state()); 257 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state());
255 } 258 }
256 259
257 TEST_F(EasyUnlockAuthAttemptUnlockTest, 260 TEST_F(EasyUnlockAuthAttemptUnlockTest,
258 StartWhenDispatchingAuthAttemptEventFails) { 261 StartWhenDispatchingAuthAttemptEventFails) {
259 InitScreenLock(); 262 InitScreenLock();
260 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 263 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
261 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 264 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
262 265
263 app_manager_->set_auth_attempt_should_fail(true); 266 app_manager_->set_auth_attempt_should_fail(true);
264 267
265 EXPECT_FALSE(auth_attempt_->Start()); 268 EXPECT_FALSE(auth_attempt_->Start());
266 269
267 EXPECT_EQ(1u, app_manager_->auth_attempt_count()); 270 EXPECT_EQ(1u, app_manager_->auth_attempt_count());
268 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state()); 271 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state());
269 } 272 }
270 273
271 TEST_F(EasyUnlockAuthAttemptUnlockTest, ResetBeforeFinalizeUnlock) { 274 TEST_F(EasyUnlockAuthAttemptUnlockTest, ResetBeforeFinalizeUnlock) {
272 InitScreenLock(); 275 InitScreenLock();
273 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 276 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
274 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 277 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
275 278
276 ASSERT_TRUE(auth_attempt_->Start()); 279 ASSERT_TRUE(auth_attempt_->Start());
277 280
278 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 281 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
279 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 282 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
280 283
281 auth_attempt_.reset(); 284 auth_attempt_.reset();
282 285
283 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state()); 286 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state());
284 } 287 }
285 288
286 TEST_F(EasyUnlockAuthAttemptUnlockTest, FinalizeUnlockFailure) { 289 TEST_F(EasyUnlockAuthAttemptUnlockTest, FinalizeUnlockFailure) {
287 InitScreenLock(); 290 InitScreenLock();
288 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 291 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
289 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 292 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
290 293
291 ASSERT_TRUE(auth_attempt_->Start()); 294 ASSERT_TRUE(auth_attempt_->Start());
292 295
293 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 296 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
294 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 297 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
295 298
296 auth_attempt_->FinalizeUnlock(kTestUser1, false); 299 auth_attempt_->FinalizeUnlock(kTestUser1, false);
297 300
298 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state()); 301 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state());
299 } 302 }
300 303
301 TEST_F(EasyUnlockAuthAttemptUnlockTest, FinalizeSigninCalled) { 304 TEST_F(EasyUnlockAuthAttemptUnlockTest, FinalizeSigninCalled) {
302 InitScreenLock(); 305 InitScreenLock();
303 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 306 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
304 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 307 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
305 308
306 ASSERT_TRUE(auth_attempt_->Start()); 309 ASSERT_TRUE(auth_attempt_->Start());
307 310
308 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 311 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
309 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 312 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
310 313
311 // Wrapped secret and key should be irrelevant in this case. 314 // Wrapped secret and key should be irrelevant in this case.
312 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(), 315 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(),
313 GetSessionKey()); 316 GetSessionKey());
314 317
315 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state()); 318 EXPECT_EQ(TestLockHandler::STATE_UNLOCK_CANCELED, lock_handler_->state());
316 } 319 }
317 320
318 TEST_F(EasyUnlockAuthAttemptUnlockTest, UnlockSucceeds) { 321 TEST_F(EasyUnlockAuthAttemptUnlockTest, UnlockSucceeds) {
319 InitScreenLock(); 322 InitScreenLock();
320 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 323 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
321 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 324 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
322 325
323 ASSERT_TRUE(auth_attempt_->Start()); 326 ASSERT_TRUE(auth_attempt_->Start());
324 327
325 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 328 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
326 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 329 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
327 330
328 auth_attempt_->FinalizeUnlock(kTestUser1, true); 331 auth_attempt_->FinalizeUnlock(kTestUser1, true);
329 332
330 ASSERT_EQ(TestLockHandler::STATE_UNLOCK_DONE, lock_handler_->state()); 333 ASSERT_EQ(TestLockHandler::STATE_UNLOCK_DONE, lock_handler_->state());
331 } 334 }
332 335
333 TEST_F(EasyUnlockAuthAttemptUnlockTest, FinalizeUnlockCalledForWrongUser) { 336 TEST_F(EasyUnlockAuthAttemptUnlockTest, FinalizeUnlockCalledForWrongUser) {
334 InitScreenLock(); 337 InitScreenLock();
335 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 338 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
336 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 339 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
337 340
338 ASSERT_TRUE(auth_attempt_->Start()); 341 ASSERT_TRUE(auth_attempt_->Start());
339 342
340 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 343 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
341 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state()); 344 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_UNLOCK, lock_handler_->state());
342 345
343 auth_attempt_->FinalizeUnlock(kTestUser2, true); 346 auth_attempt_->FinalizeUnlock(kTestUser2, true);
344 347
345 // If FinalizeUnlock is called for an incorrect user, it should be ignored 348 // If FinalizeUnlock is called for an incorrect user, it should be ignored
(...skipping 14 matching lines...) Expand all
360 ~EasyUnlockAuthAttemptSigninTest() override {} 363 ~EasyUnlockAuthAttemptSigninTest() override {}
361 364
362 void SetUp() override { 365 void SetUp() override {
363 app_manager_.reset(new FakeAppManager()); 366 app_manager_.reset(new FakeAppManager());
364 auth_attempt_.reset(new EasyUnlockAuthAttempt( 367 auth_attempt_.reset(new EasyUnlockAuthAttempt(
365 app_manager_.get(), kTestUser1, EasyUnlockAuthAttempt::TYPE_SIGNIN, 368 app_manager_.get(), kTestUser1, EasyUnlockAuthAttempt::TYPE_SIGNIN,
366 EasyUnlockAuthAttempt::FinalizedCallback())); 369 EasyUnlockAuthAttempt::FinalizedCallback()));
367 } 370 }
368 371
369 void TearDown() override { 372 void TearDown() override {
370 ScreenlockBridge::Get()->SetLockHandler(NULL); 373 GetScreenlockBridgeInstance()->SetLockHandler(NULL);
371 auth_attempt_.reset(); 374 auth_attempt_.reset();
372 } 375 }
373 376
374 protected: 377 protected:
375 void InitScreenLock() { 378 void InitScreenLock() {
376 lock_handler_.reset(new TestLockHandler(kTestUser1)); 379 lock_handler_.reset(new TestLockHandler(kTestUser1));
377 lock_handler_->set_state(TestLockHandler::STATE_ATTEMPTING_SIGNIN); 380 lock_handler_->set_state(TestLockHandler::STATE_ATTEMPTING_SIGNIN);
378 ScreenlockBridge::Get()->SetLockHandler(lock_handler_.get()); 381 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get());
379 } 382 }
380 383
381 scoped_ptr<EasyUnlockAuthAttempt> auth_attempt_; 384 scoped_ptr<EasyUnlockAuthAttempt> auth_attempt_;
382 scoped_ptr<FakeAppManager> app_manager_; 385 scoped_ptr<FakeAppManager> app_manager_;
383 scoped_ptr<TestLockHandler> lock_handler_; 386 scoped_ptr<TestLockHandler> lock_handler_;
384 387
385 private: 388 private:
386 DISALLOW_COPY_AND_ASSIGN(EasyUnlockAuthAttemptSigninTest); 389 DISALLOW_COPY_AND_ASSIGN(EasyUnlockAuthAttemptSigninTest);
387 }; 390 };
388 391
389 TEST_F(EasyUnlockAuthAttemptSigninTest, StartWhenNotLocked) { 392 TEST_F(EasyUnlockAuthAttemptSigninTest, StartWhenNotLocked) {
390 ASSERT_FALSE(ScreenlockBridge::Get()->IsLocked()); 393 ASSERT_FALSE(GetScreenlockBridgeInstance()->IsLocked());
391 394
392 EXPECT_FALSE(auth_attempt_->Start()); 395 EXPECT_FALSE(auth_attempt_->Start());
393 EXPECT_EQ(0u, app_manager_->auth_attempt_count()); 396 EXPECT_EQ(0u, app_manager_->auth_attempt_count());
394 } 397 }
395 398
396 TEST_F(EasyUnlockAuthAttemptSigninTest, StartWhenAuthTypeIsPassword) { 399 TEST_F(EasyUnlockAuthAttemptSigninTest, StartWhenAuthTypeIsPassword) {
397 InitScreenLock(); 400 InitScreenLock();
398 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 401 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
399 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 402 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
400 403
401 lock_handler_->set_auth_type(ScreenlockBridge::LockHandler::OFFLINE_PASSWORD); 404 lock_handler_->set_auth_type(
405 proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD);
402 406
403 EXPECT_FALSE(auth_attempt_->Start()); 407 EXPECT_FALSE(auth_attempt_->Start());
404 408
405 EXPECT_EQ(0u, app_manager_->auth_attempt_count()); 409 EXPECT_EQ(0u, app_manager_->auth_attempt_count());
406 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 410 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
407 } 411 }
408 412
409 TEST_F(EasyUnlockAuthAttemptSigninTest, 413 TEST_F(EasyUnlockAuthAttemptSigninTest,
410 StartWhenDispatchingAuthAttemptEventFails) { 414 StartWhenDispatchingAuthAttemptEventFails) {
411 InitScreenLock(); 415 InitScreenLock();
412 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 416 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
413 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 417 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
414 418
415 app_manager_->set_auth_attempt_should_fail(true); 419 app_manager_->set_auth_attempt_should_fail(true);
416 420
417 EXPECT_FALSE(auth_attempt_->Start()); 421 EXPECT_FALSE(auth_attempt_->Start());
418 422
419 EXPECT_EQ(1u, app_manager_->auth_attempt_count()); 423 EXPECT_EQ(1u, app_manager_->auth_attempt_count());
420 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 424 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
421 } 425 }
422 426
423 TEST_F(EasyUnlockAuthAttemptSigninTest, ResetBeforeFinalizeSignin) { 427 TEST_F(EasyUnlockAuthAttemptSigninTest, ResetBeforeFinalizeSignin) {
424 InitScreenLock(); 428 InitScreenLock();
425 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 429 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
426 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 430 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
427 431
428 ASSERT_TRUE(auth_attempt_->Start()); 432 ASSERT_TRUE(auth_attempt_->Start());
429 433
430 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 434 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
431 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 435 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
432 436
433 auth_attempt_.reset(); 437 auth_attempt_.reset();
434 438
435 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 439 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
436 } 440 }
437 441
438 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeSigninWithEmtpySecret) { 442 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeSigninWithEmtpySecret) {
439 InitScreenLock(); 443 InitScreenLock();
440 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 444 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
441 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 445 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
442 446
443 ASSERT_TRUE(auth_attempt_->Start()); 447 ASSERT_TRUE(auth_attempt_->Start());
444 448
445 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 449 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
446 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 450 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
447 451
448 auth_attempt_->FinalizeSignin(kTestUser1, "", GetSessionKey()); 452 auth_attempt_->FinalizeSignin(kTestUser1, "", GetSessionKey());
449 453
450 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 454 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
451 } 455 }
452 456
453 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeSigninWithEmtpyKey) { 457 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeSigninWithEmtpyKey) {
454 InitScreenLock(); 458 InitScreenLock();
455 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 459 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
456 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 460 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
457 461
458 ASSERT_TRUE(auth_attempt_->Start()); 462 ASSERT_TRUE(auth_attempt_->Start());
459 463
460 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 464 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
461 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 465 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
462 466
463 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(), ""); 467 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(), "");
464 468
465 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 469 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
466 } 470 }
467 471
468 TEST_F(EasyUnlockAuthAttemptSigninTest, SigninSuccess) { 472 TEST_F(EasyUnlockAuthAttemptSigninTest, SigninSuccess) {
469 InitScreenLock(); 473 InitScreenLock();
470 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 474 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
471 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 475 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
472 476
473 ASSERT_TRUE(auth_attempt_->Start()); 477 ASSERT_TRUE(auth_attempt_->Start());
474 478
475 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 479 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
476 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 480 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
477 481
478 lock_handler_->set_expected_secret(GetSecret()); 482 lock_handler_->set_expected_secret(GetSecret());
479 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(), 483 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(),
480 GetSessionKey()); 484 GetSessionKey());
481 485
482 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_DONE, lock_handler_->state()); 486 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_DONE, lock_handler_->state());
483 } 487 }
484 488
485 TEST_F(EasyUnlockAuthAttemptSigninTest, WrongWrappedSecret) { 489 TEST_F(EasyUnlockAuthAttemptSigninTest, WrongWrappedSecret) {
486 InitScreenLock(); 490 InitScreenLock();
487 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 491 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
488 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 492 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
489 493
490 ASSERT_TRUE(auth_attempt_->Start()); 494 ASSERT_TRUE(auth_attempt_->Start());
491 495
492 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 496 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
493 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 497 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
494 498
495 auth_attempt_->FinalizeSignin(kTestUser1, "wrong_secret", GetSessionKey()); 499 auth_attempt_->FinalizeSignin(kTestUser1, "wrong_secret", GetSessionKey());
496 500
497 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 501 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
498 } 502 }
499 503
500 TEST_F(EasyUnlockAuthAttemptSigninTest, InvalidSessionKey) { 504 TEST_F(EasyUnlockAuthAttemptSigninTest, InvalidSessionKey) {
501 InitScreenLock(); 505 InitScreenLock();
502 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 506 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
503 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 507 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
504 508
505 ASSERT_TRUE(auth_attempt_->Start()); 509 ASSERT_TRUE(auth_attempt_->Start());
506 510
507 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 511 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
508 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 512 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
509 513
510 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(), "invalid_key"); 514 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(), "invalid_key");
511 515
512 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 516 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
513 } 517 }
514 518
515 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeUnlockCalled) { 519 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeUnlockCalled) {
516 InitScreenLock(); 520 InitScreenLock();
517 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 521 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
518 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 522 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
519 523
520 ASSERT_TRUE(auth_attempt_->Start()); 524 ASSERT_TRUE(auth_attempt_->Start());
521 525
522 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 526 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
523 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 527 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
524 528
525 auth_attempt_->FinalizeUnlock(kTestUser1, true); 529 auth_attempt_->FinalizeUnlock(kTestUser1, true);
526 530
527 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state()); 531 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_CANCELED, lock_handler_->state());
528 } 532 }
529 533
530 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeSigninCalledForWrongUser) { 534 TEST_F(EasyUnlockAuthAttemptSigninTest, FinalizeSigninCalledForWrongUser) {
531 InitScreenLock(); 535 InitScreenLock();
532 ASSERT_TRUE(ScreenlockBridge::Get()->IsLocked()); 536 ASSERT_TRUE(GetScreenlockBridgeInstance()->IsLocked());
533 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 537 ASSERT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
534 538
535 ASSERT_TRUE(auth_attempt_->Start()); 539 ASSERT_TRUE(auth_attempt_->Start());
536 540
537 ASSERT_EQ(1u, app_manager_->auth_attempt_count()); 541 ASSERT_EQ(1u, app_manager_->auth_attempt_count());
538 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 542 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
539 543
540 lock_handler_->set_expected_secret(GetSecret()); 544 lock_handler_->set_expected_secret(GetSecret());
541 545
542 auth_attempt_->FinalizeSignin(kTestUser2, GetWrappedSecret(), 546 auth_attempt_->FinalizeSignin(kTestUser2, GetWrappedSecret(),
543 GetSessionKey()); 547 GetSessionKey());
544 548
545 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state()); 549 EXPECT_EQ(TestLockHandler::STATE_ATTEMPTING_SIGNIN, lock_handler_->state());
546 550
547 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(), 551 auth_attempt_->FinalizeSignin(kTestUser1, GetWrappedSecret(),
548 GetSessionKey()); 552 GetSessionKey());
549 553
550 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_DONE, lock_handler_->state()); 554 EXPECT_EQ(TestLockHandler::STATE_SIGNIN_DONE, lock_handler_->state());
551 } 555 }
552 #endif // defined(OS_CHROMEOS) 556 #endif // defined(OS_CHROMEOS)
553 557
554 } // namespace 558 } // 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