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

Unified Diff: chrome/browser/invalidation/ticl_invalidation_service_unittest.cc

Issue 255443005: Remove Profile dependency from TiclInvalidationService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Compilation fix. 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/invalidation/ticl_invalidation_service_unittest.cc
diff --git a/chrome/browser/invalidation/ticl_invalidation_service_unittest.cc b/chrome/browser/invalidation/ticl_invalidation_service_unittest.cc
index 44f33b05bbb709c9ca4a0cfae947e5af5e09b147..2f50e04ea567b2f523cdd603c9d276bc3b24aba9 100644
--- a/chrome/browser/invalidation/ticl_invalidation_service_unittest.cc
+++ b/chrome/browser/invalidation/ticl_invalidation_service_unittest.cc
@@ -4,33 +4,89 @@
#include "chrome/browser/invalidation/ticl_invalidation_service.h"
-#include "base/prefs/pref_service.h"
-#include "chrome/browser/invalidation/invalidation_service_factory.h"
+#include "base/bind.h"
+#include "base/files/file_path.h"
+#include "base/memory/weak_ptr.h"
+#include "chrome/browser/invalidation/gcm_invalidation_bridge.h"
#include "chrome/browser/invalidation/invalidation_service_test_template.h"
-#include "chrome/browser/invalidation/invalidator_storage.h"
-#include "chrome/browser/services/gcm/gcm_profile_service.h"
-#include "chrome/browser/services/gcm/gcm_profile_service_factory.h"
#include "chrome/browser/services/gcm/gcm_service.h"
-#include "chrome/browser/signin/fake_profile_oauth2_token_service.h"
-#include "chrome/browser/signin/fake_signin_manager.h"
-#include "chrome/browser/signin/profile_identity_provider.h"
-#include "chrome/browser/signin/signin_manager_factory.h"
-#include "chrome/common/pref_names.h"
-#include "chrome/test/base/testing_profile.h"
-#include "components/signin/core/browser/signin_manager.h"
-#include "content/public/test/test_browser_thread_bundle.h"
+#include "google_apis/gaia/fake_identity_provider.h"
+#include "google_apis/gaia/fake_oauth2_token_service.h"
#include "net/url_request/url_request_context_getter.h"
-#include "sync/notifier/fake_invalidation_handler.h"
+#include "sync/notifier/fake_invalidation_state_tracker.h"
#include "sync/notifier/fake_invalidator.h"
#include "sync/notifier/invalidation_state_tracker.h"
-#include "sync/notifier/invalidation_util.h"
+#include "sync/notifier/invalidator.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace invalidation {
+namespace {
+
+class FakeTiclSettingsProvider : public TiclSettingsProvider {
+ public:
+ FakeTiclSettingsProvider();
+ virtual ~FakeTiclSettingsProvider();
+
+ // TiclSettingsProvider:
+ virtual bool UseGCMChannel() const OVERRIDE;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(FakeTiclSettingsProvider);
+};
+
+class FakeGCMService : public gcm::GCMService {
+ public:
+ explicit FakeGCMService(OAuth2TokenService* token_service);
+ virtual ~FakeGCMService();
+
+ protected:
+ // gcm::GCMService:
+ virtual bool ShouldStartAutomatically() const OVERRIDE;
+ virtual base::FilePath GetStorePath() const OVERRIDE;
+ virtual scoped_refptr<net::URLRequestContextGetter>
+ GetURLRequestContextGetter() const OVERRIDE;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(FakeGCMService);
+};
+
+FakeTiclSettingsProvider::FakeTiclSettingsProvider() {
+}
+
+FakeTiclSettingsProvider::~FakeTiclSettingsProvider() {
+}
+
+bool FakeTiclSettingsProvider::UseGCMChannel() const {
+ return false;
+}
+
+FakeGCMService::FakeGCMService(OAuth2TokenService* token_service)
+ : GCMService(scoped_ptr<IdentityProvider>(
+ new FakeIdentityProvider(token_service))) {
+}
+
+FakeGCMService::~FakeGCMService() {
+}
+
+bool FakeGCMService::ShouldStartAutomatically() const {
+ return false;
+}
+
+base::FilePath FakeGCMService::GetStorePath() const {
+ return base::FilePath();
+}
+
+scoped_refptr<net::URLRequestContextGetter>
+FakeGCMService::GetURLRequestContextGetter() const {
+ return NULL;
+}
+
+} // namespace
+
class TiclInvalidationServiceTestDelegate {
public:
- TiclInvalidationServiceTestDelegate() { }
+ TiclInvalidationServiceTestDelegate() {}
~TiclInvalidationServiceTestDelegate() {
DestroyInvalidationService();
@@ -42,23 +98,19 @@ class TiclInvalidationServiceTestDelegate {
}
void CreateUninitializedInvalidationService() {
- profile_.reset(new TestingProfile());
- token_service_.reset(new FakeProfileOAuth2TokenService);
+ gcm_service_.reset(new FakeGCMService(&token_service_));
invalidation_service_.reset(new TiclInvalidationService(
- scoped_ptr<IdentityProvider>(new ProfileIdentityProvider(
- SigninManagerFactory::GetForProfile(profile_.get()),
- token_service_.get(),
- NULL)),
- gcm::GCMProfileServiceFactory::GetForProfile(profile_.get()),
- profile_->GetRequestContext(),
- profile_.get()));
+ scoped_ptr<IdentityProvider>(new FakeIdentityProvider(&token_service_)),
+ scoped_ptr<TiclSettingsProvider>(new FakeTiclSettingsProvider),
+ gcm_service_.get(),
+ NULL));
}
void InitializeInvalidationService() {
fake_invalidator_ = new syncer::FakeInvalidator();
invalidation_service_->InitForTest(
scoped_ptr<syncer::InvalidationStateTracker>(
- new InvalidatorStorage(profile_->GetPrefs())),
+ new syncer::FakeInvalidationStateTracker),
fake_invalidator_);
}
@@ -79,9 +131,10 @@ class TiclInvalidationServiceTestDelegate {
fake_invalidator_->EmitOnIncomingInvalidation(invalidation_map);
}
- syncer::FakeInvalidator* fake_invalidator_; // owned by the service.
- scoped_ptr<TestingProfile> profile_;
- scoped_ptr<FakeProfileOAuth2TokenService> token_service_;
+ FakeOAuth2TokenService token_service_;
+ scoped_ptr<gcm::GCMService> gcm_service_;
+ syncer::FakeInvalidator* fake_invalidator_; // Owned by the service.
+
scoped_ptr<TiclInvalidationService> invalidation_service_;
};
@@ -89,93 +142,12 @@ INSTANTIATE_TYPED_TEST_CASE_P(
TiclInvalidationServiceTest, InvalidationServiceTest,
TiclInvalidationServiceTestDelegate);
-class TiclInvalidationServiceChannelTest : public ::testing::Test {
- public:
- TiclInvalidationServiceChannelTest() {}
- virtual ~TiclInvalidationServiceChannelTest() {}
-
- virtual void SetUp() OVERRIDE {
- TestingProfile::Builder builder;
- builder.AddTestingFactory(SigninManagerFactory::GetInstance(),
- FakeSigninManagerBase::Build);
- profile_ = builder.Build();
- fake_signin_manager_ = static_cast<SigninManagerBase*>(
- SigninManagerFactory::GetForProfile(profile_.get()));
- token_service_.reset(new FakeProfileOAuth2TokenService);
-
- scoped_ptr<IdentityProvider> identity_provider(new ProfileIdentityProvider(
- fake_signin_manager_, token_service_.get(), NULL));
- invalidation_service_.reset(new TiclInvalidationService(
- identity_provider.Pass(),
- gcm::GCMProfileServiceFactory::GetForProfile(profile_.get()),
- profile_->GetRequestContext(),
- profile_.get()));
- invalidation_service_->Init(scoped_ptr<syncer::InvalidationStateTracker>(
- new InvalidatorStorage(profile_->GetPrefs())));
- }
-
- virtual void TearDown() OVERRIDE {
- invalidation_service_->Shutdown();
- }
-
- TiclInvalidationService::InvalidationNetworkChannel GetNetworkChannel() {
- return invalidation_service_->network_channel_type_;
- }
-
- protected:
- content::TestBrowserThreadBundle thread_bundle_;
- scoped_ptr<TestingProfile> profile_;
- SigninManagerBase* fake_signin_manager_;
- scoped_ptr<FakeProfileOAuth2TokenService> token_service_;
- scoped_ptr<TiclInvalidationService> invalidation_service_;
-};
-
-TEST_F(TiclInvalidationServiceChannelTest, ChannelSelectionTest) {
- EXPECT_EQ(TiclInvalidationService::PUSH_CLIENT_CHANNEL, GetNetworkChannel());
-
- // If stars allign use GCM channel.
- profile_->GetPrefs()->SetBoolean(prefs::kGCMChannelEnabled, true);
- profile_->GetPrefs()->SetBoolean(prefs::kInvalidationServiceUseGCMChannel,
- true);
- EXPECT_EQ(TiclInvalidationService::GCM_NETWORK_CHANNEL, GetNetworkChannel());
-
- // If Invalidation channel setting is not set or says false fall back to push
- // channel.
- profile_->GetPrefs()->SetBoolean(prefs::kGCMChannelEnabled, true);
-
- profile_->GetPrefs()->ClearPref(prefs::kInvalidationServiceUseGCMChannel);
- EXPECT_EQ(TiclInvalidationService::PUSH_CLIENT_CHANNEL, GetNetworkChannel());
-
- profile_->GetPrefs()->SetBoolean(prefs::kInvalidationServiceUseGCMChannel,
- false);
- EXPECT_EQ(TiclInvalidationService::PUSH_CLIENT_CHANNEL, GetNetworkChannel());
-
- // If invalidation channel setting says use GCM but GCM is not ALWAYS_ENABLED
- // then fall back to push channel.
- profile_->GetPrefs()->SetBoolean(prefs::kInvalidationServiceUseGCMChannel,
- false);
-
- profile_->GetPrefs()->ClearPref(prefs::kGCMChannelEnabled);
- EXPECT_EQ(TiclInvalidationService::PUSH_CLIENT_CHANNEL, GetNetworkChannel());
-
- profile_->GetPrefs()->SetBoolean(prefs::kGCMChannelEnabled, false);
- EXPECT_EQ(TiclInvalidationService::PUSH_CLIENT_CHANNEL, GetNetworkChannel());
-
- // If first invalidation setting gets enabled and after that gcm setting gets
- // enabled then should still switch to GCM channel.
- profile_->GetPrefs()->SetBoolean(prefs::kInvalidationServiceUseGCMChannel,
- true);
- profile_->GetPrefs()->SetBoolean(prefs::kGCMChannelEnabled, true);
- EXPECT_EQ(TiclInvalidationService::GCM_NETWORK_CHANNEL, GetNetworkChannel());
-}
-
namespace internal {
class FakeCallbackContainer {
public:
- FakeCallbackContainer()
- : called_(false),
- weak_ptr_factory_(this) { }
+ FakeCallbackContainer() : called_(false),
+ weak_ptr_factory_(this) {}
void FakeCallback(const base::DictionaryValue& value) {
called_ = true;
@@ -184,13 +156,12 @@ class FakeCallbackContainer {
bool called_;
base::WeakPtrFactory<FakeCallbackContainer> weak_ptr_factory_;
};
+
} // namespace internal
// Test that requesting for detailed status doesn't crash even if the
// underlying invalidator is not initialized.
TEST(TiclInvalidationServiceLoggingTest, DetailedStatusCallbacksWork) {
- content::TestBrowserThreadBundle thread_bundle;
-
scoped_ptr<TiclInvalidationServiceTestDelegate> delegate (
new TiclInvalidationServiceTestDelegate());
@@ -200,15 +171,16 @@ TEST(TiclInvalidationServiceLoggingTest, DetailedStatusCallbacksWork) {
internal::FakeCallbackContainer fake_container;
invalidator->RequestDetailedStatus(
- base::Bind(&internal::FakeCallbackContainer::FakeCallback,
- fake_container.weak_ptr_factory_.GetWeakPtr()));
+ base::Bind(&internal::FakeCallbackContainer::FakeCallback,
+ fake_container.weak_ptr_factory_.GetWeakPtr()));
EXPECT_FALSE(fake_container.called_);
delegate->InitializeInvalidationService();
invalidator->RequestDetailedStatus(
- base::Bind(&internal::FakeCallbackContainer::FakeCallback,
- fake_container.weak_ptr_factory_.GetWeakPtr()));
+ base::Bind(&internal::FakeCallbackContainer::FakeCallback,
+ fake_container.weak_ptr_factory_.GetWeakPtr()));
EXPECT_TRUE(fake_container.called_);
}
+
} // namespace invalidation
« no previous file with comments | « chrome/browser/invalidation/ticl_invalidation_service.cc ('k') | chrome/browser/invalidation/ticl_profile_settings_provider.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698