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

Side by Side Diff: chrome/browser/invalidation/ticl_invalidation_service_unittest.cc

Issue 221963003: Reduce dependency of TiclInvalidationService on Profile (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Made InvalidationStateTracker not vend WeakPtrs. Created 6 years, 8 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) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/invalidation/ticl_invalidation_service.h" 5 #include "chrome/browser/invalidation/ticl_invalidation_service.h"
6 6
7 #include "base/prefs/pref_service.h" 7 #include "base/prefs/pref_service.h"
8 #include "chrome/browser/invalidation/invalidation_service_factory.h" 8 #include "chrome/browser/invalidation/invalidation_service_factory.h"
9 #include "chrome/browser/invalidation/invalidation_service_test_template.h" 9 #include "chrome/browser/invalidation/invalidation_service_test_template.h"
10 #include "chrome/browser/invalidation/invalidator_storage.h"
10 #include "chrome/browser/invalidation/profile_invalidation_auth_provider.h" 11 #include "chrome/browser/invalidation/profile_invalidation_auth_provider.h"
11 #include "chrome/browser/signin/fake_profile_oauth2_token_service.h" 12 #include "chrome/browser/signin/fake_profile_oauth2_token_service.h"
12 #include "chrome/browser/signin/fake_signin_manager.h" 13 #include "chrome/browser/signin/fake_signin_manager.h"
13 #include "chrome/browser/signin/signin_manager_factory.h" 14 #include "chrome/browser/signin/signin_manager_factory.h"
14 #include "chrome/common/pref_names.h" 15 #include "chrome/common/pref_names.h"
15 #include "chrome/test/base/testing_profile.h" 16 #include "chrome/test/base/testing_profile.h"
16 #include "components/signin/core/browser/signin_manager.h" 17 #include "components/signin/core/browser/signin_manager.h"
18 #include "content/public/test/test_browser_thread_bundle.h"
19 #include "net/url_request/url_request_context_getter.h"
17 #include "sync/notifier/fake_invalidation_handler.h" 20 #include "sync/notifier/fake_invalidation_handler.h"
18 #include "sync/notifier/fake_invalidator.h" 21 #include "sync/notifier/fake_invalidator.h"
22 #include "sync/notifier/invalidation_state_tracker.h"
19 #include "sync/notifier/invalidation_util.h" 23 #include "sync/notifier/invalidation_util.h"
20 #include "testing/gtest/include/gtest/gtest.h" 24 #include "testing/gtest/include/gtest/gtest.h"
21 25
22 namespace invalidation { 26 namespace invalidation {
23 27
24 class TiclInvalidationServiceTestDelegate { 28 class TiclInvalidationServiceTestDelegate {
25 public: 29 public:
26 TiclInvalidationServiceTestDelegate() { } 30 TiclInvalidationServiceTestDelegate() { }
27 31
28 ~TiclInvalidationServiceTestDelegate() { 32 ~TiclInvalidationServiceTestDelegate() {
29 DestroyInvalidationService(); 33 DestroyInvalidationService();
30 } 34 }
31 35
32 void CreateInvalidationService() { 36 void CreateInvalidationService() {
33 CreateUninitializedInvalidationService(); 37 CreateUninitializedInvalidationService();
34 InitializeInvalidationService(); 38 InitializeInvalidationService();
35 } 39 }
36 40
37 void CreateUninitializedInvalidationService() { 41 void CreateUninitializedInvalidationService() {
38 profile_.reset(new TestingProfile()); 42 profile_.reset(new TestingProfile());
39 token_service_.reset(new FakeProfileOAuth2TokenService); 43 token_service_.reset(new FakeProfileOAuth2TokenService);
40 invalidation_service_.reset(new TiclInvalidationService( 44 invalidation_service_.reset(new TiclInvalidationService(
41 scoped_ptr<InvalidationAuthProvider>( 45 scoped_ptr<InvalidationAuthProvider>(
42 new ProfileInvalidationAuthProvider( 46 new ProfileInvalidationAuthProvider(
43 SigninManagerFactory::GetForProfile(profile_.get()), 47 SigninManagerFactory::GetForProfile(profile_.get()),
44 token_service_.get(), 48 token_service_.get(),
45 NULL)), 49 NULL)),
50 profile_->GetRequestContext(),
51 scoped_ptr<syncer::InvalidationStateTracker>(
52 new InvalidatorStorage(profile_->GetPrefs())),
46 profile_.get())); 53 profile_.get()));
47 } 54 }
48 55
49 void InitializeInvalidationService() { 56 void InitializeInvalidationService() {
50 fake_invalidator_ = new syncer::FakeInvalidator(); 57 fake_invalidator_ = new syncer::FakeInvalidator();
51 invalidation_service_->InitForTest(fake_invalidator_); 58 invalidation_service_->InitForTest(fake_invalidator_);
52 } 59 }
53 60
54 InvalidationService* GetInvalidationService() { 61 InvalidationService* GetInvalidationService() {
55 return invalidation_service_.get(); 62 return invalidation_service_.get();
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 builder.AddTestingFactory(SigninManagerFactory::GetInstance(), 95 builder.AddTestingFactory(SigninManagerFactory::GetInstance(),
89 FakeSigninManagerBase::Build); 96 FakeSigninManagerBase::Build);
90 profile_ = builder.Build(); 97 profile_ = builder.Build();
91 fake_signin_manager_ = static_cast<SigninManagerBase*>( 98 fake_signin_manager_ = static_cast<SigninManagerBase*>(
92 SigninManagerFactory::GetForProfile(profile_.get())); 99 SigninManagerFactory::GetForProfile(profile_.get()));
93 token_service_.reset(new FakeProfileOAuth2TokenService); 100 token_service_.reset(new FakeProfileOAuth2TokenService);
94 101
95 scoped_ptr<InvalidationAuthProvider> auth_provider( 102 scoped_ptr<InvalidationAuthProvider> auth_provider(
96 new ProfileInvalidationAuthProvider( 103 new ProfileInvalidationAuthProvider(
97 fake_signin_manager_, token_service_.get(), NULL)); 104 fake_signin_manager_, token_service_.get(), NULL));
98 invalidation_service_.reset( 105 invalidation_service_.reset(new TiclInvalidationService(
99 new TiclInvalidationService(auth_provider.Pass(), profile_.get())); 106 auth_provider.Pass(),
107 profile_->GetRequestContext(),
108 scoped_ptr<syncer::InvalidationStateTracker>(
109 new InvalidatorStorage(profile_->GetPrefs())),
110 profile_.get()));
100 invalidation_service_->Init(); 111 invalidation_service_->Init();
101 } 112 }
102 113
103 virtual void TearDown() OVERRIDE { 114 virtual void TearDown() OVERRIDE {
104 invalidation_service_->Shutdown(); 115 invalidation_service_->Shutdown();
105 } 116 }
106 117
107 TiclInvalidationService::InvalidationNetworkChannel GetNetworkChannel() { 118 TiclInvalidationService::InvalidationNetworkChannel GetNetworkChannel() {
108 return invalidation_service_->network_channel_type_; 119 return invalidation_service_->network_channel_type_;
109 } 120 }
110 121
111 protected: 122 protected:
123 content::TestBrowserThreadBundle thread_bundle_;
112 scoped_ptr<TestingProfile> profile_; 124 scoped_ptr<TestingProfile> profile_;
113 SigninManagerBase* fake_signin_manager_; 125 SigninManagerBase* fake_signin_manager_;
114 scoped_ptr<FakeProfileOAuth2TokenService> token_service_; 126 scoped_ptr<FakeProfileOAuth2TokenService> token_service_;
115 scoped_ptr<TiclInvalidationService> invalidation_service_; 127 scoped_ptr<TiclInvalidationService> invalidation_service_;
116 }; 128 };
117 129
118 TEST_F(TiclInvalidationServiceChannelTest, ChannelSelectionTest) { 130 TEST_F(TiclInvalidationServiceChannelTest, ChannelSelectionTest) {
119 EXPECT_EQ(TiclInvalidationService::PUSH_CLIENT_CHANNEL, GetNetworkChannel()); 131 EXPECT_EQ(TiclInvalidationService::PUSH_CLIENT_CHANNEL, GetNetworkChannel());
120 132
121 // If stars allign use GCM channel. 133 // If stars allign use GCM channel.
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 } 179 }
168 180
169 bool called_; 181 bool called_;
170 base::WeakPtrFactory<FakeCallbackContainer> weak_ptr_factory_; 182 base::WeakPtrFactory<FakeCallbackContainer> weak_ptr_factory_;
171 }; 183 };
172 } // namespace internal 184 } // namespace internal
173 185
174 // Test that requesting for detailed status doesn't crash even if the 186 // Test that requesting for detailed status doesn't crash even if the
175 // underlying invalidator is not initialized. 187 // underlying invalidator is not initialized.
176 TEST(TiclInvalidationServiceLoggingTest, DetailedStatusCallbacksWork) { 188 TEST(TiclInvalidationServiceLoggingTest, DetailedStatusCallbacksWork) {
189 content::TestBrowserThreadBundle thread_bundle;
190
177 scoped_ptr<TiclInvalidationServiceTestDelegate> delegate ( 191 scoped_ptr<TiclInvalidationServiceTestDelegate> delegate (
178 new TiclInvalidationServiceTestDelegate()); 192 new TiclInvalidationServiceTestDelegate());
179 193
180 delegate->CreateUninitializedInvalidationService(); 194 delegate->CreateUninitializedInvalidationService();
181 invalidation::InvalidationService* const invalidator = 195 invalidation::InvalidationService* const invalidator =
182 delegate->GetInvalidationService(); 196 delegate->GetInvalidationService();
183 197
184 internal::FakeCallbackContainer fake_container; 198 internal::FakeCallbackContainer fake_container;
185 invalidator->RequestDetailedStatus( 199 invalidator->RequestDetailedStatus(
186 base::Bind(&internal::FakeCallbackContainer::FakeCallback, 200 base::Bind(&internal::FakeCallbackContainer::FakeCallback,
187 fake_container.weak_ptr_factory_.GetWeakPtr())); 201 fake_container.weak_ptr_factory_.GetWeakPtr()));
188 EXPECT_FALSE(fake_container.called_); 202 EXPECT_FALSE(fake_container.called_);
189 203
190 delegate->InitializeInvalidationService(); 204 delegate->InitializeInvalidationService();
191 205
192 invalidator->RequestDetailedStatus( 206 invalidator->RequestDetailedStatus(
193 base::Bind(&internal::FakeCallbackContainer::FakeCallback, 207 base::Bind(&internal::FakeCallbackContainer::FakeCallback,
194 fake_container.weak_ptr_factory_.GetWeakPtr())); 208 fake_container.weak_ptr_factory_.GetWeakPtr()));
195 EXPECT_TRUE(fake_container.called_); 209 EXPECT_TRUE(fake_container.called_);
196 } 210 }
197 } // namespace invalidation 211 } // namespace invalidation
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698