OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/gcm_driver/gcm_client_impl.h" | 5 #include "components/gcm_driver/gcm_client_impl.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/scoped_temp_dir.h" | 8 #include "base/files/scoped_temp_dir.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/run_loop.h" | 10 #include "base/run_loop.h" |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 } | 85 } |
86 return email_token_map; | 86 return email_token_map; |
87 } | 87 } |
88 | 88 |
89 class FakeMCSClient : public MCSClient { | 89 class FakeMCSClient : public MCSClient { |
90 public: | 90 public: |
91 FakeMCSClient(base::Clock* clock, | 91 FakeMCSClient(base::Clock* clock, |
92 ConnectionFactory* connection_factory, | 92 ConnectionFactory* connection_factory, |
93 GCMStore* gcm_store, | 93 GCMStore* gcm_store, |
94 GCMStatsRecorder* recorder); | 94 GCMStatsRecorder* recorder); |
95 virtual ~FakeMCSClient(); | 95 ~FakeMCSClient() override; |
96 virtual void Login(uint64 android_id, uint64 security_token) override; | 96 void Login(uint64 android_id, uint64 security_token) override; |
97 virtual void SendMessage(const MCSMessage& message) override; | 97 void SendMessage(const MCSMessage& message) override; |
98 | 98 |
99 uint64 last_android_id() const { return last_android_id_; } | 99 uint64 last_android_id() const { return last_android_id_; } |
100 uint64 last_security_token() const { return last_security_token_; } | 100 uint64 last_security_token() const { return last_security_token_; } |
101 uint8 last_message_tag() const { return last_message_tag_; } | 101 uint8 last_message_tag() const { return last_message_tag_; } |
102 const mcs_proto::DataMessageStanza& last_data_message_stanza() const { | 102 const mcs_proto::DataMessageStanza& last_data_message_stanza() const { |
103 return last_data_message_stanza_; | 103 return last_data_message_stanza_; |
104 } | 104 } |
105 | 105 |
106 private: | 106 private: |
107 uint64 last_android_id_; | 107 uint64 last_android_id_; |
(...skipping 25 matching lines...) Expand all Loading... |
133 if (last_message_tag_ == kDataMessageStanzaTag) { | 133 if (last_message_tag_ == kDataMessageStanzaTag) { |
134 last_data_message_stanza_.CopyFrom( | 134 last_data_message_stanza_.CopyFrom( |
135 reinterpret_cast<const mcs_proto::DataMessageStanza&>( | 135 reinterpret_cast<const mcs_proto::DataMessageStanza&>( |
136 message.GetProtobuf())); | 136 message.GetProtobuf())); |
137 } | 137 } |
138 } | 138 } |
139 | 139 |
140 class AutoAdvancingTestClock : public base::Clock { | 140 class AutoAdvancingTestClock : public base::Clock { |
141 public: | 141 public: |
142 explicit AutoAdvancingTestClock(base::TimeDelta auto_increment_time_delta); | 142 explicit AutoAdvancingTestClock(base::TimeDelta auto_increment_time_delta); |
143 virtual ~AutoAdvancingTestClock(); | 143 ~AutoAdvancingTestClock() override; |
144 | 144 |
145 virtual base::Time Now() override; | 145 base::Time Now() override; |
146 void Advance(TimeDelta delta); | 146 void Advance(TimeDelta delta); |
147 int call_count() const { return call_count_; } | 147 int call_count() const { return call_count_; } |
148 | 148 |
149 private: | 149 private: |
150 int call_count_; | 150 int call_count_; |
151 base::TimeDelta auto_increment_time_delta_; | 151 base::TimeDelta auto_increment_time_delta_; |
152 base::Time now_; | 152 base::Time now_; |
153 | 153 |
154 DISALLOW_COPY_AND_ASSIGN(AutoAdvancingTestClock); | 154 DISALLOW_COPY_AND_ASSIGN(AutoAdvancingTestClock); |
155 }; | 155 }; |
(...skipping 12 matching lines...) Expand all Loading... |
168 return now_; | 168 return now_; |
169 } | 169 } |
170 | 170 |
171 void AutoAdvancingTestClock::Advance(base::TimeDelta delta) { | 171 void AutoAdvancingTestClock::Advance(base::TimeDelta delta) { |
172 now_ += delta; | 172 now_ += delta; |
173 } | 173 } |
174 | 174 |
175 class FakeGCMInternalsBuilder : public GCMInternalsBuilder { | 175 class FakeGCMInternalsBuilder : public GCMInternalsBuilder { |
176 public: | 176 public: |
177 FakeGCMInternalsBuilder(base::TimeDelta clock_step); | 177 FakeGCMInternalsBuilder(base::TimeDelta clock_step); |
178 virtual ~FakeGCMInternalsBuilder(); | 178 ~FakeGCMInternalsBuilder() override; |
179 | 179 |
180 virtual scoped_ptr<base::Clock> BuildClock() override; | 180 scoped_ptr<base::Clock> BuildClock() override; |
181 virtual scoped_ptr<MCSClient> BuildMCSClient( | 181 scoped_ptr<MCSClient> BuildMCSClient(const std::string& version, |
182 const std::string& version, | 182 base::Clock* clock, |
183 base::Clock* clock, | 183 ConnectionFactory* connection_factory, |
184 ConnectionFactory* connection_factory, | 184 GCMStore* gcm_store, |
185 GCMStore* gcm_store, | 185 GCMStatsRecorder* recorder) override; |
186 GCMStatsRecorder* recorder) override; | 186 scoped_ptr<ConnectionFactory> BuildConnectionFactory( |
187 virtual scoped_ptr<ConnectionFactory> BuildConnectionFactory( | |
188 const std::vector<GURL>& endpoints, | 187 const std::vector<GURL>& endpoints, |
189 const net::BackoffEntry::Policy& backoff_policy, | 188 const net::BackoffEntry::Policy& backoff_policy, |
190 const scoped_refptr<net::HttpNetworkSession>& gcm_network_session, | 189 const scoped_refptr<net::HttpNetworkSession>& gcm_network_session, |
191 const scoped_refptr<net::HttpNetworkSession>& http_network_session, | 190 const scoped_refptr<net::HttpNetworkSession>& http_network_session, |
192 net::NetLog* net_log, | 191 net::NetLog* net_log, |
193 GCMStatsRecorder* recorder) override; | 192 GCMStatsRecorder* recorder) override; |
194 | 193 |
195 private: | 194 private: |
196 base::TimeDelta clock_step_; | 195 base::TimeDelta clock_step_; |
197 }; | 196 }; |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 void CompleteRegistration(const std::string& registration_id); | 252 void CompleteRegistration(const std::string& registration_id); |
254 void CompleteUnregistration(const std::string& app_id); | 253 void CompleteUnregistration(const std::string& app_id); |
255 void VerifyPendingRequestFetcherDeleted(); | 254 void VerifyPendingRequestFetcherDeleted(); |
256 | 255 |
257 bool ExistsRegistration(const std::string& app_id) const; | 256 bool ExistsRegistration(const std::string& app_id) const; |
258 void AddRegistration(const std::string& app_id, | 257 void AddRegistration(const std::string& app_id, |
259 const std::vector<std::string>& sender_ids, | 258 const std::vector<std::string>& sender_ids, |
260 const std::string& registration_id); | 259 const std::string& registration_id); |
261 | 260 |
262 // GCMClient::Delegate overrides (for verification). | 261 // GCMClient::Delegate overrides (for verification). |
263 virtual void OnRegisterFinished(const std::string& app_id, | 262 void OnRegisterFinished(const std::string& app_id, |
264 const std::string& registration_id, | 263 const std::string& registration_id, |
265 GCMClient::Result result) override; | 264 GCMClient::Result result) override; |
266 virtual void OnUnregisterFinished(const std::string& app_id, | 265 void OnUnregisterFinished(const std::string& app_id, |
267 GCMClient::Result result) override; | 266 GCMClient::Result result) override; |
268 virtual void OnSendFinished(const std::string& app_id, | 267 void OnSendFinished(const std::string& app_id, |
269 const std::string& message_id, | 268 const std::string& message_id, |
270 GCMClient::Result result) override {} | 269 GCMClient::Result result) override {} |
271 virtual void OnMessageReceived(const std::string& registration_id, | 270 void OnMessageReceived(const std::string& registration_id, |
272 const GCMClient::IncomingMessage& message) | 271 const GCMClient::IncomingMessage& message) override; |
273 override; | 272 void OnMessagesDeleted(const std::string& app_id) override; |
274 virtual void OnMessagesDeleted(const std::string& app_id) override; | 273 void OnMessageSendError( |
275 virtual void OnMessageSendError( | |
276 const std::string& app_id, | 274 const std::string& app_id, |
277 const gcm::GCMClient::SendErrorDetails& send_error_details) override; | 275 const gcm::GCMClient::SendErrorDetails& send_error_details) override; |
278 virtual void OnSendAcknowledged(const std::string& app_id, | 276 void OnSendAcknowledged(const std::string& app_id, |
279 const std::string& message_id) override; | 277 const std::string& message_id) override; |
280 virtual void OnGCMReady( | 278 void OnGCMReady(const std::vector<AccountMapping>& account_mappings) override; |
281 const std::vector<AccountMapping>& account_mappings) override; | 279 void OnActivityRecorded() override {} |
282 virtual void OnActivityRecorded() override {} | 280 void OnConnected(const net::IPEndPoint& ip_endpoint) override {} |
283 virtual void OnConnected(const net::IPEndPoint& ip_endpoint) override {} | 281 void OnDisconnected() override {} |
284 virtual void OnDisconnected() override {} | |
285 | 282 |
286 GCMClientImpl* gcm_client() const { return gcm_client_.get(); } | 283 GCMClientImpl* gcm_client() const { return gcm_client_.get(); } |
287 FakeMCSClient* mcs_client() const { | 284 FakeMCSClient* mcs_client() const { |
288 return reinterpret_cast<FakeMCSClient*>(gcm_client_->mcs_client_.get()); | 285 return reinterpret_cast<FakeMCSClient*>(gcm_client_->mcs_client_.get()); |
289 } | 286 } |
290 ConnectionFactory* connection_factory() const { | 287 ConnectionFactory* connection_factory() const { |
291 return gcm_client_->connection_factory_.get(); | 288 return gcm_client_->connection_factory_.get(); |
292 } | 289 } |
293 | 290 |
294 const GCMClientImpl::CheckinInfo& device_checkin_info() const { | 291 const GCMClientImpl::CheckinInfo& device_checkin_info() const { |
(...skipping 746 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1041 TEST_F(GCMClientImplStartAndStopTest, StartStopAndRestartImmediately) { | 1038 TEST_F(GCMClientImplStartAndStopTest, StartStopAndRestartImmediately) { |
1042 // Start the GCM and then stop and restart it immediately. | 1039 // Start the GCM and then stop and restart it immediately. |
1043 gcm_client()->Start(); | 1040 gcm_client()->Start(); |
1044 gcm_client()->Stop(); | 1041 gcm_client()->Stop(); |
1045 gcm_client()->Start(); | 1042 gcm_client()->Start(); |
1046 | 1043 |
1047 PumpLoopUntilIdle(); | 1044 PumpLoopUntilIdle(); |
1048 } | 1045 } |
1049 | 1046 |
1050 } // namespace gcm | 1047 } // namespace gcm |
OLD | NEW |