OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "base/prefs/pref_service.h" | 5 #include "base/prefs/pref_service.h" |
6 #include "base/strings/utf_string_conversions.h" | 6 #include "base/strings/utf_string_conversions.h" |
7 #include "base/values.h" | 7 #include "base/values.h" |
8 #include "chrome/browser/content_settings/cookie_settings.h" | 8 #include "chrome/browser/content_settings/cookie_settings.h" |
9 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" | 9 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" |
10 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 10 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
198 | 198 |
199 } // namespace | 199 } // namespace |
200 | 200 |
201 class OneClickSigninHelperTest : public ChromeRenderViewHostTestHarness { | 201 class OneClickSigninHelperTest : public ChromeRenderViewHostTestHarness { |
202 public: | 202 public: |
203 OneClickSigninHelperTest(); | 203 OneClickSigninHelperTest(); |
204 | 204 |
205 virtual void SetUp() OVERRIDE; | 205 virtual void SetUp() OVERRIDE; |
206 virtual void TearDown() OVERRIDE; | 206 virtual void TearDown() OVERRIDE; |
207 | 207 |
208 // Creates the sign-in manager for tests. If |use_incognito| is true then | 208 // Creates the sign-in manager for tests. If |username| is |
209 // a WebContents for an incognito profile is created. If |username| is | |
210 // is not empty, the profile of the mock WebContents will be connected to | 209 // is not empty, the profile of the mock WebContents will be connected to |
211 // the given account. | 210 // the given account. |
212 void CreateSigninManager(bool use_incognito, const std::string& username); | 211 void CreateSigninManager(const std::string& username); |
213 | 212 |
214 // Set the ID of the signin process that the test will assume to be the | 213 // Set the ID of the signin process that the test will assume to be the |
215 // only process allowed to sign the user in to Chrome. | 214 // only process allowed to sign the user in to Chrome. |
216 void SetTrustedSigninProcessID(int id); | 215 void SetTrustedSigninProcessID(int id); |
217 | 216 |
218 void AddEmailToOneClickRejectedList(const std::string& email); | 217 void AddEmailToOneClickRejectedList(const std::string& email); |
219 void EnableOneClick(bool enable); | 218 void EnableOneClick(bool enable); |
220 void AllowSigninCookies(bool enable); | 219 void AllowSigninCookies(bool enable); |
221 void SetAllowedUsernamePattern(const std::string& pattern); | 220 void SetAllowedUsernamePattern(const std::string& pattern); |
222 ProfileSyncServiceMock* CreateProfileSyncServiceMock(); | 221 ProfileSyncServiceMock* CreateProfileSyncServiceMock(); |
(...skipping 28 matching lines...) Expand all Loading... | |
251 void OneClickSigninHelperTest::TearDown() { | 250 void OneClickSigninHelperTest::TearDown() { |
252 signin::ForceWebBasedSigninFlowForTesting(false); | 251 signin::ForceWebBasedSigninFlowForTesting(false); |
253 content::RenderViewHostTestHarness::TearDown(); | 252 content::RenderViewHostTestHarness::TearDown(); |
254 } | 253 } |
255 | 254 |
256 void OneClickSigninHelperTest::SetTrustedSigninProcessID(int id) { | 255 void OneClickSigninHelperTest::SetTrustedSigninProcessID(int id) { |
257 trusted_signin_process_id_ = id; | 256 trusted_signin_process_id_ = id; |
258 } | 257 } |
259 | 258 |
260 void OneClickSigninHelperTest::CreateSigninManager( | 259 void OneClickSigninHelperTest::CreateSigninManager( |
261 bool use_incognito, | |
262 const std::string& username) { | 260 const std::string& username) { |
263 profile()->set_incognito(use_incognito); | |
264 signin_manager_ = static_cast<SigninManagerMock*>( | 261 signin_manager_ = static_cast<SigninManagerMock*>( |
265 SigninManagerFactory::GetInstance()->SetTestingFactoryAndUse( | 262 SigninManagerFactory::GetInstance()->SetTestingFactoryAndUse( |
266 profile(), BuildSigninManagerMock)); | 263 profile(), BuildSigninManagerMock)); |
267 if (signin_manager_) | 264 if (signin_manager_) |
268 signin_manager_->SetSigninProcess(trusted_signin_process_id_); | 265 signin_manager_->SetSigninProcess(trusted_signin_process_id_); |
269 | 266 |
270 if (!username.empty()) { | 267 if (!username.empty()) { |
271 ASSERT_TRUE(signin_manager_); | 268 ASSERT_TRUE(signin_manager_); |
272 signin_manager_->SetAuthenticatedUsername(username); | 269 signin_manager_->SetAuthenticatedUsername(username); |
273 } | 270 } |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
361 PrefService* pref_service = profile()->GetPrefs(); | 358 PrefService* pref_service = profile()->GetPrefs(); |
362 PrefService* local_state = g_browser_process->local_state(); | 359 PrefService* local_state = g_browser_process->local_state(); |
363 CookieSettings* cookie_settings = | 360 CookieSettings* cookie_settings = |
364 CookieSettings::Factory::GetForProfile(profile()).get(); | 361 CookieSettings::Factory::GetForProfile(profile()).get(); |
365 TestProfileIOData* io_data = new TestProfileIOData( | 362 TestProfileIOData* io_data = new TestProfileIOData( |
366 is_incognito, pref_service, local_state, cookie_settings); | 363 is_incognito, pref_service, local_state, cookie_settings); |
367 io_data->set_reverse_autologin_pending_email("user@gmail.com"); | 364 io_data->set_reverse_autologin_pending_email("user@gmail.com"); |
368 return io_data; | 365 return io_data; |
369 } | 366 } |
370 | 367 |
368 class OneClickSigninHelperIncognitoTest : public OneClickSigninHelperTest { | |
369 protected: | |
370 // content::RenderViewHostTestHarness. | |
371 virtual content::BrowserContext* CreateBrowserContext() OVERRIDE; | |
372 }; | |
373 | |
374 content::BrowserContext* | |
375 OneClickSigninHelperIncognitoTest::CreateBrowserContext() { | |
376 // Builds an incognito profile to run this test. | |
377 TestingProfile::Builder builder; | |
378 builder.SetIncognito(); | |
379 return builder.Build().release(); | |
380 } | |
381 | |
awong
2013/08/16 17:53:16
nit: spurious newline.
Andrew T Wilson (Slow)
2013/08/19 12:15:56
Done.
| |
382 | |
371 TEST_F(OneClickSigninHelperTest, CanOfferNoContents) { | 383 TEST_F(OneClickSigninHelperTest, CanOfferNoContents) { |
372 std::string error_message; | 384 std::string error_message; |
373 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 385 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
374 NULL, OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 386 NULL, OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
375 "user@gmail.com", &error_message)); | 387 "user@gmail.com", &error_message)); |
376 EXPECT_EQ("", error_message); | 388 EXPECT_EQ("", error_message); |
377 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 389 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
378 NULL, OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 390 NULL, OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
379 "user@gmail.com", &error_message)); | 391 "user@gmail.com", &error_message)); |
380 EXPECT_EQ("", error_message); | 392 EXPECT_EQ("", error_message); |
381 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 393 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
382 NULL, | 394 NULL, |
383 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 395 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
384 std::string(), | 396 std::string(), |
385 &error_message)); | 397 &error_message)); |
386 EXPECT_EQ("", error_message); | 398 EXPECT_EQ("", error_message); |
387 } | 399 } |
388 | 400 |
389 TEST_F(OneClickSigninHelperTest, CanOffer) { | 401 TEST_F(OneClickSigninHelperTest, CanOffer) { |
390 CreateSigninManager(false, std::string()); | 402 CreateSigninManager(std::string()); |
391 | 403 |
392 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 404 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
393 WillRepeatedly(Return(true)); | 405 WillRepeatedly(Return(true)); |
394 | 406 |
395 EnableOneClick(true); | 407 EnableOneClick(true); |
396 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 408 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
397 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 409 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
398 "user@gmail.com", NULL)); | 410 "user@gmail.com", NULL)); |
399 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 411 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
400 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 412 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
(...skipping 17 matching lines...) Expand all Loading... | |
418 "user@gmail.com", &error_message)); | 430 "user@gmail.com", &error_message)); |
419 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 431 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
420 web_contents(), | 432 web_contents(), |
421 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 433 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
422 std::string(), | 434 std::string(), |
423 &error_message)); | 435 &error_message)); |
424 EXPECT_EQ("", error_message); | 436 EXPECT_EQ("", error_message); |
425 } | 437 } |
426 | 438 |
427 TEST_F(OneClickSigninHelperTest, CanOfferFirstSetup) { | 439 TEST_F(OneClickSigninHelperTest, CanOfferFirstSetup) { |
428 CreateSigninManager(false, std::string()); | 440 CreateSigninManager(std::string()); |
429 | 441 |
430 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 442 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
431 WillRepeatedly(Return(true)); | 443 WillRepeatedly(Return(true)); |
432 | 444 |
433 // Invoke OneClickTestProfileSyncService factory function and grab result. | 445 // Invoke OneClickTestProfileSyncService factory function and grab result. |
434 OneClickTestProfileSyncService* sync = | 446 OneClickTestProfileSyncService* sync = |
435 static_cast<OneClickTestProfileSyncService*>( | 447 static_cast<OneClickTestProfileSyncService*>( |
436 ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( | 448 ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
437 static_cast<Profile*>(browser_context()), | 449 static_cast<Profile*>(browser_context()), |
438 OneClickTestProfileSyncService::Build)); | 450 OneClickTestProfileSyncService::Build)); |
439 | 451 |
440 sync->set_first_setup_in_progress(true); | 452 sync->set_first_setup_in_progress(true); |
441 | 453 |
442 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 454 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
443 web_contents(), | 455 web_contents(), |
444 OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 456 OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
445 "foo@gmail.com", NULL)); | 457 "foo@gmail.com", NULL)); |
446 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 458 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
447 web_contents(), | 459 web_contents(), |
448 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 460 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
449 "foo@gmail.com", NULL)); | 461 "foo@gmail.com", NULL)); |
450 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 462 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
451 web_contents(), | 463 web_contents(), |
452 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 464 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
453 std::string(), | 465 std::string(), |
454 NULL)); | 466 NULL)); |
455 } | 467 } |
456 | 468 |
457 TEST_F(OneClickSigninHelperTest, CanOfferProfileConnected) { | 469 TEST_F(OneClickSigninHelperTest, CanOfferProfileConnected) { |
458 CreateSigninManager(false, "foo@gmail.com"); | 470 CreateSigninManager("foo@gmail.com"); |
459 | 471 |
460 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 472 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
461 WillRepeatedly(Return(true)); | 473 WillRepeatedly(Return(true)); |
462 | 474 |
463 std::string error_message; | 475 std::string error_message; |
464 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 476 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
465 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 477 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
466 "foo@gmail.com", &error_message)); | 478 "foo@gmail.com", &error_message)); |
467 EXPECT_EQ("", error_message); | 479 EXPECT_EQ("", error_message); |
468 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 480 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
(...skipping 19 matching lines...) Expand all Loading... | |
488 UTF8ToUTF16("foo@gmail.com")), | 500 UTF8ToUTF16("foo@gmail.com")), |
489 error_message); | 501 error_message); |
490 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 502 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
491 web_contents(), | 503 web_contents(), |
492 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 504 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
493 std::string(), | 505 std::string(), |
494 &error_message)); | 506 &error_message)); |
495 } | 507 } |
496 | 508 |
497 TEST_F(OneClickSigninHelperTest, CanOfferUsernameNotAllowed) { | 509 TEST_F(OneClickSigninHelperTest, CanOfferUsernameNotAllowed) { |
498 CreateSigninManager(false, std::string()); | 510 CreateSigninManager(std::string()); |
499 | 511 |
500 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 512 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
501 WillRepeatedly(Return(false)); | 513 WillRepeatedly(Return(false)); |
502 | 514 |
503 std::string error_message; | 515 std::string error_message; |
504 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 516 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
505 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 517 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
506 "foo@gmail.com", &error_message)); | 518 "foo@gmail.com", &error_message)); |
507 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SYNC_LOGIN_NAME_PROHIBITED), | 519 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SYNC_LOGIN_NAME_PROHIBITED), |
508 error_message); | 520 error_message); |
509 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 521 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
510 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 522 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
511 "foo@gmail.com", &error_message)); | 523 "foo@gmail.com", &error_message)); |
512 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SYNC_LOGIN_NAME_PROHIBITED), | 524 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SYNC_LOGIN_NAME_PROHIBITED), |
513 error_message); | 525 error_message); |
514 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 526 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
515 web_contents(), | 527 web_contents(), |
516 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 528 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
517 std::string(), | 529 std::string(), |
518 &error_message)); | 530 &error_message)); |
519 } | 531 } |
520 | 532 |
521 TEST_F(OneClickSigninHelperTest, CanOfferWithRejectedEmail) { | 533 TEST_F(OneClickSigninHelperTest, CanOfferWithRejectedEmail) { |
522 CreateSigninManager(false, std::string()); | 534 CreateSigninManager(std::string()); |
523 | 535 |
524 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 536 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
525 WillRepeatedly(Return(true)); | 537 WillRepeatedly(Return(true)); |
526 | 538 |
527 AddEmailToOneClickRejectedList("foo@gmail.com"); | 539 AddEmailToOneClickRejectedList("foo@gmail.com"); |
528 AddEmailToOneClickRejectedList("user@gmail.com"); | 540 AddEmailToOneClickRejectedList("user@gmail.com"); |
529 | 541 |
530 std::string error_message; | 542 std::string error_message; |
531 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 543 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
532 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 544 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
533 "foo@gmail.com", &error_message)); | 545 "foo@gmail.com", &error_message)); |
534 EXPECT_EQ("", error_message); | 546 EXPECT_EQ("", error_message); |
535 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 547 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
536 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 548 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
537 "user@gmail.com", &error_message)); | 549 "user@gmail.com", &error_message)); |
538 EXPECT_EQ("", error_message); | 550 EXPECT_EQ("", error_message); |
539 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 551 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
540 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 552 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
541 "foo@gmail.com", &error_message)); | 553 "foo@gmail.com", &error_message)); |
542 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 554 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
543 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 555 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
544 "user@gmail.com", &error_message)); | 556 "user@gmail.com", &error_message)); |
545 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 557 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
546 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 558 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
547 "john@gmail.com", &error_message)); | 559 "john@gmail.com", &error_message)); |
548 } | 560 } |
549 | 561 |
550 TEST_F(OneClickSigninHelperTest, CanOfferIncognito) { | 562 TEST_F(OneClickSigninHelperIncognitoTest, CanOfferIncognito) { |
551 CreateSigninManager(true, std::string()); | 563 CreateSigninManager(std::string()); |
552 | 564 |
553 std::string error_message; | 565 std::string error_message; |
554 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 566 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
555 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 567 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
556 "user@gmail.com", &error_message)); | 568 "user@gmail.com", &error_message)); |
557 EXPECT_EQ("", error_message); | 569 EXPECT_EQ("", error_message); |
558 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 570 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
559 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 571 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
560 "user@gmail.com", &error_message)); | 572 "user@gmail.com", &error_message)); |
561 EXPECT_EQ("", error_message); | 573 EXPECT_EQ("", error_message); |
562 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 574 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
563 web_contents(), | 575 web_contents(), |
564 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 576 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
565 std::string(), | 577 std::string(), |
566 &error_message)); | 578 &error_message)); |
567 EXPECT_EQ("", error_message); | 579 EXPECT_EQ("", error_message); |
568 } | 580 } |
569 | 581 |
570 TEST_F(OneClickSigninHelperTest, CanOfferNoSigninCookies) { | 582 TEST_F(OneClickSigninHelperTest, CanOfferNoSigninCookies) { |
571 CreateSigninManager(false, std::string()); | 583 CreateSigninManager(std::string()); |
572 AllowSigninCookies(false); | 584 AllowSigninCookies(false); |
573 | 585 |
574 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 586 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
575 WillRepeatedly(Return(true)); | 587 WillRepeatedly(Return(true)); |
576 | 588 |
577 std::string error_message; | 589 std::string error_message; |
578 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 590 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
579 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 591 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
580 "user@gmail.com", &error_message)); | 592 "user@gmail.com", &error_message)); |
581 EXPECT_EQ("", error_message); | 593 EXPECT_EQ("", error_message); |
582 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 594 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
583 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 595 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
584 "user@gmail.com", &error_message)); | 596 "user@gmail.com", &error_message)); |
585 EXPECT_EQ("", error_message); | 597 EXPECT_EQ("", error_message); |
586 EXPECT_FALSE(OneClickSigninHelper::CanOffer( | 598 EXPECT_FALSE(OneClickSigninHelper::CanOffer( |
587 web_contents(), | 599 web_contents(), |
588 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, | 600 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, |
589 std::string(), | 601 std::string(), |
590 &error_message)); | 602 &error_message)); |
591 EXPECT_EQ("", error_message); | 603 EXPECT_EQ("", error_message); |
592 } | 604 } |
593 | 605 |
594 TEST_F(OneClickSigninHelperTest, CanOfferDisabledByPolicy) { | 606 TEST_F(OneClickSigninHelperTest, CanOfferDisabledByPolicy) { |
595 CreateSigninManager(false, std::string()); | 607 CreateSigninManager(std::string()); |
596 | 608 |
597 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). | 609 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). |
598 WillRepeatedly(Return(true)); | 610 WillRepeatedly(Return(true)); |
599 | 611 |
600 EnableOneClick(true); | 612 EnableOneClick(true); |
601 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 613 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
602 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 614 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
603 "user@gmail.com", NULL)); | 615 "user@gmail.com", NULL)); |
604 | 616 |
605 // Simulate a policy disabling signin by writing kSigninAllowed directly. | 617 // Simulate a policy disabling signin by writing kSigninAllowed directly. |
(...skipping 13 matching lines...) Expand all Loading... | |
619 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); | 631 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); |
620 | 632 |
621 // Should still offer even if sync is disabled by policy. | 633 // Should still offer even if sync is disabled by policy. |
622 EXPECT_TRUE(OneClickSigninHelper::CanOffer( | 634 EXPECT_TRUE(OneClickSigninHelper::CanOffer( |
623 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, | 635 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, |
624 "user@gmail.com", NULL)); | 636 "user@gmail.com", NULL)); |
625 } | 637 } |
626 | 638 |
627 // Should not crash if a helper instance is not associated with an incognito | 639 // Should not crash if a helper instance is not associated with an incognito |
628 // web contents. | 640 // web contents. |
629 TEST_F(OneClickSigninHelperTest, ShowInfoBarUIThreadIncognito) { | 641 TEST_F(OneClickSigninHelperIncognitoTest, ShowInfoBarUIThreadIncognito) { |
630 CreateSigninManager(true, std::string()); | 642 CreateSigninManager(std::string()); |
631 OneClickSigninHelper* helper = | 643 OneClickSigninHelper* helper = |
632 OneClickSigninHelper::FromWebContents(web_contents()); | 644 OneClickSigninHelper::FromWebContents(web_contents()); |
633 EXPECT_EQ(NULL, helper); | 645 EXPECT_EQ(NULL, helper); |
634 | 646 |
635 OneClickSigninHelper::ShowInfoBarUIThread( | 647 OneClickSigninHelper::ShowInfoBarUIThread( |
636 "session_index", "email", OneClickSigninHelper::AUTO_ACCEPT_ACCEPTED, | 648 "session_index", "email", OneClickSigninHelper::AUTO_ACCEPT_ACCEPTED, |
637 signin::SOURCE_UNKNOWN, GURL(), process()->GetID(), | 649 signin::SOURCE_UNKNOWN, GURL(), process()->GetID(), |
638 rvh()->GetRoutingID()); | 650 rvh()->GetRoutingID()); |
639 } | 651 } |
640 | 652 |
641 // If Chrome signin is triggered from a webstore install, and user chooses to | 653 // If Chrome signin is triggered from a webstore install, and user chooses to |
642 // config sync, then Chrome should redirect immediately to sync settings page, | 654 // config sync, then Chrome should redirect immediately to sync settings page, |
643 // and upon successful setup, redirect back to webstore. | 655 // and upon successful setup, redirect back to webstore. |
644 TEST_F(OneClickSigninHelperTest, SigninFromWebstoreWithConfigSyncfirst) { | 656 TEST_F(OneClickSigninHelperTest, SigninFromWebstoreWithConfigSyncfirst) { |
645 CreateSigninManager(false, std::string()); | 657 CreateSigninManager(std::string()); |
646 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)) | 658 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)) |
647 .WillRepeatedly(Return(true)); | 659 .WillRepeatedly(Return(true)); |
648 | 660 |
649 CreateProfileSyncServiceMock(); | 661 CreateProfileSyncServiceMock(); |
650 | 662 |
651 content::WebContents* contents = web_contents(); | 663 content::WebContents* contents = web_contents(); |
652 | 664 |
653 OneClickSigninHelper::CreateForWebContentsWithPasswordManager(contents, NULL); | 665 OneClickSigninHelper::CreateForWebContentsWithPasswordManager(contents, NULL); |
654 OneClickSigninHelper* helper = | 666 OneClickSigninHelper* helper = |
655 OneClickSigninHelper::FromWebContents(contents); | 667 OneClickSigninHelper::FromWebContents(contents); |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
842 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); | 854 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); |
843 | 855 |
844 // Simulate a policy disabling sync by writing kSyncManaged directly. | 856 // Simulate a policy disabling sync by writing kSyncManaged directly. |
845 // We should still offer to sign in the browser. | 857 // We should still offer to sign in the browser. |
846 profile()->GetTestingPrefService()->SetManagedPref( | 858 profile()->GetTestingPrefService()->SetManagedPref( |
847 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); | 859 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); |
848 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, | 860 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, |
849 OneClickSigninHelper::CanOfferOnIOThreadImpl( | 861 OneClickSigninHelper::CanOfferOnIOThreadImpl( |
850 valid_gaia_url_, std::string(), &request_, io_data.get())); | 862 valid_gaia_url_, std::string(), &request_, io_data.get())); |
851 } | 863 } |
OLD | NEW |