OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "sync/engine/download.h" | 5 #include "sync/engine/download.h" |
6 | 6 |
7 #include "base/message_loop/message_loop.h" | 7 #include "base/message_loop/message_loop.h" |
8 #include "base/stl_util.h" | 8 #include "base/stl_util.h" |
9 #include "sync/engine/sync_directory_update_handler.h" | 9 #include "sync/engine/sync_directory_update_handler.h" |
10 #include "sync/internal_api/public/base/model_type_test_util.h" | 10 #include "sync/internal_api/public/base/model_type_test_util.h" |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 | 212 |
213 ModelTypeSet progress_types; | 213 ModelTypeSet progress_types; |
214 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) { | 214 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) { |
215 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber( | 215 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber( |
216 gu_msg.from_progress_marker(i).data_type_id()); | 216 gu_msg.from_progress_marker(i).data_type_id()); |
217 progress_types.Put(type); | 217 progress_types.Put(type); |
218 } | 218 } |
219 EXPECT_TRUE(proto_request_types().Equals(progress_types)); | 219 EXPECT_TRUE(proto_request_types().Equals(progress_types)); |
220 } | 220 } |
221 | 221 |
| 222 TEST_F(DownloadUpdatesTest, RetryTest) { |
| 223 sync_pb::ClientToServerMessage msg; |
| 224 download::BuildDownloadUpdatesForRetryImpl( |
| 225 proto_request_types(), |
| 226 update_handler_map(), |
| 227 msg.mutable_get_updates()); |
| 228 |
| 229 const sync_pb::GetUpdatesMessage& gu_msg = msg.get_updates(); |
| 230 |
| 231 EXPECT_EQ(sync_pb::SyncEnums::RETRY, gu_msg.get_updates_origin()); |
| 232 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::RETRY, |
| 233 gu_msg.caller_info().source()); |
| 234 EXPECT_TRUE(gu_msg.is_retry()); |
| 235 |
| 236 ModelTypeSet progress_types; |
| 237 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) { |
| 238 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber( |
| 239 gu_msg.from_progress_marker(i).data_type_id()); |
| 240 progress_types.Put(type); |
| 241 } |
| 242 EXPECT_TRUE(proto_request_types().Equals(progress_types)); |
| 243 } |
| 244 |
| 245 TEST_F(DownloadUpdatesTest, NudgeWithRetryTest) { |
| 246 sessions::NudgeTracker nudge_tracker; |
| 247 nudge_tracker.RecordLocalChange(ModelTypeSet(BOOKMARKS)); |
| 248 nudge_tracker.set_next_retry_time( |
| 249 base::TimeTicks::Now() - base::TimeDelta::FromSeconds(1)); |
| 250 |
| 251 sync_pb::ClientToServerMessage msg; |
| 252 download::BuildNormalDownloadUpdatesImpl(proto_request_types(), |
| 253 update_handler_map(), |
| 254 nudge_tracker, |
| 255 msg.mutable_get_updates()); |
| 256 EXPECT_TRUE(msg.get_updates().is_retry()); |
| 257 } |
| 258 |
222 // Verify that a bogus response message is detected. | 259 // Verify that a bogus response message is detected. |
223 TEST_F(DownloadUpdatesTest, InvalidResponse) { | 260 TEST_F(DownloadUpdatesTest, InvalidResponse) { |
224 sync_pb::GetUpdatesResponse gu_response; | 261 sync_pb::GetUpdatesResponse gu_response; |
225 InitFakeUpdateResponse(&gu_response); | 262 InitFakeUpdateResponse(&gu_response); |
226 | 263 |
227 // This field is essential for making the client stop looping. If it's unset | 264 // This field is essential for making the client stop looping. If it's unset |
228 // then something is very wrong. The client should detect this. | 265 // then something is very wrong. The client should detect this. |
229 gu_response.clear_changes_remaining(); | 266 gu_response.clear_changes_remaining(); |
230 | 267 |
231 sessions::StatusController status; | 268 sessions::StatusController status; |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
297 TEST_F(DownloadUpdatesDebugInfoTest, VerifyCopyOverwrites) { | 334 TEST_F(DownloadUpdatesDebugInfoTest, VerifyCopyOverwrites) { |
298 sync_pb::DebugInfo debug_info; | 335 sync_pb::DebugInfo debug_info; |
299 AddDebugEvent(); | 336 AddDebugEvent(); |
300 download::CopyClientDebugInfo(debug_info_getter(), &debug_info); | 337 download::CopyClientDebugInfo(debug_info_getter(), &debug_info); |
301 EXPECT_EQ(1, debug_info.events_size()); | 338 EXPECT_EQ(1, debug_info.events_size()); |
302 download::CopyClientDebugInfo(debug_info_getter(), &debug_info); | 339 download::CopyClientDebugInfo(debug_info_getter(), &debug_info); |
303 EXPECT_EQ(1, debug_info.events_size()); | 340 EXPECT_EQ(1, debug_info.events_size()); |
304 } | 341 } |
305 | 342 |
306 } // namespace syncer | 343 } // namespace syncer |
OLD | NEW |