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

Side by Side Diff: sync/engine/get_updates_processor_unittest.cc

Issue 1866243002: Convert //sync from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 unified diff | Download patch
OLDNEW
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 "sync/engine/get_updates_processor.h" 5 #include "sync/engine/get_updates_processor.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 10 matching lines...) Expand all
21 #include "sync/test/engine/fake_model_worker.h" 21 #include "sync/test/engine/fake_model_worker.h"
22 #include "sync/test/engine/mock_update_handler.h" 22 #include "sync/test/engine/mock_update_handler.h"
23 #include "sync/test/mock_invalidation.h" 23 #include "sync/test/mock_invalidation.h"
24 #include "sync/test/sessions/mock_debug_info_getter.h" 24 #include "sync/test/sessions/mock_debug_info_getter.h"
25 #include "testing/gtest/include/gtest/gtest.h" 25 #include "testing/gtest/include/gtest/gtest.h"
26 26
27 namespace syncer { 27 namespace syncer {
28 28
29 namespace { 29 namespace {
30 30
31 scoped_ptr<InvalidationInterface> BuildInvalidation( 31 std::unique_ptr<InvalidationInterface> BuildInvalidation(
32 int64_t version, 32 int64_t version,
33 const std::string& payload) { 33 const std::string& payload) {
34 return MockInvalidation::Build(version, payload); 34 return MockInvalidation::Build(version, payload);
35 } 35 }
36 36
37 } // namespace 37 } // namespace
38 38
39 using sessions::MockDebugInfoGetter; 39 using sessions::MockDebugInfoGetter;
40 40
41 // A test fixture for tests exercising download updates functions. 41 // A test fixture for tests exercising download updates functions.
42 class GetUpdatesProcessorTest : public ::testing::Test { 42 class GetUpdatesProcessorTest : public ::testing::Test {
43 protected: 43 protected:
44 GetUpdatesProcessorTest() : 44 GetUpdatesProcessorTest() :
45 kTestStartTime(base::TimeTicks::Now()), 45 kTestStartTime(base::TimeTicks::Now()),
46 update_handler_deleter_(&update_handler_map_) {} 46 update_handler_deleter_(&update_handler_map_) {}
47 47
48 void SetUp() override { 48 void SetUp() override {
49 AddUpdateHandler(AUTOFILL); 49 AddUpdateHandler(AUTOFILL);
50 AddUpdateHandler(BOOKMARKS); 50 AddUpdateHandler(BOOKMARKS);
51 AddUpdateHandler(PREFERENCES); 51 AddUpdateHandler(PREFERENCES);
52 } 52 }
53 53
54 ModelTypeSet enabled_types() { 54 ModelTypeSet enabled_types() {
55 return enabled_types_; 55 return enabled_types_;
56 } 56 }
57 57
58 scoped_ptr<GetUpdatesProcessor> BuildGetUpdatesProcessor( 58 std::unique_ptr<GetUpdatesProcessor> BuildGetUpdatesProcessor(
59 const GetUpdatesDelegate& delegate) { 59 const GetUpdatesDelegate& delegate) {
60 return scoped_ptr<GetUpdatesProcessor>( 60 return std::unique_ptr<GetUpdatesProcessor>(
61 new GetUpdatesProcessor(&update_handler_map_, delegate)); 61 new GetUpdatesProcessor(&update_handler_map_, delegate));
62 } 62 }
63 63
64 void InitFakeUpdateResponse(sync_pb::GetUpdatesResponse* response) { 64 void InitFakeUpdateResponse(sync_pb::GetUpdatesResponse* response) {
65 ModelTypeSet types = enabled_types(); 65 ModelTypeSet types = enabled_types();
66 66
67 for (ModelTypeSet::Iterator it = types.First(); it.Good(); it.Inc()) { 67 for (ModelTypeSet::Iterator it = types.First(); it.Good(); it.Inc()) {
68 sync_pb::DataTypeProgressMarker* marker = 68 sync_pb::DataTypeProgressMarker* marker =
69 response->add_new_progress_marker(); 69 response->add_new_progress_marker();
70 marker->set_data_type_id(GetSpecificsFieldNumberFromModelType(it.Get())); 70 marker->set_data_type_id(GetSpecificsFieldNumberFromModelType(it.Get()));
(...skipping 23 matching lines...) Expand all
94 MockUpdateHandler* handler = new MockUpdateHandler(type); 94 MockUpdateHandler* handler = new MockUpdateHandler(type);
95 update_handler_map_.insert(std::make_pair(type, handler)); 95 update_handler_map_.insert(std::make_pair(type, handler));
96 96
97 return handler; 97 return handler;
98 } 98 }
99 99
100 private: 100 private:
101 ModelTypeSet enabled_types_; 101 ModelTypeSet enabled_types_;
102 UpdateHandlerMap update_handler_map_; 102 UpdateHandlerMap update_handler_map_;
103 STLValueDeleter<UpdateHandlerMap> update_handler_deleter_; 103 STLValueDeleter<UpdateHandlerMap> update_handler_deleter_;
104 scoped_ptr<GetUpdatesProcessor> get_updates_processor_; 104 std::unique_ptr<GetUpdatesProcessor> get_updates_processor_;
105 105
106 DISALLOW_COPY_AND_ASSIGN(GetUpdatesProcessorTest); 106 DISALLOW_COPY_AND_ASSIGN(GetUpdatesProcessorTest);
107 }; 107 };
108 108
109 // Basic test to make sure nudges are expressed properly in the request. 109 // Basic test to make sure nudges are expressed properly in the request.
110 TEST_F(GetUpdatesProcessorTest, BookmarkNudge) { 110 TEST_F(GetUpdatesProcessorTest, BookmarkNudge) {
111 sessions::NudgeTracker nudge_tracker; 111 sessions::NudgeTracker nudge_tracker;
112 nudge_tracker.RecordLocalChange(ModelTypeSet(BOOKMARKS)); 112 nudge_tracker.RecordLocalChange(ModelTypeSet(BOOKMARKS));
113 113
114 sync_pb::ClientToServerMessage message; 114 sync_pb::ClientToServerMessage message;
115 NormalGetUpdatesDelegate normal_delegate(nudge_tracker); 115 NormalGetUpdatesDelegate normal_delegate(nudge_tracker);
116 scoped_ptr<GetUpdatesProcessor> processor( 116 std::unique_ptr<GetUpdatesProcessor> processor(
117 BuildGetUpdatesProcessor(normal_delegate)); 117 BuildGetUpdatesProcessor(normal_delegate));
118 processor->PrepareGetUpdates(enabled_types(), &message); 118 processor->PrepareGetUpdates(enabled_types(), &message);
119 119
120 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates(); 120 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates();
121 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::LOCAL, 121 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::LOCAL,
122 gu_msg.caller_info().source()); 122 gu_msg.caller_info().source());
123 EXPECT_EQ(sync_pb::SyncEnums::GU_TRIGGER, gu_msg.get_updates_origin()); 123 EXPECT_EQ(sync_pb::SyncEnums::GU_TRIGGER, gu_msg.get_updates_origin());
124 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) { 124 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) {
125 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber( 125 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber(
126 gu_msg.from_progress_marker(i).data_type_id()); 126 gu_msg.from_progress_marker(i).data_type_id());
(...skipping 27 matching lines...) Expand all
154 BOOKMARKS, BuildInvalidation(1, "bookmark_payload")); 154 BOOKMARKS, BuildInvalidation(1, "bookmark_payload"));
155 nudge_tracker.RecordRemoteInvalidation( 155 nudge_tracker.RecordRemoteInvalidation(
156 PREFERENCES, BuildInvalidation(1, "preferences_payload")); 156 PREFERENCES, BuildInvalidation(1, "preferences_payload"));
157 ModelTypeSet notified_types; 157 ModelTypeSet notified_types;
158 notified_types.Put(AUTOFILL); 158 notified_types.Put(AUTOFILL);
159 notified_types.Put(BOOKMARKS); 159 notified_types.Put(BOOKMARKS);
160 notified_types.Put(PREFERENCES); 160 notified_types.Put(PREFERENCES);
161 161
162 sync_pb::ClientToServerMessage message; 162 sync_pb::ClientToServerMessage message;
163 NormalGetUpdatesDelegate normal_delegate(nudge_tracker); 163 NormalGetUpdatesDelegate normal_delegate(nudge_tracker);
164 scoped_ptr<GetUpdatesProcessor> processor( 164 std::unique_ptr<GetUpdatesProcessor> processor(
165 BuildGetUpdatesProcessor(normal_delegate)); 165 BuildGetUpdatesProcessor(normal_delegate));
166 processor->PrepareGetUpdates(enabled_types(), &message); 166 processor->PrepareGetUpdates(enabled_types(), &message);
167 167
168 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates(); 168 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates();
169 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::NOTIFICATION, 169 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::NOTIFICATION,
170 gu_msg.caller_info().source()); 170 gu_msg.caller_info().source());
171 EXPECT_EQ(sync_pb::SyncEnums::GU_TRIGGER, gu_msg.get_updates_origin()); 171 EXPECT_EQ(sync_pb::SyncEnums::GU_TRIGGER, gu_msg.get_updates_origin());
172 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) { 172 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) {
173 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber( 173 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber(
174 gu_msg.from_progress_marker(i).data_type_id()); 174 gu_msg.from_progress_marker(i).data_type_id());
(...skipping 19 matching lines...) Expand all
194 // Basic test to ensure initial sync requests are expressed in the request. 194 // Basic test to ensure initial sync requests are expressed in the request.
195 TEST_F(GetUpdatesProcessorTest, InitialSyncRequest) { 195 TEST_F(GetUpdatesProcessorTest, InitialSyncRequest) {
196 sessions::NudgeTracker nudge_tracker; 196 sessions::NudgeTracker nudge_tracker;
197 nudge_tracker.RecordInitialSyncRequired(AUTOFILL); 197 nudge_tracker.RecordInitialSyncRequired(AUTOFILL);
198 nudge_tracker.RecordInitialSyncRequired(PREFERENCES); 198 nudge_tracker.RecordInitialSyncRequired(PREFERENCES);
199 199
200 ModelTypeSet initial_sync_types = ModelTypeSet(AUTOFILL, PREFERENCES); 200 ModelTypeSet initial_sync_types = ModelTypeSet(AUTOFILL, PREFERENCES);
201 201
202 sync_pb::ClientToServerMessage message; 202 sync_pb::ClientToServerMessage message;
203 NormalGetUpdatesDelegate normal_delegate(nudge_tracker); 203 NormalGetUpdatesDelegate normal_delegate(nudge_tracker);
204 scoped_ptr<GetUpdatesProcessor> processor( 204 std::unique_ptr<GetUpdatesProcessor> processor(
205 BuildGetUpdatesProcessor(normal_delegate)); 205 BuildGetUpdatesProcessor(normal_delegate));
206 processor->PrepareGetUpdates(enabled_types(), &message); 206 processor->PrepareGetUpdates(enabled_types(), &message);
207 207
208 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates(); 208 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates();
209 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::DATATYPE_REFRESH, 209 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::DATATYPE_REFRESH,
210 gu_msg.caller_info().source()); 210 gu_msg.caller_info().source());
211 EXPECT_EQ(sync_pb::SyncEnums::GU_TRIGGER, gu_msg.get_updates_origin()); 211 EXPECT_EQ(sync_pb::SyncEnums::GU_TRIGGER, gu_msg.get_updates_origin());
212 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) { 212 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) {
213 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber( 213 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber(
214 gu_msg.from_progress_marker(i).data_type_id()); 214 gu_msg.from_progress_marker(i).data_type_id());
(...skipping 11 matching lines...) Expand all
226 EXPECT_TRUE(gu_trigger.has_initial_sync_in_progress()); 226 EXPECT_TRUE(gu_trigger.has_initial_sync_in_progress());
227 EXPECT_FALSE(gu_trigger.initial_sync_in_progress()); 227 EXPECT_FALSE(gu_trigger.initial_sync_in_progress());
228 } 228 }
229 } 229 }
230 } 230 }
231 231
232 TEST_F(GetUpdatesProcessorTest, ConfigureTest) { 232 TEST_F(GetUpdatesProcessorTest, ConfigureTest) {
233 sync_pb::ClientToServerMessage message; 233 sync_pb::ClientToServerMessage message;
234 ConfigureGetUpdatesDelegate configure_delegate( 234 ConfigureGetUpdatesDelegate configure_delegate(
235 sync_pb::GetUpdatesCallerInfo::RECONFIGURATION); 235 sync_pb::GetUpdatesCallerInfo::RECONFIGURATION);
236 scoped_ptr<GetUpdatesProcessor> processor( 236 std::unique_ptr<GetUpdatesProcessor> processor(
237 BuildGetUpdatesProcessor(configure_delegate)); 237 BuildGetUpdatesProcessor(configure_delegate));
238 processor->PrepareGetUpdates(enabled_types(), &message); 238 processor->PrepareGetUpdates(enabled_types(), &message);
239 239
240 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates(); 240 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates();
241 EXPECT_EQ(sync_pb::SyncEnums::RECONFIGURATION, gu_msg.get_updates_origin()); 241 EXPECT_EQ(sync_pb::SyncEnums::RECONFIGURATION, gu_msg.get_updates_origin());
242 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::RECONFIGURATION, 242 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::RECONFIGURATION,
243 gu_msg.caller_info().source()); 243 gu_msg.caller_info().source());
244 244
245 ModelTypeSet progress_types; 245 ModelTypeSet progress_types;
246 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) { 246 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) {
247 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber( 247 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber(
248 gu_msg.from_progress_marker(i).data_type_id()); 248 gu_msg.from_progress_marker(i).data_type_id());
249 progress_types.Put(type); 249 progress_types.Put(type);
250 } 250 }
251 EXPECT_TRUE(enabled_types().Equals(progress_types)); 251 EXPECT_TRUE(enabled_types().Equals(progress_types));
252 } 252 }
253 253
254 TEST_F(GetUpdatesProcessorTest, PollTest) { 254 TEST_F(GetUpdatesProcessorTest, PollTest) {
255 sync_pb::ClientToServerMessage message; 255 sync_pb::ClientToServerMessage message;
256 PollGetUpdatesDelegate poll_delegate; 256 PollGetUpdatesDelegate poll_delegate;
257 scoped_ptr<GetUpdatesProcessor> processor( 257 std::unique_ptr<GetUpdatesProcessor> processor(
258 BuildGetUpdatesProcessor(poll_delegate)); 258 BuildGetUpdatesProcessor(poll_delegate));
259 processor->PrepareGetUpdates(enabled_types(), &message); 259 processor->PrepareGetUpdates(enabled_types(), &message);
260 260
261 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates(); 261 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates();
262 EXPECT_EQ(sync_pb::SyncEnums::PERIODIC, gu_msg.get_updates_origin()); 262 EXPECT_EQ(sync_pb::SyncEnums::PERIODIC, gu_msg.get_updates_origin());
263 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::PERIODIC, 263 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::PERIODIC,
264 gu_msg.caller_info().source()); 264 gu_msg.caller_info().source());
265 265
266 ModelTypeSet progress_types; 266 ModelTypeSet progress_types;
267 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) { 267 for (int i = 0; i < gu_msg.from_progress_marker_size(); ++i) {
268 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber( 268 syncer::ModelType type = GetModelTypeFromSpecificsFieldNumber(
269 gu_msg.from_progress_marker(i).data_type_id()); 269 gu_msg.from_progress_marker(i).data_type_id());
270 progress_types.Put(type); 270 progress_types.Put(type);
271 } 271 }
272 EXPECT_TRUE(enabled_types().Equals(progress_types)); 272 EXPECT_TRUE(enabled_types().Equals(progress_types));
273 } 273 }
274 274
275 TEST_F(GetUpdatesProcessorTest, RetryTest) { 275 TEST_F(GetUpdatesProcessorTest, RetryTest) {
276 sessions::NudgeTracker nudge_tracker; 276 sessions::NudgeTracker nudge_tracker;
277 277
278 // Schedule a retry. 278 // Schedule a retry.
279 base::TimeTicks t1 = kTestStartTime; 279 base::TimeTicks t1 = kTestStartTime;
280 nudge_tracker.SetNextRetryTime(t1); 280 nudge_tracker.SetNextRetryTime(t1);
281 281
282 // Get the nudge tracker to think the retry is due. 282 // Get the nudge tracker to think the retry is due.
283 nudge_tracker.SetSyncCycleStartTime(t1 + base::TimeDelta::FromSeconds(1)); 283 nudge_tracker.SetSyncCycleStartTime(t1 + base::TimeDelta::FromSeconds(1));
284 284
285 sync_pb::ClientToServerMessage message; 285 sync_pb::ClientToServerMessage message;
286 NormalGetUpdatesDelegate normal_delegate(nudge_tracker); 286 NormalGetUpdatesDelegate normal_delegate(nudge_tracker);
287 scoped_ptr<GetUpdatesProcessor> processor( 287 std::unique_ptr<GetUpdatesProcessor> processor(
288 BuildGetUpdatesProcessor(normal_delegate)); 288 BuildGetUpdatesProcessor(normal_delegate));
289 processor->PrepareGetUpdates(enabled_types(), &message); 289 processor->PrepareGetUpdates(enabled_types(), &message);
290 290
291 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates(); 291 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates();
292 EXPECT_EQ(sync_pb::SyncEnums::RETRY, gu_msg.get_updates_origin()); 292 EXPECT_EQ(sync_pb::SyncEnums::RETRY, gu_msg.get_updates_origin());
293 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::RETRY, 293 EXPECT_EQ(sync_pb::GetUpdatesCallerInfo::RETRY,
294 gu_msg.caller_info().source()); 294 gu_msg.caller_info().source());
295 EXPECT_TRUE(gu_msg.is_retry()); 295 EXPECT_TRUE(gu_msg.is_retry());
296 296
297 ModelTypeSet progress_types; 297 ModelTypeSet progress_types;
(...skipping 13 matching lines...) Expand all
311 nudge_tracker.SetNextRetryTime(t1); 311 nudge_tracker.SetNextRetryTime(t1);
312 312
313 // Get the nudge tracker to think the retry is due. 313 // Get the nudge tracker to think the retry is due.
314 nudge_tracker.SetSyncCycleStartTime(t1 + base::TimeDelta::FromSeconds(1)); 314 nudge_tracker.SetSyncCycleStartTime(t1 + base::TimeDelta::FromSeconds(1));
315 315
316 // Record a local change, too. 316 // Record a local change, too.
317 nudge_tracker.RecordLocalChange(ModelTypeSet(BOOKMARKS)); 317 nudge_tracker.RecordLocalChange(ModelTypeSet(BOOKMARKS));
318 318
319 sync_pb::ClientToServerMessage message; 319 sync_pb::ClientToServerMessage message;
320 NormalGetUpdatesDelegate normal_delegate(nudge_tracker); 320 NormalGetUpdatesDelegate normal_delegate(nudge_tracker);
321 scoped_ptr<GetUpdatesProcessor> processor( 321 std::unique_ptr<GetUpdatesProcessor> processor(
322 BuildGetUpdatesProcessor(normal_delegate)); 322 BuildGetUpdatesProcessor(normal_delegate));
323 processor->PrepareGetUpdates(enabled_types(), &message); 323 processor->PrepareGetUpdates(enabled_types(), &message);
324 324
325 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates(); 325 const sync_pb::GetUpdatesMessage& gu_msg = message.get_updates();
326 EXPECT_NE(sync_pb::SyncEnums::RETRY, gu_msg.get_updates_origin()); 326 EXPECT_NE(sync_pb::SyncEnums::RETRY, gu_msg.get_updates_origin());
327 EXPECT_NE(sync_pb::GetUpdatesCallerInfo::RETRY, 327 EXPECT_NE(sync_pb::GetUpdatesCallerInfo::RETRY,
328 gu_msg.caller_info().source()); 328 gu_msg.caller_info().source());
329 329
330 EXPECT_TRUE(gu_msg.is_retry()); 330 EXPECT_TRUE(gu_msg.is_retry());
331 } 331 }
332 332
333 // Verify that a bogus response message is detected. 333 // Verify that a bogus response message is detected.
334 TEST_F(GetUpdatesProcessorTest, InvalidResponse) { 334 TEST_F(GetUpdatesProcessorTest, InvalidResponse) {
335 sync_pb::GetUpdatesResponse gu_response; 335 sync_pb::GetUpdatesResponse gu_response;
336 InitFakeUpdateResponse(&gu_response); 336 InitFakeUpdateResponse(&gu_response);
337 337
338 // This field is essential for making the client stop looping. If it's unset 338 // This field is essential for making the client stop looping. If it's unset
339 // then something is very wrong. The client should detect this. 339 // then something is very wrong. The client should detect this.
340 gu_response.clear_changes_remaining(); 340 gu_response.clear_changes_remaining();
341 341
342 sessions::NudgeTracker nudge_tracker; 342 sessions::NudgeTracker nudge_tracker;
343 NormalGetUpdatesDelegate normal_delegate(nudge_tracker); 343 NormalGetUpdatesDelegate normal_delegate(nudge_tracker);
344 sessions::StatusController status; 344 sessions::StatusController status;
345 scoped_ptr<GetUpdatesProcessor> processor( 345 std::unique_ptr<GetUpdatesProcessor> processor(
346 BuildGetUpdatesProcessor(normal_delegate)); 346 BuildGetUpdatesProcessor(normal_delegate));
347 SyncerError error = processor->ProcessResponse(gu_response, 347 SyncerError error = processor->ProcessResponse(gu_response,
348 enabled_types(), 348 enabled_types(),
349 &status); 349 &status);
350 EXPECT_EQ(error, SERVER_RESPONSE_VALIDATION_FAILED); 350 EXPECT_EQ(error, SERVER_RESPONSE_VALIDATION_FAILED);
351 } 351 }
352 352
353 // Verify that we correctly detect when there's more work to be done. 353 // Verify that we correctly detect when there's more work to be done.
354 TEST_F(GetUpdatesProcessorTest, MoreToDownloadResponse) { 354 TEST_F(GetUpdatesProcessorTest, MoreToDownloadResponse) {
355 sync_pb::GetUpdatesResponse gu_response; 355 sync_pb::GetUpdatesResponse gu_response;
356 InitFakeUpdateResponse(&gu_response); 356 InitFakeUpdateResponse(&gu_response);
357 gu_response.set_changes_remaining(1); 357 gu_response.set_changes_remaining(1);
358 358
359 sessions::NudgeTracker nudge_tracker; 359 sessions::NudgeTracker nudge_tracker;
360 NormalGetUpdatesDelegate normal_delegate(nudge_tracker); 360 NormalGetUpdatesDelegate normal_delegate(nudge_tracker);
361 sessions::StatusController status; 361 sessions::StatusController status;
362 scoped_ptr<GetUpdatesProcessor> processor( 362 std::unique_ptr<GetUpdatesProcessor> processor(
363 BuildGetUpdatesProcessor(normal_delegate)); 363 BuildGetUpdatesProcessor(normal_delegate));
364 SyncerError error = processor->ProcessResponse(gu_response, 364 SyncerError error = processor->ProcessResponse(gu_response,
365 enabled_types(), 365 enabled_types(),
366 &status); 366 &status);
367 EXPECT_EQ(error, SERVER_MORE_TO_DOWNLOAD); 367 EXPECT_EQ(error, SERVER_MORE_TO_DOWNLOAD);
368 } 368 }
369 369
370 // A simple scenario: No updates returned and nothing more to download. 370 // A simple scenario: No updates returned and nothing more to download.
371 TEST_F(GetUpdatesProcessorTest, NormalResponseTest) { 371 TEST_F(GetUpdatesProcessorTest, NormalResponseTest) {
372 sync_pb::GetUpdatesResponse gu_response; 372 sync_pb::GetUpdatesResponse gu_response;
373 InitFakeUpdateResponse(&gu_response); 373 InitFakeUpdateResponse(&gu_response);
374 gu_response.set_changes_remaining(0); 374 gu_response.set_changes_remaining(0);
375 375
376 sessions::NudgeTracker nudge_tracker; 376 sessions::NudgeTracker nudge_tracker;
377 NormalGetUpdatesDelegate normal_delegate(nudge_tracker); 377 NormalGetUpdatesDelegate normal_delegate(nudge_tracker);
378 sessions::StatusController status; 378 sessions::StatusController status;
379 scoped_ptr<GetUpdatesProcessor> processor( 379 std::unique_ptr<GetUpdatesProcessor> processor(
380 BuildGetUpdatesProcessor(normal_delegate)); 380 BuildGetUpdatesProcessor(normal_delegate));
381 SyncerError error = processor->ProcessResponse(gu_response, 381 SyncerError error = processor->ProcessResponse(gu_response,
382 enabled_types(), 382 enabled_types(),
383 &status); 383 &status);
384 EXPECT_EQ(error, SYNCER_OK); 384 EXPECT_EQ(error, SYNCER_OK);
385 } 385 }
386 386
387 // Variant of GetUpdatesProcessor test designed to test update application. 387 // Variant of GetUpdatesProcessor test designed to test update application.
388 // 388 //
389 // Maintains two enabled types, but requests that updates be applied for only 389 // Maintains two enabled types, but requests that updates be applied for only
(...skipping 23 matching lines...) Expand all
413 private: 413 private:
414 MockUpdateHandler* bookmarks_handler_; 414 MockUpdateHandler* bookmarks_handler_;
415 MockUpdateHandler* autofill_handler_; 415 MockUpdateHandler* autofill_handler_;
416 }; 416 };
417 417
418 // Verify that a normal cycle applies updates non-passively to the specified 418 // Verify that a normal cycle applies updates non-passively to the specified
419 // types. 419 // types.
420 TEST_F(GetUpdatesProcessorApplyUpdatesTest, Normal) { 420 TEST_F(GetUpdatesProcessorApplyUpdatesTest, Normal) {
421 sessions::NudgeTracker nudge_tracker; 421 sessions::NudgeTracker nudge_tracker;
422 NormalGetUpdatesDelegate normal_delegate(nudge_tracker); 422 NormalGetUpdatesDelegate normal_delegate(nudge_tracker);
423 scoped_ptr<GetUpdatesProcessor> processor( 423 std::unique_ptr<GetUpdatesProcessor> processor(
424 BuildGetUpdatesProcessor(normal_delegate)); 424 BuildGetUpdatesProcessor(normal_delegate));
425 425
426 EXPECT_EQ(0, GetNonAppliedHandler()->GetApplyUpdatesCount()); 426 EXPECT_EQ(0, GetNonAppliedHandler()->GetApplyUpdatesCount());
427 EXPECT_EQ(0, GetAppliedHandler()->GetApplyUpdatesCount()); 427 EXPECT_EQ(0, GetAppliedHandler()->GetApplyUpdatesCount());
428 428
429 sessions::StatusController status; 429 sessions::StatusController status;
430 processor->ApplyUpdates(GetGuTypes(), &status); 430 processor->ApplyUpdates(GetGuTypes(), &status);
431 431
432 EXPECT_EQ(0, GetNonAppliedHandler()->GetApplyUpdatesCount()); 432 EXPECT_EQ(0, GetNonAppliedHandler()->GetApplyUpdatesCount());
433 EXPECT_EQ(1, GetAppliedHandler()->GetApplyUpdatesCount()); 433 EXPECT_EQ(1, GetAppliedHandler()->GetApplyUpdatesCount());
434 434
435 EXPECT_EQ(0, GetNonAppliedHandler()->GetPassiveApplyUpdatesCount()); 435 EXPECT_EQ(0, GetNonAppliedHandler()->GetPassiveApplyUpdatesCount());
436 EXPECT_EQ(0, GetAppliedHandler()->GetPassiveApplyUpdatesCount()); 436 EXPECT_EQ(0, GetAppliedHandler()->GetPassiveApplyUpdatesCount());
437 437
438 EXPECT_TRUE(status.get_updates_request_types().Equals(GetGuTypes())); 438 EXPECT_TRUE(status.get_updates_request_types().Equals(GetGuTypes()));
439 } 439 }
440 440
441 // Verify that a configure cycle applies updates passively to the specified 441 // Verify that a configure cycle applies updates passively to the specified
442 // types. 442 // types.
443 TEST_F(GetUpdatesProcessorApplyUpdatesTest, Configure) { 443 TEST_F(GetUpdatesProcessorApplyUpdatesTest, Configure) {
444 ConfigureGetUpdatesDelegate configure_delegate( 444 ConfigureGetUpdatesDelegate configure_delegate(
445 sync_pb::GetUpdatesCallerInfo::RECONFIGURATION); 445 sync_pb::GetUpdatesCallerInfo::RECONFIGURATION);
446 scoped_ptr<GetUpdatesProcessor> processor( 446 std::unique_ptr<GetUpdatesProcessor> processor(
447 BuildGetUpdatesProcessor(configure_delegate)); 447 BuildGetUpdatesProcessor(configure_delegate));
448 448
449 EXPECT_EQ(0, GetNonAppliedHandler()->GetPassiveApplyUpdatesCount()); 449 EXPECT_EQ(0, GetNonAppliedHandler()->GetPassiveApplyUpdatesCount());
450 EXPECT_EQ(0, GetAppliedHandler()->GetPassiveApplyUpdatesCount()); 450 EXPECT_EQ(0, GetAppliedHandler()->GetPassiveApplyUpdatesCount());
451 451
452 sessions::StatusController status; 452 sessions::StatusController status;
453 processor->ApplyUpdates(GetGuTypes(), &status); 453 processor->ApplyUpdates(GetGuTypes(), &status);
454 454
455 EXPECT_EQ(0, GetNonAppliedHandler()->GetPassiveApplyUpdatesCount()); 455 EXPECT_EQ(0, GetNonAppliedHandler()->GetPassiveApplyUpdatesCount());
456 EXPECT_EQ(1, GetAppliedHandler()->GetPassiveApplyUpdatesCount()); 456 EXPECT_EQ(1, GetAppliedHandler()->GetPassiveApplyUpdatesCount());
457 457
458 EXPECT_EQ(0, GetNonAppliedHandler()->GetApplyUpdatesCount()); 458 EXPECT_EQ(0, GetNonAppliedHandler()->GetApplyUpdatesCount());
459 EXPECT_EQ(0, GetAppliedHandler()->GetApplyUpdatesCount()); 459 EXPECT_EQ(0, GetAppliedHandler()->GetApplyUpdatesCount());
460 460
461 EXPECT_TRUE(status.get_updates_request_types().Equals(GetGuTypes())); 461 EXPECT_TRUE(status.get_updates_request_types().Equals(GetGuTypes()));
462 } 462 }
463 463
464 // Verify that a poll cycle applies updates non-passively to the specified 464 // Verify that a poll cycle applies updates non-passively to the specified
465 // types. 465 // types.
466 TEST_F(GetUpdatesProcessorApplyUpdatesTest, Poll) { 466 TEST_F(GetUpdatesProcessorApplyUpdatesTest, Poll) {
467 PollGetUpdatesDelegate poll_delegate; 467 PollGetUpdatesDelegate poll_delegate;
468 scoped_ptr<GetUpdatesProcessor> processor( 468 std::unique_ptr<GetUpdatesProcessor> processor(
469 BuildGetUpdatesProcessor(poll_delegate)); 469 BuildGetUpdatesProcessor(poll_delegate));
470 470
471 EXPECT_EQ(0, GetNonAppliedHandler()->GetApplyUpdatesCount()); 471 EXPECT_EQ(0, GetNonAppliedHandler()->GetApplyUpdatesCount());
472 EXPECT_EQ(0, GetAppliedHandler()->GetApplyUpdatesCount()); 472 EXPECT_EQ(0, GetAppliedHandler()->GetApplyUpdatesCount());
473 473
474 sessions::StatusController status; 474 sessions::StatusController status;
475 processor->ApplyUpdates(GetGuTypes(), &status); 475 processor->ApplyUpdates(GetGuTypes(), &status);
476 476
477 EXPECT_EQ(0, GetNonAppliedHandler()->GetApplyUpdatesCount()); 477 EXPECT_EQ(0, GetNonAppliedHandler()->GetApplyUpdatesCount());
478 EXPECT_EQ(1, GetAppliedHandler()->GetApplyUpdatesCount()); 478 EXPECT_EQ(1, GetAppliedHandler()->GetApplyUpdatesCount());
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
515 TEST_F(DownloadUpdatesDebugInfoTest, VerifyCopyOverwrites) { 515 TEST_F(DownloadUpdatesDebugInfoTest, VerifyCopyOverwrites) {
516 sync_pb::DebugInfo debug_info; 516 sync_pb::DebugInfo debug_info;
517 AddDebugEvent(); 517 AddDebugEvent();
518 GetUpdatesProcessor::CopyClientDebugInfo(debug_info_getter(), &debug_info); 518 GetUpdatesProcessor::CopyClientDebugInfo(debug_info_getter(), &debug_info);
519 EXPECT_EQ(1, debug_info.events_size()); 519 EXPECT_EQ(1, debug_info.events_size());
520 GetUpdatesProcessor::CopyClientDebugInfo(debug_info_getter(), &debug_info); 520 GetUpdatesProcessor::CopyClientDebugInfo(debug_info_getter(), &debug_info);
521 EXPECT_EQ(1, debug_info.events_size()); 521 EXPECT_EQ(1, debug_info.events_size());
522 } 522 }
523 523
524 } // namespace syncer 524 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698