| OLD | NEW |
| 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/cross_device_promo.h" | 5 #include "chrome/browser/signin/cross_device_promo.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 #include "chrome/browser/signin/signin_manager_factory.h" | 24 #include "chrome/browser/signin/signin_manager_factory.h" |
| 25 #include "chrome/browser/signin/test_signin_client_builder.h" | 25 #include "chrome/browser/signin/test_signin_client_builder.h" |
| 26 #include "chrome/common/pref_names.h" | 26 #include "chrome/common/pref_names.h" |
| 27 #include "chrome/test/base/testing_browser_process.h" | 27 #include "chrome/test/base/testing_browser_process.h" |
| 28 #include "chrome/test/base/testing_profile.h" | 28 #include "chrome/test/base/testing_profile.h" |
| 29 #include "chrome/test/base/testing_profile_manager.h" | 29 #include "chrome/test/base/testing_profile_manager.h" |
| 30 #include "components/signin/core/browser/fake_gaia_cookie_manager_service.h" | 30 #include "components/signin/core/browser/fake_gaia_cookie_manager_service.h" |
| 31 #include "components/signin/core/browser/signin_manager.h" | 31 #include "components/signin/core/browser/signin_manager.h" |
| 32 #include "components/signin/core/browser/signin_metrics.h" | 32 #include "components/signin/core/browser/signin_metrics.h" |
| 33 #include "components/signin/core/browser/test_signin_client.h" | 33 #include "components/signin/core/browser/test_signin_client.h" |
| 34 #include "components/syncable_prefs/pref_service_syncable.h" | 34 #include "components/sync_preferences/pref_service_syncable.h" |
| 35 #include "components/syncable_prefs/testing_pref_service_syncable.h" | 35 #include "components/sync_preferences/testing_pref_service_syncable.h" |
| 36 #include "components/variations/entropy_provider.h" | 36 #include "components/variations/entropy_provider.h" |
| 37 #include "components/variations/variations_associated_data.h" | 37 #include "components/variations/variations_associated_data.h" |
| 38 #include "content/public/test/test_browser_thread_bundle.h" | 38 #include "content/public/test/test_browser_thread_bundle.h" |
| 39 #include "google_apis/gaia/gaia_constants.h" | 39 #include "google_apis/gaia/gaia_constants.h" |
| 40 #include "google_apis/gaia/gaia_urls.h" | 40 #include "google_apis/gaia/gaia_urls.h" |
| 41 #include "net/url_request/test_url_fetcher_factory.h" | 41 #include "net/url_request/test_url_fetcher_factory.h" |
| 42 #include "testing/gtest/include/gtest/gtest.h" | 42 #include "testing/gtest/include/gtest/gtest.h" |
| 43 | 43 |
| 44 namespace { | 44 namespace { |
| 45 | 45 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 // Destroys any variations which might be defined, and starts fresh. | 93 // Destroys any variations which might be defined, and starts fresh. |
| 94 void ResetFieldTrialList(); | 94 void ResetFieldTrialList(); |
| 95 | 95 |
| 96 // Defines a default set of variation parameters for promo initialization. | 96 // Defines a default set of variation parameters for promo initialization. |
| 97 void InitPromoVariation(); | 97 void InitPromoVariation(); |
| 98 | 98 |
| 99 CrossDevicePromo* promo() { return cross_device_promo_; } | 99 CrossDevicePromo* promo() { return cross_device_promo_; } |
| 100 TestingProfile* profile() { return profile_; } | 100 TestingProfile* profile() { return profile_; } |
| 101 FakeSigninManagerForTesting* signin_manager() { return signin_manager_; } | 101 FakeSigninManagerForTesting* signin_manager() { return signin_manager_; } |
| 102 base::HistogramTester* histogram_tester() { return &histogram_tester_; } | 102 base::HistogramTester* histogram_tester() { return &histogram_tester_; } |
| 103 syncable_prefs::TestingPrefServiceSyncable* prefs() { return pref_service_; } | 103 sync_preferences::TestingPrefServiceSyncable* prefs() { |
| 104 return pref_service_; |
| 105 } |
| 104 FakeGaiaCookieManagerService* cookie_manager_service() { | 106 FakeGaiaCookieManagerService* cookie_manager_service() { |
| 105 return cookie_manager_service_; | 107 return cookie_manager_service_; |
| 106 } | 108 } |
| 107 net::FakeURLFetcherFactory* fetcher_factory() { | 109 net::FakeURLFetcherFactory* fetcher_factory() { |
| 108 return &fake_url_fetcher_factory_; | 110 return &fake_url_fetcher_factory_; |
| 109 } | 111 } |
| 110 | 112 |
| 111 private: | 113 private: |
| 112 content::TestBrowserThreadBundle bundle_; | 114 content::TestBrowserThreadBundle bundle_; |
| 113 CrossDevicePromo* cross_device_promo_; | 115 CrossDevicePromo* cross_device_promo_; |
| 114 TestingProfile* profile_; | 116 TestingProfile* profile_; |
| 115 FakeSigninManagerForTesting* signin_manager_; | 117 FakeSigninManagerForTesting* signin_manager_; |
| 116 FakeGaiaCookieManagerService* cookie_manager_service_; | 118 FakeGaiaCookieManagerService* cookie_manager_service_; |
| 117 syncable_prefs::TestingPrefServiceSyncable* pref_service_; | 119 sync_preferences::TestingPrefServiceSyncable* pref_service_; |
| 118 std::unique_ptr<TestingProfileManager> testing_profile_manager_; | 120 std::unique_ptr<TestingProfileManager> testing_profile_manager_; |
| 119 base::HistogramTester histogram_tester_; | 121 base::HistogramTester histogram_tester_; |
| 120 std::unique_ptr<base::FieldTrialList> field_trial_list_; | 122 std::unique_ptr<base::FieldTrialList> field_trial_list_; |
| 121 net::FakeURLFetcherFactory fake_url_fetcher_factory_; | 123 net::FakeURLFetcherFactory fake_url_fetcher_factory_; |
| 122 | 124 |
| 123 DISALLOW_COPY_AND_ASSIGN(CrossDevicePromoTest); | 125 DISALLOW_COPY_AND_ASSIGN(CrossDevicePromoTest); |
| 124 }; | 126 }; |
| 125 | 127 |
| 126 CrossDevicePromoTest::CrossDevicePromoTest() : fake_url_fetcher_factory_(NULL) { | 128 CrossDevicePromoTest::CrossDevicePromoTest() : fake_url_fetcher_factory_(NULL) { |
| 127 ResetFieldTrialList(); | 129 ResetFieldTrialList(); |
| 128 } | 130 } |
| 129 | 131 |
| 130 void CrossDevicePromoTest::SetUp() { | 132 void CrossDevicePromoTest::SetUp() { |
| 131 testing_profile_manager_.reset( | 133 testing_profile_manager_.reset( |
| 132 new TestingProfileManager(TestingBrowserProcess::GetGlobal())); | 134 new TestingProfileManager(TestingBrowserProcess::GetGlobal())); |
| 133 ASSERT_TRUE(testing_profile_manager_.get()->SetUp()); | 135 ASSERT_TRUE(testing_profile_manager_.get()->SetUp()); |
| 134 | 136 |
| 135 TestingProfile::TestingFactories factories; | 137 TestingProfile::TestingFactories factories; |
| 136 factories.push_back(std::make_pair(ChromeSigninClientFactory::GetInstance(), | 138 factories.push_back(std::make_pair(ChromeSigninClientFactory::GetInstance(), |
| 137 signin::BuildTestSigninClient)); | 139 signin::BuildTestSigninClient)); |
| 138 factories.push_back( | 140 factories.push_back( |
| 139 std::make_pair(GaiaCookieManagerServiceFactory::GetInstance(), | 141 std::make_pair(GaiaCookieManagerServiceFactory::GetInstance(), |
| 140 BuildFakeGaiaCookieManagerService)); | 142 BuildFakeGaiaCookieManagerService)); |
| 141 factories.push_back(std::make_pair(SigninManagerFactory::GetInstance(), | 143 factories.push_back(std::make_pair(SigninManagerFactory::GetInstance(), |
| 142 BuildFakeSigninManagerBase)); | 144 BuildFakeSigninManagerBase)); |
| 143 | 145 |
| 144 pref_service_ = new syncable_prefs::TestingPrefServiceSyncable(); | 146 pref_service_ = new sync_preferences::TestingPrefServiceSyncable(); |
| 145 chrome::RegisterUserProfilePrefs(pref_service_->registry()); | 147 chrome::RegisterUserProfilePrefs(pref_service_->registry()); |
| 146 | 148 |
| 147 profile_ = testing_profile_manager_.get()->CreateTestingProfile( | 149 profile_ = testing_profile_manager_.get()->CreateTestingProfile( |
| 148 "name", | 150 "name", |
| 149 base::WrapUnique<syncable_prefs::PrefServiceSyncable>(pref_service_), | 151 base::WrapUnique<sync_preferences::PrefServiceSyncable>(pref_service_), |
| 150 base::UTF8ToUTF16("name"), 0, std::string(), factories); | 152 base::UTF8ToUTF16("name"), 0, std::string(), factories); |
| 151 | 153 |
| 152 cookie_manager_service_ = static_cast<FakeGaiaCookieManagerService*>( | 154 cookie_manager_service_ = static_cast<FakeGaiaCookieManagerService*>( |
| 153 GaiaCookieManagerServiceFactory::GetForProfile(profile())); | 155 GaiaCookieManagerServiceFactory::GetForProfile(profile())); |
| 154 cookie_manager_service_->Init(&fake_url_fetcher_factory_); | 156 cookie_manager_service_->Init(&fake_url_fetcher_factory_); |
| 155 | 157 |
| 156 signin_manager_ = static_cast<FakeSigninManagerForTesting*>( | 158 signin_manager_ = static_cast<FakeSigninManagerForTesting*>( |
| 157 SigninManagerFactory::GetForProfile(profile())); | 159 SigninManagerFactory::GetForProfile(profile())); |
| 158 | 160 |
| 159 cross_device_promo_ = CrossDevicePromoFactory::GetForProfile(profile()); | 161 cross_device_promo_ = CrossDevicePromoFactory::GetForProfile(profile()); |
| (...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 668 EXPECT_EQ(2, prefs()->GetInteger(prefs::kCrossDevicePromoNumDevices)); | 670 EXPECT_EQ(2, prefs()->GetInteger(prefs::kCrossDevicePromoNumDevices)); |
| 669 EXPECT_EQ(device2_last_active.ToInternalValue(), | 671 EXPECT_EQ(device2_last_active.ToInternalValue(), |
| 670 prefs()->GetInt64(prefs::kCrossDevicePromoLastDeviceActiveTime)); | 672 prefs()->GetInt64(prefs::kCrossDevicePromoLastDeviceActiveTime)); |
| 671 EXPECT_TRUE(prefs()->GetBoolean(prefs::kCrossDevicePromoShouldBeShown)); | 673 EXPECT_TRUE(prefs()->GetBoolean(prefs::kCrossDevicePromoShouldBeShown)); |
| 672 test_two_devices.ExpectUniqueSample("Signin.XDevicePromo.Eligibility", | 674 test_two_devices.ExpectUniqueSample("Signin.XDevicePromo.Eligibility", |
| 673 signin_metrics::ELIGIBLE, 1); | 675 signin_metrics::ELIGIBLE, 1); |
| 674 EXPECT_TRUE(observer.is_eligible()); | 676 EXPECT_TRUE(observer.is_eligible()); |
| 675 EXPECT_EQ(1, observer.times_set_eligible()); | 677 EXPECT_EQ(1, observer.times_set_eligible()); |
| 676 } | 678 } |
| 677 } | 679 } |
| OLD | NEW |