| OLD | NEW |
| 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/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
| 9 #include "base/memory/weak_ptr.h" | 9 #include "base/memory/weak_ptr.h" |
| 10 #include "chrome/browser/invalidation/gcm_invalidation_bridge.h" | 10 #include "chrome/browser/invalidation/gcm_invalidation_bridge.h" |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 | 30 |
| 31 // TiclSettingsProvider: | 31 // TiclSettingsProvider: |
| 32 virtual bool UseGCMChannel() const OVERRIDE; | 32 virtual bool UseGCMChannel() const OVERRIDE; |
| 33 | 33 |
| 34 private: | 34 private: |
| 35 DISALLOW_COPY_AND_ASSIGN(FakeTiclSettingsProvider); | 35 DISALLOW_COPY_AND_ASSIGN(FakeTiclSettingsProvider); |
| 36 }; | 36 }; |
| 37 | 37 |
| 38 class FakeGCMDriver : public gcm::GCMDriver { | 38 class FakeGCMDriver : public gcm::GCMDriver { |
| 39 public: | 39 public: |
| 40 explicit FakeGCMDriver(OAuth2TokenService* token_service); | 40 FakeGCMDriver(); |
| 41 virtual ~FakeGCMDriver(); | 41 virtual ~FakeGCMDriver(); |
| 42 | 42 |
| 43 protected: | |
| 44 // gcm::GCMDriver: | |
| 45 virtual bool ShouldStartAutomatically() const OVERRIDE; | |
| 46 virtual base::FilePath GetStorePath() const OVERRIDE; | |
| 47 virtual scoped_refptr<net::URLRequestContextGetter> | |
| 48 GetURLRequestContextGetter() const OVERRIDE; | |
| 49 | |
| 50 private: | 43 private: |
| 51 DISALLOW_COPY_AND_ASSIGN(FakeGCMDriver); | 44 DISALLOW_COPY_AND_ASSIGN(FakeGCMDriver); |
| 52 }; | 45 }; |
| 53 | 46 |
| 54 FakeTiclSettingsProvider::FakeTiclSettingsProvider() { | 47 FakeTiclSettingsProvider::FakeTiclSettingsProvider() { |
| 55 } | 48 } |
| 56 | 49 |
| 57 FakeTiclSettingsProvider::~FakeTiclSettingsProvider() { | 50 FakeTiclSettingsProvider::~FakeTiclSettingsProvider() { |
| 58 } | 51 } |
| 59 | 52 |
| 60 bool FakeTiclSettingsProvider::UseGCMChannel() const { | 53 bool FakeTiclSettingsProvider::UseGCMChannel() const { |
| 61 return false; | 54 return false; |
| 62 } | 55 } |
| 63 | 56 |
| 64 FakeGCMDriver::FakeGCMDriver(OAuth2TokenService* token_service) | 57 FakeGCMDriver::FakeGCMDriver() { |
| 65 : GCMDriver(scoped_ptr<IdentityProvider>( | |
| 66 new FakeIdentityProvider(token_service))) { | |
| 67 } | 58 } |
| 68 | 59 |
| 69 FakeGCMDriver::~FakeGCMDriver() { | 60 FakeGCMDriver::~FakeGCMDriver() { |
| 70 } | 61 } |
| 71 | 62 |
| 72 bool FakeGCMDriver::ShouldStartAutomatically() const { | |
| 73 return false; | |
| 74 } | |
| 75 | |
| 76 base::FilePath FakeGCMDriver::GetStorePath() const { | |
| 77 return base::FilePath(); | |
| 78 } | |
| 79 | |
| 80 scoped_refptr<net::URLRequestContextGetter> | |
| 81 FakeGCMDriver::GetURLRequestContextGetter() const { | |
| 82 return NULL; | |
| 83 } | |
| 84 | |
| 85 } // namespace | 63 } // namespace |
| 86 | 64 |
| 87 class TiclInvalidationServiceTestDelegate { | 65 class TiclInvalidationServiceTestDelegate { |
| 88 public: | 66 public: |
| 89 TiclInvalidationServiceTestDelegate() {} | 67 TiclInvalidationServiceTestDelegate() {} |
| 90 | 68 |
| 91 ~TiclInvalidationServiceTestDelegate() { | 69 ~TiclInvalidationServiceTestDelegate() { |
| 92 DestroyInvalidationService(); | 70 DestroyInvalidationService(); |
| 93 } | 71 } |
| 94 | 72 |
| 95 void CreateInvalidationService() { | 73 void CreateInvalidationService() { |
| 96 CreateUninitializedInvalidationService(); | 74 CreateUninitializedInvalidationService(); |
| 97 InitializeInvalidationService(); | 75 InitializeInvalidationService(); |
| 98 } | 76 } |
| 99 | 77 |
| 100 void CreateUninitializedInvalidationService() { | 78 void CreateUninitializedInvalidationService() { |
| 101 gcm_service_.reset(new FakeGCMDriver(&token_service_)); | 79 gcm_driver_.reset(new FakeGCMDriver()); |
| 102 invalidation_service_.reset(new TiclInvalidationService( | 80 invalidation_service_.reset(new TiclInvalidationService( |
| 103 scoped_ptr<IdentityProvider>(new FakeIdentityProvider(&token_service_)), | 81 scoped_ptr<IdentityProvider>(new FakeIdentityProvider(&token_service_)), |
| 104 scoped_ptr<TiclSettingsProvider>(new FakeTiclSettingsProvider), | 82 scoped_ptr<TiclSettingsProvider>(new FakeTiclSettingsProvider), |
| 105 gcm_service_.get(), | 83 gcm_driver_.get(), |
| 106 NULL)); | 84 NULL)); |
| 107 } | 85 } |
| 108 | 86 |
| 109 void InitializeInvalidationService() { | 87 void InitializeInvalidationService() { |
| 110 fake_invalidator_ = new syncer::FakeInvalidator(); | 88 fake_invalidator_ = new syncer::FakeInvalidator(); |
| 111 invalidation_service_->InitForTest( | 89 invalidation_service_->InitForTest( |
| 112 scoped_ptr<syncer::InvalidationStateTracker>( | 90 scoped_ptr<syncer::InvalidationStateTracker>( |
| 113 new syncer::FakeInvalidationStateTracker), | 91 new syncer::FakeInvalidationStateTracker), |
| 114 fake_invalidator_); | 92 fake_invalidator_); |
| 115 } | 93 } |
| 116 | 94 |
| 117 InvalidationService* GetInvalidationService() { | 95 InvalidationService* GetInvalidationService() { |
| 118 return invalidation_service_.get(); | 96 return invalidation_service_.get(); |
| 119 } | 97 } |
| 120 | 98 |
| 121 void DestroyInvalidationService() { | 99 void DestroyInvalidationService() { |
| 122 invalidation_service_->Shutdown(); | 100 invalidation_service_->Shutdown(); |
| 123 } | 101 } |
| 124 | 102 |
| 125 void TriggerOnInvalidatorStateChange(syncer::InvalidatorState state) { | 103 void TriggerOnInvalidatorStateChange(syncer::InvalidatorState state) { |
| 126 fake_invalidator_->EmitOnInvalidatorStateChange(state); | 104 fake_invalidator_->EmitOnInvalidatorStateChange(state); |
| 127 } | 105 } |
| 128 | 106 |
| 129 void TriggerOnIncomingInvalidation( | 107 void TriggerOnIncomingInvalidation( |
| 130 const syncer::ObjectIdInvalidationMap& invalidation_map) { | 108 const syncer::ObjectIdInvalidationMap& invalidation_map) { |
| 131 fake_invalidator_->EmitOnIncomingInvalidation(invalidation_map); | 109 fake_invalidator_->EmitOnIncomingInvalidation(invalidation_map); |
| 132 } | 110 } |
| 133 | 111 |
| 134 FakeOAuth2TokenService token_service_; | 112 FakeOAuth2TokenService token_service_; |
| 135 scoped_ptr<gcm::GCMDriver> gcm_service_; | 113 scoped_ptr<gcm::GCMDriver> gcm_driver_; |
| 136 syncer::FakeInvalidator* fake_invalidator_; // Owned by the service. | 114 syncer::FakeInvalidator* fake_invalidator_; // Owned by the service. |
| 137 | 115 |
| 138 scoped_ptr<TiclInvalidationService> invalidation_service_; | 116 scoped_ptr<TiclInvalidationService> invalidation_service_; |
| 139 }; | 117 }; |
| 140 | 118 |
| 141 INSTANTIATE_TYPED_TEST_CASE_P( | 119 INSTANTIATE_TYPED_TEST_CASE_P( |
| 142 TiclInvalidationServiceTest, InvalidationServiceTest, | 120 TiclInvalidationServiceTest, InvalidationServiceTest, |
| 143 TiclInvalidationServiceTestDelegate); | 121 TiclInvalidationServiceTestDelegate); |
| 144 | 122 |
| 145 namespace internal { | 123 namespace internal { |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 177 | 155 |
| 178 delegate->InitializeInvalidationService(); | 156 delegate->InitializeInvalidationService(); |
| 179 | 157 |
| 180 invalidator->RequestDetailedStatus( | 158 invalidator->RequestDetailedStatus( |
| 181 base::Bind(&internal::FakeCallbackContainer::FakeCallback, | 159 base::Bind(&internal::FakeCallbackContainer::FakeCallback, |
| 182 fake_container.weak_ptr_factory_.GetWeakPtr())); | 160 fake_container.weak_ptr_factory_.GetWeakPtr())); |
| 183 EXPECT_TRUE(fake_container.called_); | 161 EXPECT_TRUE(fake_container.called_); |
| 184 } | 162 } |
| 185 | 163 |
| 186 } // namespace invalidation | 164 } // namespace invalidation |
| OLD | NEW |