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

Side by Side Diff: chrome/browser/ui/sync/one_click_signin_helper_unittest.cc

Issue 23068005: Convert UserPolicySigninService to use OAuth2TokenService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Android fixes. Created 7 years, 4 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 | Annotate | Revision Log
OLDNEW
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
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
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
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698