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

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

Issue 115393004: Turn on inline signin by default (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | 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/prefs/scoped_user_pref_update.h" 6 #include "base/prefs/scoped_user_pref_update.h"
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "chrome/browser/chrome_notification_types.h" 9 #include "chrome/browser/chrome_notification_types.h"
10 #include "chrome/browser/content_settings/cookie_settings.h" 10 #include "chrome/browser/content_settings/cookie_settings.h"
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 EXPECT_CALL(*sync_service, RemoveObserver(helper)); 741 EXPECT_CALL(*sync_service, RemoveObserver(helper));
742 SetContents(NULL); 742 SetContents(NULL);
743 } 743 }
744 744
745 // I/O thread tests 745 // I/O thread tests
746 746
747 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThread) { 747 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThread) {
748 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); 748 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false));
749 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, 749 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER,
750 OneClickSigninHelper::CanOfferOnIOThreadImpl( 750 OneClickSigninHelper::CanOfferOnIOThreadImpl(
751 valid_gaia_url_, std::string(), &request_, io_data.get())); 751 valid_gaia_url_, &request_, io_data.get()));
752 } 752 }
753 753
754 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadIncognito) { 754 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadIncognito) {
755 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(true)); 755 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(true));
756 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, 756 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER,
757 OneClickSigninHelper::CanOfferOnIOThreadImpl( 757 OneClickSigninHelper::CanOfferOnIOThreadImpl(
758 valid_gaia_url_, std::string(), &request_, io_data.get())); 758 valid_gaia_url_, &request_, io_data.get()));
759 } 759 }
760 760
761 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadNoIOData) { 761 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadNoIOData) {
762 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, 762 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER,
763 OneClickSigninHelper::CanOfferOnIOThreadImpl( 763 OneClickSigninHelper::CanOfferOnIOThreadImpl(
764 valid_gaia_url_, std::string(), &request_, NULL)); 764 valid_gaia_url_, &request_, NULL));
765 } 765 }
766 766
767 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadBadURL) { 767 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadBadURL) {
768 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); 768 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false));
769 EXPECT_EQ( 769 EXPECT_EQ(
770 OneClickSigninHelper::IGNORE_REQUEST, 770 OneClickSigninHelper::IGNORE_REQUEST,
771 OneClickSigninHelper::CanOfferOnIOThreadImpl( 771 OneClickSigninHelper::CanOfferOnIOThreadImpl(
772 GURL("https://foo.com/"), std::string(), &request_, io_data.get())); 772 GURL("https://foo.com/"), &request_, io_data.get()));
773 EXPECT_EQ(OneClickSigninHelper::IGNORE_REQUEST, 773 EXPECT_EQ(OneClickSigninHelper::IGNORE_REQUEST,
774 OneClickSigninHelper::CanOfferOnIOThreadImpl( 774 OneClickSigninHelper::CanOfferOnIOThreadImpl(
775 GURL("http://accounts.google.com/"), 775 GURL("http://accounts.google.com/"),
776 std::string(),
777 &request_, 776 &request_,
778 io_data.get())); 777 io_data.get()));
779 } 778 }
780 779
781 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadReferrer) {
782 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false));
783 std::string continue_url(signin::GetPromoURL(
784 signin::SOURCE_START_PAGE, false).spec());
785
786 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER,
787 OneClickSigninHelper::CanOfferOnIOThreadImpl(
788 valid_gaia_url_, continue_url, &request_, io_data.get()));
789
790 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER,
791 OneClickSigninHelper::CanOfferOnIOThreadImpl(
792 valid_gaia_url_, kImplicitURLString, &request_, io_data.get()));
793
794 std::string bad_url_1 = continue_url;
795 const std::string service_name = "chromiumsync";
796 bad_url_1.replace(bad_url_1.find(service_name), service_name.length(),
797 "foo");
798
799 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER,
800 OneClickSigninHelper::CanOfferOnIOThreadImpl(
801 valid_gaia_url_, bad_url_1, &request_, io_data.get()));
802
803 std::string bad_url_2 = continue_url;
804 const std::string source_num = "%3D0";
805 bad_url_2.replace(bad_url_1.find(source_num), source_num.length(), "%3D10");
806
807 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER,
808 OneClickSigninHelper::CanOfferOnIOThreadImpl(
809 valid_gaia_url_, bad_url_2, &request_, io_data.get()));
810
811 std::string bad_url_3 = continue_url;
812 const std::string source = "source%3D0";
813 bad_url_3.erase(bad_url_1.find(source), source.length());
814
815 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER,
816 OneClickSigninHelper::CanOfferOnIOThreadImpl(
817 valid_gaia_url_, bad_url_3, &request_, io_data.get()));
818 }
819
820 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabled) { 780 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabled) {
821 EnableOneClick(false); 781 EnableOneClick(false);
822 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); 782 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false));
823 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, 783 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER,
824 OneClickSigninHelper::CanOfferOnIOThreadImpl( 784 OneClickSigninHelper::CanOfferOnIOThreadImpl(
825 valid_gaia_url_, std::string(), &request_, io_data.get())); 785 valid_gaia_url_, &request_, io_data.get()));
826 } 786 }
827 787
828 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadSignedIn) { 788 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadSignedIn) {
829 PrefService* pref_service = profile()->GetPrefs(); 789 PrefService* pref_service = profile()->GetPrefs();
830 pref_service->SetString(prefs::kGoogleServicesUsername, "user@gmail.com"); 790 pref_service->SetString(prefs::kGoogleServicesUsername, "user@gmail.com");
831 791
832 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); 792 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false));
833 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, 793 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER,
834 OneClickSigninHelper::CanOfferOnIOThreadImpl( 794 OneClickSigninHelper::CanOfferOnIOThreadImpl(
835 valid_gaia_url_, std::string(), &request_, io_data.get())); 795 valid_gaia_url_, &request_, io_data.get()));
836 } 796 }
837 797
838 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadEmailNotAllowed) { 798 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadEmailNotAllowed) {
839 SetAllowedUsernamePattern("*@example.com"); 799 SetAllowedUsernamePattern("*@example.com");
840 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); 800 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false));
841 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, 801 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER,
842 OneClickSigninHelper::CanOfferOnIOThreadImpl( 802 OneClickSigninHelper::CanOfferOnIOThreadImpl(
843 valid_gaia_url_, std::string(), &request_, io_data.get())); 803 valid_gaia_url_, &request_, io_data.get()));
844 } 804 }
845 805
846 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadEmailAlreadyUsed) { 806 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadEmailAlreadyUsed) {
847 ProfileInfoCache* cache = testing_profile_manager_.profile_info_cache(); 807 ProfileInfoCache* cache = testing_profile_manager_.profile_info_cache();
848 const base::FilePath& user_data_dir = cache->GetUserDataDir(); 808 const base::FilePath& user_data_dir = cache->GetUserDataDir();
849 cache->AddProfileToCache(user_data_dir.Append(FILE_PATH_LITERAL("user")), 809 cache->AddProfileToCache(user_data_dir.Append(FILE_PATH_LITERAL("user")),
850 UTF8ToUTF16("user"), 810 UTF8ToUTF16("user"),
851 UTF8ToUTF16("user@gmail.com"), 0, std::string()); 811 UTF8ToUTF16("user@gmail.com"), 0, std::string());
852 812
853 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); 813 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false));
854 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, 814 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER,
855 OneClickSigninHelper::CanOfferOnIOThreadImpl( 815 OneClickSigninHelper::CanOfferOnIOThreadImpl(
856 valid_gaia_url_, std::string(), &request_, io_data.get())); 816 valid_gaia_url_, &request_, io_data.get()));
857 } 817 }
858 818
859 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadWithRejectedEmail) { 819 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadWithRejectedEmail) {
860 AddEmailToOneClickRejectedList("user@gmail.com"); 820 AddEmailToOneClickRejectedList("user@gmail.com");
861 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); 821 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false));
862 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, 822 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER,
863 OneClickSigninHelper::CanOfferOnIOThreadImpl( 823 OneClickSigninHelper::CanOfferOnIOThreadImpl(
864 valid_gaia_url_, std::string(), &request_, io_data.get())); 824 valid_gaia_url_, &request_, io_data.get()));
865 } 825 }
866 826
867 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadNoSigninCookies) { 827 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadNoSigninCookies) {
868 AllowSigninCookies(false); 828 AllowSigninCookies(false);
869 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); 829 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false));
870 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, 830 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER,
871 OneClickSigninHelper::CanOfferOnIOThreadImpl( 831 OneClickSigninHelper::CanOfferOnIOThreadImpl(
872 valid_gaia_url_, std::string(), &request_, io_data.get())); 832 valid_gaia_url_, &request_, io_data.get()));
873 } 833 }
874 834
875 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabledByPolicy) { 835 TEST_F(OneClickSigninHelperIOTest, CanOfferOnIOThreadDisabledByPolicy) {
876 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false)); 836 scoped_ptr<TestProfileIOData> io_data(CreateTestProfileIOData(false));
877 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, 837 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER,
878 OneClickSigninHelper::CanOfferOnIOThreadImpl( 838 OneClickSigninHelper::CanOfferOnIOThreadImpl(
879 valid_gaia_url_, std::string(), &request_, io_data.get())); 839 valid_gaia_url_, &request_, io_data.get()));
880 840
881 // Simulate a policy disabling signin by writing kSigninAllowed directly. 841 // Simulate a policy disabling signin by writing kSigninAllowed directly.
882 // We should not offer to sign in the browser. 842 // We should not offer to sign in the browser.
883 profile()->GetTestingPrefService()->SetManagedPref( 843 profile()->GetTestingPrefService()->SetManagedPref(
884 prefs::kSigninAllowed, base::Value::CreateBooleanValue(false)); 844 prefs::kSigninAllowed, base::Value::CreateBooleanValue(false));
885 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER, 845 EXPECT_EQ(OneClickSigninHelper::DONT_OFFER,
886 OneClickSigninHelper::CanOfferOnIOThreadImpl( 846 OneClickSigninHelper::CanOfferOnIOThreadImpl(
887 valid_gaia_url_, std::string(), &request_, io_data.get())); 847 valid_gaia_url_, &request_, io_data.get()));
888 848
889 // Reset the preference. 849 // Reset the preference.
890 profile()->GetTestingPrefService()->SetManagedPref( 850 profile()->GetTestingPrefService()->SetManagedPref(
891 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true)); 851 prefs::kSigninAllowed, base::Value::CreateBooleanValue(true));
892 852
893 // Simulate a policy disabling sync by writing kSyncManaged directly. 853 // Simulate a policy disabling sync by writing kSyncManaged directly.
894 // We should still offer to sign in the browser. 854 // We should still offer to sign in the browser.
895 profile()->GetTestingPrefService()->SetManagedPref( 855 profile()->GetTestingPrefService()->SetManagedPref(
896 prefs::kSyncManaged, base::Value::CreateBooleanValue(true)); 856 prefs::kSyncManaged, base::Value::CreateBooleanValue(true));
897 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER, 857 EXPECT_EQ(OneClickSigninHelper::CAN_OFFER,
898 OneClickSigninHelper::CanOfferOnIOThreadImpl( 858 OneClickSigninHelper::CanOfferOnIOThreadImpl(
899 valid_gaia_url_, std::string(), &request_, io_data.get())); 859 valid_gaia_url_, &request_, io_data.get()));
900 } 860 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698