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

Side by Side Diff: sync/sessions/sync_session_unittest.cc

Issue 10559104: sync: Process 'control' data separately (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rename, cleanup, fix tests Created 8 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « sync/sessions/sync_session.cc ('k') | sync/sync.gyp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/sessions/sync_session.h" 5 #include "sync/sessions/sync_session.h"
6 6
7 #include "base/compiler_specific.h" 7 #include "base/compiler_specific.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 context_.reset( 49 context_.reset(
50 new SyncSessionContext( 50 new SyncSessionContext(
51 NULL, NULL, routing_info, workers, &extensions_activity_monitor_, 51 NULL, NULL, routing_info, workers, &extensions_activity_monitor_,
52 throttled_data_type_tracker_.get(), 52 throttled_data_type_tracker_.get(),
53 std::vector<SyncEngineEventListener*>(), NULL, NULL)); 53 std::vector<SyncEngineEventListener*>(), NULL, NULL));
54 routes_.clear(); 54 routes_.clear();
55 routes_[syncable::BOOKMARKS] = GROUP_UI; 55 routes_[syncable::BOOKMARKS] = GROUP_UI;
56 routes_[syncable::AUTOFILL] = GROUP_DB; 56 routes_[syncable::AUTOFILL] = GROUP_DB;
57 scoped_refptr<ModelSafeWorker> passive_worker( 57 scoped_refptr<ModelSafeWorker> passive_worker(
58 new FakeModelWorker(GROUP_PASSIVE)); 58 new FakeModelWorker(GROUP_PASSIVE));
59 scoped_refptr<ModelSafeWorker> control_worker(
60 new FakeModelWorker(GROUP_CONTROL));
59 scoped_refptr<ModelSafeWorker> ui_worker( 61 scoped_refptr<ModelSafeWorker> ui_worker(
60 new FakeModelWorker(GROUP_UI)); 62 new FakeModelWorker(GROUP_UI));
61 scoped_refptr<ModelSafeWorker> db_worker( 63 scoped_refptr<ModelSafeWorker> db_worker(
62 new FakeModelWorker(GROUP_DB)); 64 new FakeModelWorker(GROUP_DB));
63 workers_.clear(); 65 workers_.clear();
66 workers_.push_back(control_worker);
64 workers_.push_back(passive_worker); 67 workers_.push_back(passive_worker);
65 workers_.push_back(ui_worker); 68 workers_.push_back(ui_worker);
66 workers_.push_back(db_worker); 69 workers_.push_back(db_worker);
67 session_.reset(MakeSession()); 70 session_.reset(MakeSession());
68 throttled_data_type_tracker_.reset(new ThrottledDataTypeTracker(NULL)); 71 throttled_data_type_tracker_.reset(new ThrottledDataTypeTracker(NULL));
69 } 72 }
70 virtual void TearDown() { 73 virtual void TearDown() {
71 session_.reset(); 74 session_.reset();
72 context_.reset(); 75 context_.reset();
73 } 76 }
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 FakeExtensionsActivityMonitor extensions_activity_monitor_; 139 FakeExtensionsActivityMonitor extensions_activity_monitor_;
137 scoped_ptr<ThrottledDataTypeTracker> throttled_data_type_tracker_; 140 scoped_ptr<ThrottledDataTypeTracker> throttled_data_type_tracker_;
138 }; 141 };
139 142
140 TEST_F(SyncSessionTest, EnabledGroupsEmpty) { 143 TEST_F(SyncSessionTest, EnabledGroupsEmpty) {
141 routes_.clear(); 144 routes_.clear();
142 workers_.clear(); 145 workers_.clear();
143 scoped_ptr<SyncSession> session(MakeSession()); 146 scoped_ptr<SyncSession> session(MakeSession());
144 std::set<ModelSafeGroup> expected_enabled_groups; 147 std::set<ModelSafeGroup> expected_enabled_groups;
145 expected_enabled_groups.insert(GROUP_PASSIVE); 148 expected_enabled_groups.insert(GROUP_PASSIVE);
149 expected_enabled_groups.insert(GROUP_CONTROL);
146 EXPECT_EQ(expected_enabled_groups, session->GetEnabledGroups()); 150 EXPECT_EQ(expected_enabled_groups, session->GetEnabledGroups());
147 } 151 }
148 152
149 TEST_F(SyncSessionTest, EnabledGroups) { 153 TEST_F(SyncSessionTest, EnabledGroups) {
150 scoped_ptr<SyncSession> session(MakeSession()); 154 scoped_ptr<SyncSession> session(MakeSession());
151 std::set<ModelSafeGroup> expected_enabled_groups; 155 std::set<ModelSafeGroup> expected_enabled_groups;
152 expected_enabled_groups.insert(GROUP_PASSIVE); 156 expected_enabled_groups.insert(GROUP_PASSIVE);
157 expected_enabled_groups.insert(GROUP_CONTROL);
153 expected_enabled_groups.insert(GROUP_UI); 158 expected_enabled_groups.insert(GROUP_UI);
154 expected_enabled_groups.insert(GROUP_DB); 159 expected_enabled_groups.insert(GROUP_DB);
155 EXPECT_EQ(expected_enabled_groups, session->GetEnabledGroups()); 160 EXPECT_EQ(expected_enabled_groups, session->GetEnabledGroups());
156 } 161 }
157 162
158 TEST_F(SyncSessionTest, EnabledGroupsWithConflictsEmpty) { 163 TEST_F(SyncSessionTest, EnabledGroupsWithConflictsEmpty) {
159 scoped_ptr<SyncSession> session(MakeSession()); 164 scoped_ptr<SyncSession> session(MakeSession());
160 // Auto-create conflict progress. This shouldn't put that group in 165 // Auto-create conflict progress. This shouldn't put that group in
161 // conflict. 166 // conflict.
162 session->mutable_status_controller()-> 167 session->mutable_status_controller()->
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 std::string()); 278 std::string());
274 syncable::ModelTypePayloadMap all_types = 279 syncable::ModelTypePayloadMap all_types =
275 syncable::ModelTypePayloadMapFromEnumSet( 280 syncable::ModelTypePayloadMapFromEnumSet(
276 ParamsMeaningAllEnabledTypes(), 281 ParamsMeaningAllEnabledTypes(),
277 std::string()); 282 std::string());
278 SyncSourceInfo source_one(sync_pb::GetUpdatesCallerInfo::PERIODIC, one_type); 283 SyncSourceInfo source_one(sync_pb::GetUpdatesCallerInfo::PERIODIC, one_type);
279 SyncSourceInfo source_two(sync_pb::GetUpdatesCallerInfo::LOCAL, all_types); 284 SyncSourceInfo source_two(sync_pb::GetUpdatesCallerInfo::LOCAL, all_types);
280 285
281 scoped_refptr<ModelSafeWorker> passive_worker( 286 scoped_refptr<ModelSafeWorker> passive_worker(
282 new FakeModelWorker(GROUP_PASSIVE)); 287 new FakeModelWorker(GROUP_PASSIVE));
288 scoped_refptr<ModelSafeWorker> control_worker(
289 new FakeModelWorker(GROUP_CONTROL));
283 scoped_refptr<ModelSafeWorker> db_worker(new FakeModelWorker(GROUP_DB)); 290 scoped_refptr<ModelSafeWorker> db_worker(new FakeModelWorker(GROUP_DB));
284 scoped_refptr<ModelSafeWorker> ui_worker(new FakeModelWorker(GROUP_UI)); 291 scoped_refptr<ModelSafeWorker> ui_worker(new FakeModelWorker(GROUP_UI));
285 workers_one.push_back(passive_worker); 292 workers_one.push_back(passive_worker);
293 workers_one.push_back(control_worker);
286 workers_one.push_back(db_worker); 294 workers_one.push_back(db_worker);
287 workers_two.push_back(passive_worker); 295 workers_two.push_back(passive_worker);
296 workers_two.push_back(control_worker);
288 workers_two.push_back(db_worker); 297 workers_two.push_back(db_worker);
289 workers_two.push_back(ui_worker); 298 workers_two.push_back(ui_worker);
290 routes_one[syncable::AUTOFILL] = GROUP_DB; 299 routes_one[syncable::AUTOFILL] = GROUP_DB;
291 routes_two[syncable::AUTOFILL] = GROUP_DB; 300 routes_two[syncable::AUTOFILL] = GROUP_DB;
292 routes_two[syncable::BOOKMARKS] = GROUP_UI; 301 routes_two[syncable::BOOKMARKS] = GROUP_UI;
293 SyncSession one(context_.get(), this, source_one, routes_one, workers_one); 302 SyncSession one(context_.get(), this, source_one, routes_one, workers_one);
294 SyncSession two(context_.get(), this, source_two, routes_two, workers_two); 303 SyncSession two(context_.get(), this, source_two, routes_two, workers_two);
295 304
296 std::set<ModelSafeGroup> expected_enabled_groups_one; 305 std::set<ModelSafeGroup> expected_enabled_groups_one;
297 expected_enabled_groups_one.insert(GROUP_PASSIVE); 306 expected_enabled_groups_one.insert(GROUP_PASSIVE);
307 expected_enabled_groups_one.insert(GROUP_CONTROL);
298 expected_enabled_groups_one.insert(GROUP_DB); 308 expected_enabled_groups_one.insert(GROUP_DB);
299 309
300 std::set<ModelSafeGroup> expected_enabled_groups_two; 310 std::set<ModelSafeGroup> expected_enabled_groups_two;
301 expected_enabled_groups_two.insert(GROUP_PASSIVE); 311 expected_enabled_groups_two.insert(GROUP_PASSIVE);
312 expected_enabled_groups_two.insert(GROUP_CONTROL);
302 expected_enabled_groups_two.insert(GROUP_DB); 313 expected_enabled_groups_two.insert(GROUP_DB);
303 expected_enabled_groups_two.insert(GROUP_UI); 314 expected_enabled_groups_two.insert(GROUP_UI);
304 315
305 EXPECT_EQ(expected_enabled_groups_one, one.GetEnabledGroups()); 316 EXPECT_EQ(expected_enabled_groups_one, one.GetEnabledGroups());
306 EXPECT_EQ(expected_enabled_groups_two, two.GetEnabledGroups()); 317 EXPECT_EQ(expected_enabled_groups_two, two.GetEnabledGroups());
307 318
308 one.Coalesce(two); 319 one.Coalesce(two);
309 320
310 EXPECT_EQ(expected_enabled_groups_two, one.GetEnabledGroups()); 321 EXPECT_EQ(expected_enabled_groups_two, one.GetEnabledGroups());
311 EXPECT_EQ(expected_enabled_groups_two, two.GetEnabledGroups()); 322 EXPECT_EQ(expected_enabled_groups_two, two.GetEnabledGroups());
(...skipping 18 matching lines...) Expand all
330 std::string()); 341 std::string());
331 syncable::ModelTypePayloadMap all_types = 342 syncable::ModelTypePayloadMap all_types =
332 syncable::ModelTypePayloadMapFromEnumSet( 343 syncable::ModelTypePayloadMapFromEnumSet(
333 ParamsMeaningAllEnabledTypes(), 344 ParamsMeaningAllEnabledTypes(),
334 std::string()); 345 std::string());
335 SyncSourceInfo source_one(sync_pb::GetUpdatesCallerInfo::PERIODIC, one_type); 346 SyncSourceInfo source_one(sync_pb::GetUpdatesCallerInfo::PERIODIC, one_type);
336 SyncSourceInfo source_two(sync_pb::GetUpdatesCallerInfo::LOCAL, all_types); 347 SyncSourceInfo source_two(sync_pb::GetUpdatesCallerInfo::LOCAL, all_types);
337 348
338 scoped_refptr<ModelSafeWorker> passive_worker( 349 scoped_refptr<ModelSafeWorker> passive_worker(
339 new FakeModelWorker(GROUP_PASSIVE)); 350 new FakeModelWorker(GROUP_PASSIVE));
351 scoped_refptr<ModelSafeWorker> control_worker(
352 new FakeModelWorker(GROUP_CONTROL));
340 scoped_refptr<ModelSafeWorker> db_worker(new FakeModelWorker(GROUP_DB)); 353 scoped_refptr<ModelSafeWorker> db_worker(new FakeModelWorker(GROUP_DB));
341 scoped_refptr<ModelSafeWorker> ui_worker(new FakeModelWorker(GROUP_UI)); 354 scoped_refptr<ModelSafeWorker> ui_worker(new FakeModelWorker(GROUP_UI));
342 workers_one.push_back(passive_worker); 355 workers_one.push_back(passive_worker);
356 workers_one.push_back(control_worker);
343 workers_one.push_back(db_worker); 357 workers_one.push_back(db_worker);
344 workers_two.push_back(passive_worker); 358 workers_two.push_back(passive_worker);
359 workers_two.push_back(control_worker);
345 workers_two.push_back(db_worker); 360 workers_two.push_back(db_worker);
346 workers_two.push_back(ui_worker); 361 workers_two.push_back(ui_worker);
347 routes_one[syncable::AUTOFILL] = GROUP_DB; 362 routes_one[syncable::AUTOFILL] = GROUP_DB;
348 routes_two[syncable::AUTOFILL] = GROUP_DB; 363 routes_two[syncable::AUTOFILL] = GROUP_DB;
349 routes_two[syncable::BOOKMARKS] = GROUP_UI; 364 routes_two[syncable::BOOKMARKS] = GROUP_UI;
350 SyncSession one(context_.get(), this, source_one, routes_one, workers_one); 365 SyncSession one(context_.get(), this, source_one, routes_one, workers_one);
351 SyncSession two(context_.get(), this, source_two, routes_two, workers_two); 366 SyncSession two(context_.get(), this, source_two, routes_two, workers_two);
352 367
353 std::set<ModelSafeGroup> expected_enabled_groups_one; 368 std::set<ModelSafeGroup> expected_enabled_groups_one;
354 expected_enabled_groups_one.insert(GROUP_PASSIVE); 369 expected_enabled_groups_one.insert(GROUP_PASSIVE);
370 expected_enabled_groups_one.insert(GROUP_CONTROL);
355 expected_enabled_groups_one.insert(GROUP_DB); 371 expected_enabled_groups_one.insert(GROUP_DB);
356 372
357 std::set<ModelSafeGroup> expected_enabled_groups_two; 373 std::set<ModelSafeGroup> expected_enabled_groups_two;
358 expected_enabled_groups_two.insert(GROUP_PASSIVE); 374 expected_enabled_groups_two.insert(GROUP_PASSIVE);
375 expected_enabled_groups_two.insert(GROUP_CONTROL);
359 expected_enabled_groups_two.insert(GROUP_DB); 376 expected_enabled_groups_two.insert(GROUP_DB);
360 expected_enabled_groups_two.insert(GROUP_UI); 377 expected_enabled_groups_two.insert(GROUP_UI);
361 378
362 EXPECT_EQ(expected_enabled_groups_one, one.GetEnabledGroups()); 379 EXPECT_EQ(expected_enabled_groups_one, one.GetEnabledGroups());
363 EXPECT_EQ(expected_enabled_groups_two, two.GetEnabledGroups()); 380 EXPECT_EQ(expected_enabled_groups_two, two.GetEnabledGroups());
364 381
365 two.RebaseRoutingInfoWithLatest(one); 382 two.RebaseRoutingInfoWithLatest(one);
366 383
367 EXPECT_EQ(expected_enabled_groups_one, one.GetEnabledGroups()); 384 EXPECT_EQ(expected_enabled_groups_one, one.GetEnabledGroups());
368 EXPECT_EQ(expected_enabled_groups_one, two.GetEnabledGroups()); 385 EXPECT_EQ(expected_enabled_groups_one, two.GetEnabledGroups());
369 386
370 // Make sure the source has not been touched. 387 // Make sure the source has not been touched.
371 EXPECT_EQ(two.source().updates_source, 388 EXPECT_EQ(two.source().updates_source,
372 sync_pb::GetUpdatesCallerInfo::LOCAL); 389 sync_pb::GetUpdatesCallerInfo::LOCAL);
373 390
374 // Make sure the payload is reduced to one. 391 // Make sure the payload is reduced to one.
375 EXPECT_EQ(one_type, two.source().types); 392 EXPECT_EQ(one_type, two.source().types);
376 393
377 // Make sure the workers are udpated. 394 // Make sure the workers are udpated.
378 std::vector<ModelSafeWorker*>::const_iterator it_db = 395 std::vector<ModelSafeWorker*>::const_iterator it_db =
379 std::find(two.workers().begin(), two.workers().end(), db_worker); 396 std::find(two.workers().begin(), two.workers().end(), db_worker);
380 std::vector<ModelSafeWorker*>::const_iterator it_ui = 397 std::vector<ModelSafeWorker*>::const_iterator it_ui =
381 std::find(two.workers().begin(), two.workers().end(), ui_worker); 398 std::find(two.workers().begin(), two.workers().end(), ui_worker);
382 EXPECT_NE(it_db, two.workers().end()); 399 EXPECT_NE(it_db, two.workers().end());
383 EXPECT_EQ(it_ui, two.workers().end()); 400 EXPECT_EQ(it_ui, two.workers().end());
384 EXPECT_EQ(two.workers().size(), 2U); 401 EXPECT_EQ(two.workers().size(), 3U);
385 402
386 // Make sure the model safe routing info is reduced to one type. 403 // Make sure the model safe routing info is reduced to one type.
387 ModelSafeRoutingInfo::const_iterator it = 404 ModelSafeRoutingInfo::const_iterator it =
388 two.routing_info().find(syncable::AUTOFILL); 405 two.routing_info().find(syncable::AUTOFILL);
389 // Note that attempting to use EXPECT_NE would fail for an Android build due 406 // Note that attempting to use EXPECT_NE would fail for an Android build due
390 // to seeming incompatibility with gtest and stlport. 407 // to seeming incompatibility with gtest and stlport.
391 EXPECT_TRUE(it != two.routing_info().end()); 408 EXPECT_TRUE(it != two.routing_info().end());
392 EXPECT_EQ(it->second, GROUP_DB); 409 EXPECT_EQ(it->second, GROUP_DB);
393 EXPECT_EQ(two.routing_info().size(), 1U); 410 EXPECT_EQ(two.routing_info().size(), 1U);
394 } 411 }
395 412
396 TEST_F(SyncSessionTest, RebaseRoutingInfoWithLatestWithSameType) { 413 TEST_F(SyncSessionTest, RebaseRoutingInfoWithLatestWithSameType) {
397 std::vector<ModelSafeWorker*> workers_first, workers_second; 414 std::vector<ModelSafeWorker*> workers_first, workers_second;
398 ModelSafeRoutingInfo routes_first, routes_second; 415 ModelSafeRoutingInfo routes_first, routes_second;
399 syncable::ModelTypePayloadMap all_types = 416 syncable::ModelTypePayloadMap all_types =
400 syncable::ModelTypePayloadMapFromEnumSet( 417 syncable::ModelTypePayloadMapFromEnumSet(
401 ParamsMeaningAllEnabledTypes(), 418 ParamsMeaningAllEnabledTypes(),
402 std::string()); 419 std::string());
403 SyncSourceInfo source_first(sync_pb::GetUpdatesCallerInfo::PERIODIC, 420 SyncSourceInfo source_first(sync_pb::GetUpdatesCallerInfo::PERIODIC,
404 all_types); 421 all_types);
405 SyncSourceInfo source_second(sync_pb::GetUpdatesCallerInfo::LOCAL, 422 SyncSourceInfo source_second(sync_pb::GetUpdatesCallerInfo::LOCAL,
406 all_types); 423 all_types);
407 424
408 scoped_refptr<ModelSafeWorker> passive_worker( 425 scoped_refptr<ModelSafeWorker> passive_worker(
409 new FakeModelWorker(GROUP_PASSIVE)); 426 new FakeModelWorker(GROUP_PASSIVE));
427 scoped_refptr<ModelSafeWorker> control_worker(
428 new FakeModelWorker(GROUP_CONTROL));
410 scoped_refptr<FakeModelWorker> db_worker(new FakeModelWorker(GROUP_DB)); 429 scoped_refptr<FakeModelWorker> db_worker(new FakeModelWorker(GROUP_DB));
411 scoped_refptr<FakeModelWorker> ui_worker(new FakeModelWorker(GROUP_UI)); 430 scoped_refptr<FakeModelWorker> ui_worker(new FakeModelWorker(GROUP_UI));
412 workers_first.push_back(passive_worker); 431 workers_first.push_back(passive_worker);
432 workers_first.push_back(control_worker);
413 workers_first.push_back(db_worker); 433 workers_first.push_back(db_worker);
414 workers_first.push_back(ui_worker); 434 workers_first.push_back(ui_worker);
415 workers_second.push_back(passive_worker); 435 workers_second.push_back(passive_worker);
436 workers_second.push_back(control_worker);
416 workers_second.push_back(db_worker); 437 workers_second.push_back(db_worker);
417 workers_second.push_back(ui_worker); 438 workers_second.push_back(ui_worker);
418 routes_first[syncable::AUTOFILL] = GROUP_DB; 439 routes_first[syncable::AUTOFILL] = GROUP_DB;
419 routes_first[syncable::BOOKMARKS] = GROUP_UI; 440 routes_first[syncable::BOOKMARKS] = GROUP_UI;
420 routes_second[syncable::AUTOFILL] = GROUP_DB; 441 routes_second[syncable::AUTOFILL] = GROUP_DB;
421 routes_second[syncable::BOOKMARKS] = GROUP_UI; 442 routes_second[syncable::BOOKMARKS] = GROUP_UI;
422 SyncSession first(context_.get(), this, source_first, routes_first, 443 SyncSession first(context_.get(), this, source_first, routes_first,
423 workers_first); 444 workers_first);
424 SyncSession second(context_.get(), this, source_second, routes_second, 445 SyncSession second(context_.get(), this, source_second, routes_second,
425 workers_second); 446 workers_second);
426 447
427 std::set<ModelSafeGroup> expected_enabled_groups; 448 std::set<ModelSafeGroup> expected_enabled_groups;
428 expected_enabled_groups.insert(GROUP_PASSIVE); 449 expected_enabled_groups.insert(GROUP_PASSIVE);
450 expected_enabled_groups.insert(GROUP_CONTROL);
429 expected_enabled_groups.insert(GROUP_DB); 451 expected_enabled_groups.insert(GROUP_DB);
430 expected_enabled_groups.insert(GROUP_UI); 452 expected_enabled_groups.insert(GROUP_UI);
431 453
432 EXPECT_EQ(expected_enabled_groups, first.GetEnabledGroups()); 454 EXPECT_EQ(expected_enabled_groups, first.GetEnabledGroups());
433 EXPECT_EQ(expected_enabled_groups, second.GetEnabledGroups()); 455 EXPECT_EQ(expected_enabled_groups, second.GetEnabledGroups());
434 456
435 second.RebaseRoutingInfoWithLatest(first); 457 second.RebaseRoutingInfoWithLatest(first);
436 458
437 EXPECT_EQ(expected_enabled_groups, first.GetEnabledGroups()); 459 EXPECT_EQ(expected_enabled_groups, first.GetEnabledGroups());
438 EXPECT_EQ(expected_enabled_groups, second.GetEnabledGroups()); 460 EXPECT_EQ(expected_enabled_groups, second.GetEnabledGroups());
439 461
440 // Make sure the source has not been touched. 462 // Make sure the source has not been touched.
441 EXPECT_EQ(second.source().updates_source, 463 EXPECT_EQ(second.source().updates_source,
442 sync_pb::GetUpdatesCallerInfo::LOCAL); 464 sync_pb::GetUpdatesCallerInfo::LOCAL);
443 465
444 // Make sure our payload is still the same. 466 // Make sure our payload is still the same.
445 EXPECT_EQ(all_types, second.source().types); 467 EXPECT_EQ(all_types, second.source().types);
446 468
447 // Make sure the workers are still the same. 469 // Make sure the workers are still the same.
448 std::vector<ModelSafeWorker*>::const_iterator it_passive = 470 std::vector<ModelSafeWorker*>::const_iterator it_passive =
449 std::find(second.workers().begin(), second.workers().end(), 471 std::find(second.workers().begin(), second.workers().end(),
450 passive_worker); 472 passive_worker);
451 std::vector<ModelSafeWorker*>::const_iterator it_db = 473 std::vector<ModelSafeWorker*>::const_iterator it_db =
452 std::find(second.workers().begin(), second.workers().end(), db_worker); 474 std::find(second.workers().begin(), second.workers().end(), db_worker);
453 std::vector<ModelSafeWorker*>::const_iterator it_ui = 475 std::vector<ModelSafeWorker*>::const_iterator it_ui =
454 std::find(second.workers().begin(), second.workers().end(), ui_worker); 476 std::find(second.workers().begin(), second.workers().end(), ui_worker);
455 EXPECT_NE(it_passive, second.workers().end()); 477 EXPECT_NE(it_passive, second.workers().end());
456 EXPECT_NE(it_db, second.workers().end()); 478 EXPECT_NE(it_db, second.workers().end());
457 EXPECT_NE(it_ui, second.workers().end()); 479 EXPECT_NE(it_ui, second.workers().end());
458 EXPECT_EQ(second.workers().size(), 3U); 480 EXPECT_EQ(second.workers().size(), 4U);
459 481
460 // Make sure the model safe routing info is reduced to first type. 482 // Make sure the model safe routing info is reduced to first type.
461 ModelSafeRoutingInfo::const_iterator it1 = 483 ModelSafeRoutingInfo::const_iterator it1 =
462 second.routing_info().find(syncable::AUTOFILL); 484 second.routing_info().find(syncable::AUTOFILL);
463 ModelSafeRoutingInfo::const_iterator it2 = 485 ModelSafeRoutingInfo::const_iterator it2 =
464 second.routing_info().find(syncable::BOOKMARKS); 486 second.routing_info().find(syncable::BOOKMARKS);
465 487
466 // Note that attempting to use EXPECT_NE would fail for an Android build due 488 // Note that attempting to use EXPECT_NE would fail for an Android build due
467 // to seeming incompatibility with gtest and stlport. 489 // to seeming incompatibility with gtest and stlport.
468 EXPECT_TRUE(it1 != second.routing_info().end()); 490 EXPECT_TRUE(it1 != second.routing_info().end());
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
531 EXPECT_EQ(empty_payload, original[syncable::BOOKMARKS]); 553 EXPECT_EQ(empty_payload, original[syncable::BOOKMARKS]);
532 EXPECT_EQ(payload1, original[syncable::PASSWORDS]); 554 EXPECT_EQ(payload1, original[syncable::PASSWORDS]);
533 EXPECT_EQ(payload1, original[syncable::AUTOFILL]); 555 EXPECT_EQ(payload1, original[syncable::AUTOFILL]);
534 EXPECT_EQ(payload2, original[syncable::SESSIONS]); 556 EXPECT_EQ(payload2, original[syncable::SESSIONS]);
535 EXPECT_EQ(payload3, original[syncable::THEMES]); 557 EXPECT_EQ(payload3, original[syncable::THEMES]);
536 } 558 }
537 559
538 } // namespace 560 } // namespace
539 } // namespace sessions 561 } // namespace sessions
540 } // namespace csync 562 } // namespace csync
OLDNEW
« no previous file with comments | « sync/sessions/sync_session.cc ('k') | sync/sync.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698