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

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: Merge with ToT 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
371 TEST_F(OneClickSigninHelperTest, CanOfferNoContents) { 382 TEST_F(OneClickSigninHelperTest, CanOfferNoContents) {
372 std::string error_message; 383 std::string error_message;
373 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 384 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
374 NULL, OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 385 NULL, OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
375 "user@gmail.com", &error_message)); 386 "user@gmail.com", &error_message));
376 EXPECT_EQ("", error_message); 387 EXPECT_EQ("", error_message);
377 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 388 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
378 NULL, OneClickSigninHelper::CAN_OFFER_FOR_ALL, 389 NULL, OneClickSigninHelper::CAN_OFFER_FOR_ALL,
379 "user@gmail.com", &error_message)); 390 "user@gmail.com", &error_message));
380 EXPECT_EQ("", error_message); 391 EXPECT_EQ("", error_message);
381 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 392 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
382 NULL, 393 NULL,
383 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 394 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
384 std::string(), 395 std::string(),
385 &error_message)); 396 &error_message));
386 EXPECT_EQ("", error_message); 397 EXPECT_EQ("", error_message);
387 } 398 }
388 399
389 TEST_F(OneClickSigninHelperTest, CanOffer) { 400 TEST_F(OneClickSigninHelperTest, CanOffer) {
390 CreateSigninManager(false, std::string()); 401 CreateSigninManager(std::string());
391 402
392 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). 403 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)).
393 WillRepeatedly(Return(true)); 404 WillRepeatedly(Return(true));
394 405
395 EnableOneClick(true); 406 EnableOneClick(true);
396 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 407 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
397 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 408 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
398 "user@gmail.com", NULL)); 409 "user@gmail.com", NULL));
399 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 410 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
400 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, 411 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL,
(...skipping 17 matching lines...) Expand all
418 "user@gmail.com", &error_message)); 429 "user@gmail.com", &error_message));
419 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 430 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
420 web_contents(), 431 web_contents(),
421 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 432 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
422 std::string(), 433 std::string(),
423 &error_message)); 434 &error_message));
424 EXPECT_EQ("", error_message); 435 EXPECT_EQ("", error_message);
425 } 436 }
426 437
427 TEST_F(OneClickSigninHelperTest, CanOfferFirstSetup) { 438 TEST_F(OneClickSigninHelperTest, CanOfferFirstSetup) {
428 CreateSigninManager(false, std::string()); 439 CreateSigninManager(std::string());
429 440
430 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). 441 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)).
431 WillRepeatedly(Return(true)); 442 WillRepeatedly(Return(true));
432 443
433 // Invoke OneClickTestProfileSyncService factory function and grab result. 444 // Invoke OneClickTestProfileSyncService factory function and grab result.
434 OneClickTestProfileSyncService* sync = 445 OneClickTestProfileSyncService* sync =
435 static_cast<OneClickTestProfileSyncService*>( 446 static_cast<OneClickTestProfileSyncService*>(
436 ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse( 447 ProfileSyncServiceFactory::GetInstance()->SetTestingFactoryAndUse(
437 static_cast<Profile*>(browser_context()), 448 static_cast<Profile*>(browser_context()),
438 OneClickTestProfileSyncService::Build)); 449 OneClickTestProfileSyncService::Build));
439 450
440 sync->set_first_setup_in_progress(true); 451 sync->set_first_setup_in_progress(true);
441 452
442 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 453 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
443 web_contents(), 454 web_contents(),
444 OneClickSigninHelper::CAN_OFFER_FOR_ALL, 455 OneClickSigninHelper::CAN_OFFER_FOR_ALL,
445 "foo@gmail.com", NULL)); 456 "foo@gmail.com", NULL));
446 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 457 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
447 web_contents(), 458 web_contents(),
448 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 459 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
449 "foo@gmail.com", NULL)); 460 "foo@gmail.com", NULL));
450 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 461 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
451 web_contents(), 462 web_contents(),
452 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 463 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
453 std::string(), 464 std::string(),
454 NULL)); 465 NULL));
455 } 466 }
456 467
457 TEST_F(OneClickSigninHelperTest, CanOfferProfileConnected) { 468 TEST_F(OneClickSigninHelperTest, CanOfferProfileConnected) {
458 CreateSigninManager(false, "foo@gmail.com"); 469 CreateSigninManager("foo@gmail.com");
459 470
460 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). 471 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)).
461 WillRepeatedly(Return(true)); 472 WillRepeatedly(Return(true));
462 473
463 std::string error_message; 474 std::string error_message;
464 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 475 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
465 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 476 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
466 "foo@gmail.com", &error_message)); 477 "foo@gmail.com", &error_message));
467 EXPECT_EQ("", error_message); 478 EXPECT_EQ("", error_message);
468 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 479 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
(...skipping 19 matching lines...) Expand all
488 UTF8ToUTF16("foo@gmail.com")), 499 UTF8ToUTF16("foo@gmail.com")),
489 error_message); 500 error_message);
490 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 501 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
491 web_contents(), 502 web_contents(),
492 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 503 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
493 std::string(), 504 std::string(),
494 &error_message)); 505 &error_message));
495 } 506 }
496 507
497 TEST_F(OneClickSigninHelperTest, CanOfferUsernameNotAllowed) { 508 TEST_F(OneClickSigninHelperTest, CanOfferUsernameNotAllowed) {
498 CreateSigninManager(false, std::string()); 509 CreateSigninManager(std::string());
499 510
500 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). 511 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)).
501 WillRepeatedly(Return(false)); 512 WillRepeatedly(Return(false));
502 513
503 std::string error_message; 514 std::string error_message;
504 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 515 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
505 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 516 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
506 "foo@gmail.com", &error_message)); 517 "foo@gmail.com", &error_message));
507 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SYNC_LOGIN_NAME_PROHIBITED), 518 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SYNC_LOGIN_NAME_PROHIBITED),
508 error_message); 519 error_message);
509 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 520 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
510 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, 521 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL,
511 "foo@gmail.com", &error_message)); 522 "foo@gmail.com", &error_message));
512 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SYNC_LOGIN_NAME_PROHIBITED), 523 EXPECT_EQ(l10n_util::GetStringUTF8(IDS_SYNC_LOGIN_NAME_PROHIBITED),
513 error_message); 524 error_message);
514 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 525 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
515 web_contents(), 526 web_contents(),
516 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 527 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
517 std::string(), 528 std::string(),
518 &error_message)); 529 &error_message));
519 } 530 }
520 531
521 TEST_F(OneClickSigninHelperTest, CanOfferWithRejectedEmail) { 532 TEST_F(OneClickSigninHelperTest, CanOfferWithRejectedEmail) {
522 CreateSigninManager(false, std::string()); 533 CreateSigninManager(std::string());
523 534
524 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). 535 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)).
525 WillRepeatedly(Return(true)); 536 WillRepeatedly(Return(true));
526 537
527 AddEmailToOneClickRejectedList("foo@gmail.com"); 538 AddEmailToOneClickRejectedList("foo@gmail.com");
528 AddEmailToOneClickRejectedList("user@gmail.com"); 539 AddEmailToOneClickRejectedList("user@gmail.com");
529 540
530 std::string error_message; 541 std::string error_message;
531 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 542 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
532 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 543 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
533 "foo@gmail.com", &error_message)); 544 "foo@gmail.com", &error_message));
534 EXPECT_EQ("", error_message); 545 EXPECT_EQ("", error_message);
535 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 546 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
536 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 547 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
537 "user@gmail.com", &error_message)); 548 "user@gmail.com", &error_message));
538 EXPECT_EQ("", error_message); 549 EXPECT_EQ("", error_message);
539 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 550 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
540 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, 551 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL,
541 "foo@gmail.com", &error_message)); 552 "foo@gmail.com", &error_message));
542 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 553 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
543 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, 554 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL,
544 "user@gmail.com", &error_message)); 555 "user@gmail.com", &error_message));
545 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 556 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
546 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 557 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
547 "john@gmail.com", &error_message)); 558 "john@gmail.com", &error_message));
548 } 559 }
549 560
550 TEST_F(OneClickSigninHelperTest, CanOfferIncognito) { 561 TEST_F(OneClickSigninHelperIncognitoTest, CanOfferIncognito) {
551 CreateSigninManager(true, std::string()); 562 CreateSigninManager(std::string());
552 563
553 std::string error_message; 564 std::string error_message;
554 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 565 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
555 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 566 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
556 "user@gmail.com", &error_message)); 567 "user@gmail.com", &error_message));
557 EXPECT_EQ("", error_message); 568 EXPECT_EQ("", error_message);
558 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 569 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
559 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, 570 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL,
560 "user@gmail.com", &error_message)); 571 "user@gmail.com", &error_message));
561 EXPECT_EQ("", error_message); 572 EXPECT_EQ("", error_message);
562 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 573 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
563 web_contents(), 574 web_contents(),
564 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 575 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
565 std::string(), 576 std::string(),
566 &error_message)); 577 &error_message));
567 EXPECT_EQ("", error_message); 578 EXPECT_EQ("", error_message);
568 } 579 }
569 580
570 TEST_F(OneClickSigninHelperTest, CanOfferNoSigninCookies) { 581 TEST_F(OneClickSigninHelperTest, CanOfferNoSigninCookies) {
571 CreateSigninManager(false, std::string()); 582 CreateSigninManager(std::string());
572 AllowSigninCookies(false); 583 AllowSigninCookies(false);
573 584
574 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). 585 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)).
575 WillRepeatedly(Return(true)); 586 WillRepeatedly(Return(true));
576 587
577 std::string error_message; 588 std::string error_message;
578 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 589 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
579 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 590 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
580 "user@gmail.com", &error_message)); 591 "user@gmail.com", &error_message));
581 EXPECT_EQ("", error_message); 592 EXPECT_EQ("", error_message);
582 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 593 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
583 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, 594 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL,
584 "user@gmail.com", &error_message)); 595 "user@gmail.com", &error_message));
585 EXPECT_EQ("", error_message); 596 EXPECT_EQ("", error_message);
586 EXPECT_FALSE(OneClickSigninHelper::CanOffer( 597 EXPECT_FALSE(OneClickSigninHelper::CanOffer(
587 web_contents(), 598 web_contents(),
588 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY, 599 OneClickSigninHelper::CAN_OFFER_FOR_INTERSTITAL_ONLY,
589 std::string(), 600 std::string(),
590 &error_message)); 601 &error_message));
591 EXPECT_EQ("", error_message); 602 EXPECT_EQ("", error_message);
592 } 603 }
593 604
594 TEST_F(OneClickSigninHelperTest, CanOfferDisabledByPolicy) { 605 TEST_F(OneClickSigninHelperTest, CanOfferDisabledByPolicy) {
595 CreateSigninManager(false, std::string()); 606 CreateSigninManager(std::string());
596 607
597 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)). 608 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)).
598 WillRepeatedly(Return(true)); 609 WillRepeatedly(Return(true));
599 610
600 EnableOneClick(true); 611 EnableOneClick(true);
601 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 612 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
602 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, 613 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL,
603 "user@gmail.com", NULL)); 614 "user@gmail.com", NULL));
604 615
605 // Simulate a policy disabling signin by writing kSigninAllowed directly. 616 // Simulate a policy disabling signin by writing kSigninAllowed directly.
(...skipping 13 matching lines...) Expand all
619 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); 630 prefs::kSyncManaged, base::Value::CreateBooleanValue(true));
620 631
621 // Should still offer even if sync is disabled by policy. 632 // Should still offer even if sync is disabled by policy.
622 EXPECT_TRUE(OneClickSigninHelper::CanOffer( 633 EXPECT_TRUE(OneClickSigninHelper::CanOffer(
623 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL, 634 web_contents(), OneClickSigninHelper::CAN_OFFER_FOR_ALL,
624 "user@gmail.com", NULL)); 635 "user@gmail.com", NULL));
625 } 636 }
626 637
627 // Should not crash if a helper instance is not associated with an incognito 638 // Should not crash if a helper instance is not associated with an incognito
628 // web contents. 639 // web contents.
629 TEST_F(OneClickSigninHelperTest, ShowInfoBarUIThreadIncognito) { 640 TEST_F(OneClickSigninHelperIncognitoTest, ShowInfoBarUIThreadIncognito) {
630 CreateSigninManager(true, std::string()); 641 CreateSigninManager(std::string());
631 OneClickSigninHelper* helper = 642 OneClickSigninHelper* helper =
632 OneClickSigninHelper::FromWebContents(web_contents()); 643 OneClickSigninHelper::FromWebContents(web_contents());
633 EXPECT_EQ(NULL, helper); 644 EXPECT_EQ(NULL, helper);
634 645
635 OneClickSigninHelper::ShowInfoBarUIThread( 646 OneClickSigninHelper::ShowInfoBarUIThread(
636 "session_index", "email", OneClickSigninHelper::AUTO_ACCEPT_ACCEPTED, 647 "session_index", "email", OneClickSigninHelper::AUTO_ACCEPT_ACCEPTED,
637 signin::SOURCE_UNKNOWN, GURL(), process()->GetID(), 648 signin::SOURCE_UNKNOWN, GURL(), process()->GetID(),
638 rvh()->GetRoutingID()); 649 rvh()->GetRoutingID());
639 } 650 }
640 651
641 // If Chrome signin is triggered from a webstore install, and user chooses to 652 // 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, 653 // config sync, then Chrome should redirect immediately to sync settings page,
643 // and upon successful setup, redirect back to webstore. 654 // and upon successful setup, redirect back to webstore.
644 TEST_F(OneClickSigninHelperTest, SigninFromWebstoreWithConfigSyncfirst) { 655 TEST_F(OneClickSigninHelperTest, SigninFromWebstoreWithConfigSyncfirst) {
645 CreateSigninManager(false, std::string()); 656 CreateSigninManager(std::string());
646 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_)) 657 EXPECT_CALL(*signin_manager_, IsAllowedUsername(_))
647 .WillRepeatedly(Return(true)); 658 .WillRepeatedly(Return(true));
648 659
649 CreateProfileSyncServiceMock(); 660 CreateProfileSyncServiceMock();
650 661
651 content::WebContents* contents = web_contents(); 662 content::WebContents* contents = web_contents();
652 663
653 OneClickSigninHelper::CreateForWebContentsWithPasswordManager(contents, NULL); 664 OneClickSigninHelper::CreateForWebContentsWithPasswordManager(contents, NULL);
654 OneClickSigninHelper* helper = 665 OneClickSigninHelper* helper =
655 OneClickSigninHelper::FromWebContents(contents); 666 OneClickSigninHelper::FromWebContents(contents);
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); 853 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true));
843 854
844 // Simulate a policy disabling sync by writing kSyncManaged directly. 855 // Simulate a policy disabling sync by writing kSyncManaged directly.
845 // We should still offer to sign in the browser. 856 // We should still offer to sign in the browser.
846 profile()->GetTestingPrefService()->SetManagedPref( 857 profile()->GetTestingPrefService()->SetManagedPref(
847 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); 858 prefs::kSyncManaged, base::Value::CreateBooleanValue(true));
848 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, 859 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER,
849 OneClickSigninHelper::CanOfferOnIOThreadImpl( 860 OneClickSigninHelper::CanOfferOnIOThreadImpl(
850 valid_gaia_url_, std::string(), &request_, io_data.get())); 861 valid_gaia_url_, std::string(), &request_, io_data.get()));
851 } 862 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/sync/one_click_signin_helper.h ('k') | chrome/browser/ui/views/bookmarks/bookmark_context_menu_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698