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" |
11 #include "chrome/browser/invalidation/invalidation_service_test_template.h" | 11 #include "chrome/browser/invalidation/invalidation_service_test_template.h" |
| 12 #include "components/gcm_driver/fake_gcm_driver.h" |
12 #include "components/gcm_driver/gcm_driver.h" | 13 #include "components/gcm_driver/gcm_driver.h" |
13 #include "google_apis/gaia/fake_identity_provider.h" | 14 #include "google_apis/gaia/fake_identity_provider.h" |
14 #include "google_apis/gaia/fake_oauth2_token_service.h" | 15 #include "google_apis/gaia/fake_oauth2_token_service.h" |
15 #include "net/url_request/url_request_context_getter.h" | 16 #include "net/url_request/url_request_context_getter.h" |
16 #include "sync/notifier/fake_invalidation_state_tracker.h" | 17 #include "sync/notifier/fake_invalidation_state_tracker.h" |
17 #include "sync/notifier/fake_invalidator.h" | 18 #include "sync/notifier/fake_invalidator.h" |
18 #include "sync/notifier/invalidation_state_tracker.h" | 19 #include "sync/notifier/invalidation_state_tracker.h" |
19 #include "sync/notifier/invalidator.h" | 20 #include "sync/notifier/invalidator.h" |
20 #include "testing/gtest/include/gtest/gtest.h" | 21 #include "testing/gtest/include/gtest/gtest.h" |
21 | 22 |
22 namespace invalidation { | 23 namespace invalidation { |
23 | 24 |
24 namespace { | 25 namespace { |
25 | 26 |
26 class FakeTiclSettingsProvider : public TiclSettingsProvider { | 27 class FakeTiclSettingsProvider : public TiclSettingsProvider { |
27 public: | 28 public: |
28 FakeTiclSettingsProvider(); | 29 FakeTiclSettingsProvider(); |
29 virtual ~FakeTiclSettingsProvider(); | 30 virtual ~FakeTiclSettingsProvider(); |
30 | 31 |
31 // TiclSettingsProvider: | 32 // TiclSettingsProvider: |
32 virtual bool UseGCMChannel() const OVERRIDE; | 33 virtual bool UseGCMChannel() const OVERRIDE; |
33 | 34 |
34 private: | 35 private: |
35 DISALLOW_COPY_AND_ASSIGN(FakeTiclSettingsProvider); | 36 DISALLOW_COPY_AND_ASSIGN(FakeTiclSettingsProvider); |
36 }; | 37 }; |
37 | 38 |
38 class FakeGCMDriver : public gcm::GCMDriver { | |
39 public: | |
40 FakeGCMDriver(); | |
41 virtual ~FakeGCMDriver(); | |
42 | |
43 private: | |
44 DISALLOW_COPY_AND_ASSIGN(FakeGCMDriver); | |
45 }; | |
46 | |
47 FakeTiclSettingsProvider::FakeTiclSettingsProvider() { | 39 FakeTiclSettingsProvider::FakeTiclSettingsProvider() { |
48 } | 40 } |
49 | 41 |
50 FakeTiclSettingsProvider::~FakeTiclSettingsProvider() { | 42 FakeTiclSettingsProvider::~FakeTiclSettingsProvider() { |
51 } | 43 } |
52 | 44 |
53 bool FakeTiclSettingsProvider::UseGCMChannel() const { | 45 bool FakeTiclSettingsProvider::UseGCMChannel() const { |
54 return false; | 46 return false; |
55 } | 47 } |
56 | 48 |
57 FakeGCMDriver::FakeGCMDriver() { | |
58 } | |
59 | |
60 FakeGCMDriver::~FakeGCMDriver() { | |
61 } | |
62 | |
63 } // namespace | 49 } // namespace |
64 | 50 |
65 class TiclInvalidationServiceTestDelegate { | 51 class TiclInvalidationServiceTestDelegate { |
66 public: | 52 public: |
67 TiclInvalidationServiceTestDelegate() {} | 53 TiclInvalidationServiceTestDelegate() {} |
68 | 54 |
69 ~TiclInvalidationServiceTestDelegate() { | 55 ~TiclInvalidationServiceTestDelegate() { |
70 DestroyInvalidationService(); | 56 DestroyInvalidationService(); |
71 } | 57 } |
72 | 58 |
73 void CreateInvalidationService() { | 59 void CreateInvalidationService() { |
74 CreateUninitializedInvalidationService(); | 60 CreateUninitializedInvalidationService(); |
75 InitializeInvalidationService(); | 61 InitializeInvalidationService(); |
76 } | 62 } |
77 | 63 |
78 void CreateUninitializedInvalidationService() { | 64 void CreateUninitializedInvalidationService() { |
79 gcm_driver_.reset(new FakeGCMDriver()); | 65 gcm_driver_.reset(new gcm::FakeGCMDriver()); |
80 invalidation_service_.reset(new TiclInvalidationService( | 66 invalidation_service_.reset(new TiclInvalidationService( |
81 scoped_ptr<IdentityProvider>(new FakeIdentityProvider(&token_service_)), | 67 scoped_ptr<IdentityProvider>(new FakeIdentityProvider(&token_service_)), |
82 scoped_ptr<TiclSettingsProvider>(new FakeTiclSettingsProvider), | 68 scoped_ptr<TiclSettingsProvider>(new FakeTiclSettingsProvider), |
83 gcm_driver_.get(), | 69 gcm_driver_.get(), |
84 NULL)); | 70 NULL)); |
85 } | 71 } |
86 | 72 |
87 void InitializeInvalidationService() { | 73 void InitializeInvalidationService() { |
88 fake_invalidator_ = new syncer::FakeInvalidator(); | 74 fake_invalidator_ = new syncer::FakeInvalidator(); |
89 invalidation_service_->InitForTest( | 75 invalidation_service_->InitForTest( |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 | 141 |
156 delegate->InitializeInvalidationService(); | 142 delegate->InitializeInvalidationService(); |
157 | 143 |
158 invalidator->RequestDetailedStatus( | 144 invalidator->RequestDetailedStatus( |
159 base::Bind(&internal::FakeCallbackContainer::FakeCallback, | 145 base::Bind(&internal::FakeCallbackContainer::FakeCallback, |
160 fake_container.weak_ptr_factory_.GetWeakPtr())); | 146 fake_container.weak_ptr_factory_.GetWeakPtr())); |
161 EXPECT_TRUE(fake_container.called_); | 147 EXPECT_TRUE(fake_container.called_); |
162 } | 148 } |
163 | 149 |
164 } // namespace invalidation | 150 } // namespace invalidation |
OLD | NEW |