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

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

Issue 10825137: FYI: Control Data + Per-Device Metadata (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add PER_USER_METADATA, refactor some encryption code Created 8 years, 4 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
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 28 matching lines...) Expand all
39 return new SyncSession(context_.get(), this, SyncSourceInfo(), 39 return new SyncSession(context_.get(), this, SyncSourceInfo(),
40 routes_, workers); 40 routes_, workers);
41 } 41 }
42 42
43 virtual void SetUp() { 43 virtual void SetUp() {
44 routes_.clear(); 44 routes_.clear();
45 routes_[BOOKMARKS] = GROUP_UI; 45 routes_[BOOKMARKS] = GROUP_UI;
46 routes_[AUTOFILL] = GROUP_DB; 46 routes_[AUTOFILL] = GROUP_DB;
47 scoped_refptr<ModelSafeWorker> passive_worker( 47 scoped_refptr<ModelSafeWorker> passive_worker(
48 new FakeModelWorker(GROUP_PASSIVE)); 48 new FakeModelWorker(GROUP_PASSIVE));
49 scoped_refptr<ModelSafeWorker> control_worker(
50 new FakeModelWorker(GROUP_CONTROL));
49 scoped_refptr<ModelSafeWorker> ui_worker( 51 scoped_refptr<ModelSafeWorker> ui_worker(
50 new FakeModelWorker(GROUP_UI)); 52 new FakeModelWorker(GROUP_UI));
51 scoped_refptr<ModelSafeWorker> db_worker( 53 scoped_refptr<ModelSafeWorker> db_worker(
52 new FakeModelWorker(GROUP_DB)); 54 new FakeModelWorker(GROUP_DB));
53 workers_.clear(); 55 workers_.clear();
56 workers_.push_back(control_worker);
54 workers_.push_back(passive_worker); 57 workers_.push_back(passive_worker);
55 workers_.push_back(ui_worker); 58 workers_.push_back(ui_worker);
56 workers_.push_back(db_worker); 59 workers_.push_back(db_worker);
57 60
58 std::vector<ModelSafeWorker*> workers; 61 std::vector<ModelSafeWorker*> workers;
59 GetWorkers(&workers); 62 GetWorkers(&workers);
60 63
61 context_.reset( 64 context_.reset(
62 new SyncSessionContext( 65 new SyncSessionContext(
63 NULL, 66 NULL,
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 FakeExtensionsActivityMonitor extensions_activity_monitor_; 145 FakeExtensionsActivityMonitor extensions_activity_monitor_;
143 scoped_ptr<ThrottledDataTypeTracker> throttled_data_type_tracker_; 146 scoped_ptr<ThrottledDataTypeTracker> throttled_data_type_tracker_;
144 }; 147 };
145 148
146 TEST_F(SyncSessionTest, EnabledGroupsEmpty) { 149 TEST_F(SyncSessionTest, EnabledGroupsEmpty) {
147 routes_.clear(); 150 routes_.clear();
148 workers_.clear(); 151 workers_.clear();
149 scoped_ptr<SyncSession> session(MakeSession()); 152 scoped_ptr<SyncSession> session(MakeSession());
150 std::set<ModelSafeGroup> expected_enabled_groups; 153 std::set<ModelSafeGroup> expected_enabled_groups;
151 expected_enabled_groups.insert(GROUP_PASSIVE); 154 expected_enabled_groups.insert(GROUP_PASSIVE);
155 expected_enabled_groups.insert(GROUP_CONTROL);
152 EXPECT_EQ(expected_enabled_groups, session->GetEnabledGroups()); 156 EXPECT_EQ(expected_enabled_groups, session->GetEnabledGroups());
153 } 157 }
154 158
155 TEST_F(SyncSessionTest, EnabledGroups) { 159 TEST_F(SyncSessionTest, EnabledGroups) {
156 scoped_ptr<SyncSession> session(MakeSession()); 160 scoped_ptr<SyncSession> session(MakeSession());
157 std::set<ModelSafeGroup> expected_enabled_groups; 161 std::set<ModelSafeGroup> expected_enabled_groups;
158 expected_enabled_groups.insert(GROUP_PASSIVE); 162 expected_enabled_groups.insert(GROUP_PASSIVE);
163 expected_enabled_groups.insert(GROUP_CONTROL);
159 expected_enabled_groups.insert(GROUP_UI); 164 expected_enabled_groups.insert(GROUP_UI);
160 expected_enabled_groups.insert(GROUP_DB); 165 expected_enabled_groups.insert(GROUP_DB);
161 EXPECT_EQ(expected_enabled_groups, session->GetEnabledGroups()); 166 EXPECT_EQ(expected_enabled_groups, session->GetEnabledGroups());
162 } 167 }
163 168
164 TEST_F(SyncSessionTest, EnabledGroupsWithConflictsEmpty) { 169 TEST_F(SyncSessionTest, EnabledGroupsWithConflictsEmpty) {
165 scoped_ptr<SyncSession> session(MakeSession()); 170 scoped_ptr<SyncSession> session(MakeSession());
166 // Auto-create conflict progress. This shouldn't put that group in 171 // Auto-create conflict progress. This shouldn't put that group in
167 // conflict. 172 // conflict.
168 session->mutable_status_controller()-> 173 session->mutable_status_controller()->
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 std::string()); 283 std::string());
279 ModelTypePayloadMap all_types = 284 ModelTypePayloadMap all_types =
280 ModelTypePayloadMapFromEnumSet( 285 ModelTypePayloadMapFromEnumSet(
281 ParamsMeaningAllEnabledTypes(), 286 ParamsMeaningAllEnabledTypes(),
282 std::string()); 287 std::string());
283 SyncSourceInfo source_one(sync_pb::GetUpdatesCallerInfo::PERIODIC, one_type); 288 SyncSourceInfo source_one(sync_pb::GetUpdatesCallerInfo::PERIODIC, one_type);
284 SyncSourceInfo source_two(sync_pb::GetUpdatesCallerInfo::LOCAL, all_types); 289 SyncSourceInfo source_two(sync_pb::GetUpdatesCallerInfo::LOCAL, all_types);
285 290
286 scoped_refptr<ModelSafeWorker> passive_worker( 291 scoped_refptr<ModelSafeWorker> passive_worker(
287 new FakeModelWorker(GROUP_PASSIVE)); 292 new FakeModelWorker(GROUP_PASSIVE));
293 scoped_refptr<ModelSafeWorker> control_worker(
294 new FakeModelWorker(GROUP_CONTROL));
288 scoped_refptr<ModelSafeWorker> db_worker(new FakeModelWorker(GROUP_DB)); 295 scoped_refptr<ModelSafeWorker> db_worker(new FakeModelWorker(GROUP_DB));
289 scoped_refptr<ModelSafeWorker> ui_worker(new FakeModelWorker(GROUP_UI)); 296 scoped_refptr<ModelSafeWorker> ui_worker(new FakeModelWorker(GROUP_UI));
290 workers_one.push_back(passive_worker); 297 workers_one.push_back(passive_worker);
298 workers_one.push_back(control_worker);
291 workers_one.push_back(db_worker); 299 workers_one.push_back(db_worker);
292 workers_two.push_back(passive_worker); 300 workers_two.push_back(passive_worker);
301 workers_two.push_back(control_worker);
293 workers_two.push_back(db_worker); 302 workers_two.push_back(db_worker);
294 workers_two.push_back(ui_worker); 303 workers_two.push_back(ui_worker);
295 routes_one[AUTOFILL] = GROUP_DB; 304 routes_one[AUTOFILL] = GROUP_DB;
296 routes_two[AUTOFILL] = GROUP_DB; 305 routes_two[AUTOFILL] = GROUP_DB;
297 routes_two[BOOKMARKS] = GROUP_UI; 306 routes_two[BOOKMARKS] = GROUP_UI;
298 SyncSession one(context_.get(), this, source_one, routes_one, workers_one); 307 SyncSession one(context_.get(), this, source_one, routes_one, workers_one);
299 SyncSession two(context_.get(), this, source_two, routes_two, workers_two); 308 SyncSession two(context_.get(), this, source_two, routes_two, workers_two);
300 309
301 std::set<ModelSafeGroup> expected_enabled_groups_one; 310 std::set<ModelSafeGroup> expected_enabled_groups_one;
302 expected_enabled_groups_one.insert(GROUP_PASSIVE); 311 expected_enabled_groups_one.insert(GROUP_PASSIVE);
312 expected_enabled_groups_one.insert(GROUP_CONTROL);
303 expected_enabled_groups_one.insert(GROUP_DB); 313 expected_enabled_groups_one.insert(GROUP_DB);
304 314
305 std::set<ModelSafeGroup> expected_enabled_groups_two; 315 std::set<ModelSafeGroup> expected_enabled_groups_two;
306 expected_enabled_groups_two.insert(GROUP_PASSIVE); 316 expected_enabled_groups_two.insert(GROUP_PASSIVE);
317 expected_enabled_groups_two.insert(GROUP_CONTROL);
307 expected_enabled_groups_two.insert(GROUP_DB); 318 expected_enabled_groups_two.insert(GROUP_DB);
308 expected_enabled_groups_two.insert(GROUP_UI); 319 expected_enabled_groups_two.insert(GROUP_UI);
309 320
310 EXPECT_EQ(expected_enabled_groups_one, one.GetEnabledGroups()); 321 EXPECT_EQ(expected_enabled_groups_one, one.GetEnabledGroups());
311 EXPECT_EQ(expected_enabled_groups_two, two.GetEnabledGroups()); 322 EXPECT_EQ(expected_enabled_groups_two, two.GetEnabledGroups());
312 323
313 one.Coalesce(two); 324 one.Coalesce(two);
314 325
315 EXPECT_EQ(expected_enabled_groups_two, one.GetEnabledGroups()); 326 EXPECT_EQ(expected_enabled_groups_two, one.GetEnabledGroups());
316 EXPECT_EQ(expected_enabled_groups_two, two.GetEnabledGroups()); 327 EXPECT_EQ(expected_enabled_groups_two, two.GetEnabledGroups());
(...skipping 18 matching lines...) Expand all
335 std::string()); 346 std::string());
336 ModelTypePayloadMap all_types = 347 ModelTypePayloadMap all_types =
337 ModelTypePayloadMapFromEnumSet( 348 ModelTypePayloadMapFromEnumSet(
338 ParamsMeaningAllEnabledTypes(), 349 ParamsMeaningAllEnabledTypes(),
339 std::string()); 350 std::string());
340 SyncSourceInfo source_one(sync_pb::GetUpdatesCallerInfo::PERIODIC, one_type); 351 SyncSourceInfo source_one(sync_pb::GetUpdatesCallerInfo::PERIODIC, one_type);
341 SyncSourceInfo source_two(sync_pb::GetUpdatesCallerInfo::LOCAL, all_types); 352 SyncSourceInfo source_two(sync_pb::GetUpdatesCallerInfo::LOCAL, all_types);
342 353
343 scoped_refptr<ModelSafeWorker> passive_worker( 354 scoped_refptr<ModelSafeWorker> passive_worker(
344 new FakeModelWorker(GROUP_PASSIVE)); 355 new FakeModelWorker(GROUP_PASSIVE));
356 scoped_refptr<ModelSafeWorker> control_worker(
357 new FakeModelWorker(GROUP_CONTROL));
345 scoped_refptr<ModelSafeWorker> db_worker(new FakeModelWorker(GROUP_DB)); 358 scoped_refptr<ModelSafeWorker> db_worker(new FakeModelWorker(GROUP_DB));
346 scoped_refptr<ModelSafeWorker> ui_worker(new FakeModelWorker(GROUP_UI)); 359 scoped_refptr<ModelSafeWorker> ui_worker(new FakeModelWorker(GROUP_UI));
347 workers_one.push_back(passive_worker); 360 workers_one.push_back(passive_worker);
361 workers_one.push_back(control_worker);
348 workers_one.push_back(db_worker); 362 workers_one.push_back(db_worker);
349 workers_two.push_back(passive_worker); 363 workers_two.push_back(passive_worker);
364 workers_two.push_back(control_worker);
350 workers_two.push_back(db_worker); 365 workers_two.push_back(db_worker);
351 workers_two.push_back(ui_worker); 366 workers_two.push_back(ui_worker);
352 routes_one[AUTOFILL] = GROUP_DB; 367 routes_one[AUTOFILL] = GROUP_DB;
353 routes_two[AUTOFILL] = GROUP_DB; 368 routes_two[AUTOFILL] = GROUP_DB;
354 routes_two[BOOKMARKS] = GROUP_UI; 369 routes_two[BOOKMARKS] = GROUP_UI;
355 SyncSession one(context_.get(), this, source_one, routes_one, workers_one); 370 SyncSession one(context_.get(), this, source_one, routes_one, workers_one);
356 SyncSession two(context_.get(), this, source_two, routes_two, workers_two); 371 SyncSession two(context_.get(), this, source_two, routes_two, workers_two);
357 372
358 std::set<ModelSafeGroup> expected_enabled_groups_one; 373 std::set<ModelSafeGroup> expected_enabled_groups_one;
359 expected_enabled_groups_one.insert(GROUP_PASSIVE); 374 expected_enabled_groups_one.insert(GROUP_PASSIVE);
375 expected_enabled_groups_one.insert(GROUP_CONTROL);
360 expected_enabled_groups_one.insert(GROUP_DB); 376 expected_enabled_groups_one.insert(GROUP_DB);
361 377
362 std::set<ModelSafeGroup> expected_enabled_groups_two; 378 std::set<ModelSafeGroup> expected_enabled_groups_two;
363 expected_enabled_groups_two.insert(GROUP_PASSIVE); 379 expected_enabled_groups_two.insert(GROUP_PASSIVE);
380 expected_enabled_groups_two.insert(GROUP_CONTROL);
364 expected_enabled_groups_two.insert(GROUP_DB); 381 expected_enabled_groups_two.insert(GROUP_DB);
365 expected_enabled_groups_two.insert(GROUP_UI); 382 expected_enabled_groups_two.insert(GROUP_UI);
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_two, two.GetEnabledGroups()); 385 EXPECT_EQ(expected_enabled_groups_two, two.GetEnabledGroups());
369 386
370 two.RebaseRoutingInfoWithLatest(one); 387 two.RebaseRoutingInfoWithLatest(one);
371 388
372 EXPECT_EQ(expected_enabled_groups_one, one.GetEnabledGroups()); 389 EXPECT_EQ(expected_enabled_groups_one, one.GetEnabledGroups());
373 EXPECT_EQ(expected_enabled_groups_one, two.GetEnabledGroups()); 390 EXPECT_EQ(expected_enabled_groups_one, two.GetEnabledGroups());
374 391
375 // Make sure the source has not been touched. 392 // Make sure the source has not been touched.
376 EXPECT_EQ(two.source().updates_source, 393 EXPECT_EQ(two.source().updates_source,
377 sync_pb::GetUpdatesCallerInfo::LOCAL); 394 sync_pb::GetUpdatesCallerInfo::LOCAL);
378 395
379 // Make sure the payload is reduced to one. 396 // Make sure the payload is reduced to one.
380 EXPECT_EQ(one_type, two.source().types); 397 EXPECT_EQ(one_type, two.source().types);
381 398
382 // Make sure the workers are udpated. 399 // Make sure the workers are udpated.
383 std::vector<ModelSafeWorker*>::const_iterator it_db = 400 std::vector<ModelSafeWorker*>::const_iterator it_db =
384 std::find(two.workers().begin(), two.workers().end(), db_worker); 401 std::find(two.workers().begin(), two.workers().end(), db_worker);
385 std::vector<ModelSafeWorker*>::const_iterator it_ui = 402 std::vector<ModelSafeWorker*>::const_iterator it_ui =
386 std::find(two.workers().begin(), two.workers().end(), ui_worker); 403 std::find(two.workers().begin(), two.workers().end(), ui_worker);
387 EXPECT_NE(it_db, two.workers().end()); 404 EXPECT_NE(it_db, two.workers().end());
388 EXPECT_EQ(it_ui, two.workers().end()); 405 EXPECT_EQ(it_ui, two.workers().end());
389 EXPECT_EQ(two.workers().size(), 2U); 406 EXPECT_EQ(two.workers().size(), 3U);
390 407
391 // Make sure the model safe routing info is reduced to one type. 408 // Make sure the model safe routing info is reduced to one type.
392 ModelSafeRoutingInfo::const_iterator it = 409 ModelSafeRoutingInfo::const_iterator it =
393 two.routing_info().find(AUTOFILL); 410 two.routing_info().find(AUTOFILL);
394 // Note that attempting to use EXPECT_NE would fail for an Android build due 411 // Note that attempting to use EXPECT_NE would fail for an Android build due
395 // to seeming incompatibility with gtest and stlport. 412 // to seeming incompatibility with gtest and stlport.
396 EXPECT_TRUE(it != two.routing_info().end()); 413 EXPECT_TRUE(it != two.routing_info().end());
397 EXPECT_EQ(it->second, GROUP_DB); 414 EXPECT_EQ(it->second, GROUP_DB);
398 EXPECT_EQ(two.routing_info().size(), 1U); 415 EXPECT_EQ(two.routing_info().size(), 1U);
399 } 416 }
400 417
401 TEST_F(SyncSessionTest, RebaseRoutingInfoWithLatestWithSameType) { 418 TEST_F(SyncSessionTest, RebaseRoutingInfoWithLatestWithSameType) {
402 std::vector<ModelSafeWorker*> workers_first, workers_second; 419 std::vector<ModelSafeWorker*> workers_first, workers_second;
403 ModelSafeRoutingInfo routes_first, routes_second; 420 ModelSafeRoutingInfo routes_first, routes_second;
404 ModelTypePayloadMap all_types = 421 ModelTypePayloadMap all_types =
405 ModelTypePayloadMapFromEnumSet( 422 ModelTypePayloadMapFromEnumSet(
406 ParamsMeaningAllEnabledTypes(), 423 ParamsMeaningAllEnabledTypes(),
407 std::string()); 424 std::string());
408 SyncSourceInfo source_first(sync_pb::GetUpdatesCallerInfo::PERIODIC, 425 SyncSourceInfo source_first(sync_pb::GetUpdatesCallerInfo::PERIODIC,
409 all_types); 426 all_types);
410 SyncSourceInfo source_second(sync_pb::GetUpdatesCallerInfo::LOCAL, 427 SyncSourceInfo source_second(sync_pb::GetUpdatesCallerInfo::LOCAL,
411 all_types); 428 all_types);
412 429
413 scoped_refptr<ModelSafeWorker> passive_worker( 430 scoped_refptr<ModelSafeWorker> passive_worker(
414 new FakeModelWorker(GROUP_PASSIVE)); 431 new FakeModelWorker(GROUP_PASSIVE));
432 scoped_refptr<ModelSafeWorker> control_worker(
433 new FakeModelWorker(GROUP_CONTROL));
415 scoped_refptr<FakeModelWorker> db_worker(new FakeModelWorker(GROUP_DB)); 434 scoped_refptr<FakeModelWorker> db_worker(new FakeModelWorker(GROUP_DB));
416 scoped_refptr<FakeModelWorker> ui_worker(new FakeModelWorker(GROUP_UI)); 435 scoped_refptr<FakeModelWorker> ui_worker(new FakeModelWorker(GROUP_UI));
417 workers_first.push_back(passive_worker); 436 workers_first.push_back(passive_worker);
437 workers_first.push_back(control_worker);
418 workers_first.push_back(db_worker); 438 workers_first.push_back(db_worker);
419 workers_first.push_back(ui_worker); 439 workers_first.push_back(ui_worker);
420 workers_second.push_back(passive_worker); 440 workers_second.push_back(passive_worker);
441 workers_second.push_back(control_worker);
421 workers_second.push_back(db_worker); 442 workers_second.push_back(db_worker);
422 workers_second.push_back(ui_worker); 443 workers_second.push_back(ui_worker);
423 routes_first[AUTOFILL] = GROUP_DB; 444 routes_first[AUTOFILL] = GROUP_DB;
424 routes_first[BOOKMARKS] = GROUP_UI; 445 routes_first[BOOKMARKS] = GROUP_UI;
425 routes_second[AUTOFILL] = GROUP_DB; 446 routes_second[AUTOFILL] = GROUP_DB;
426 routes_second[BOOKMARKS] = GROUP_UI; 447 routes_second[BOOKMARKS] = GROUP_UI;
427 SyncSession first(context_.get(), this, source_first, routes_first, 448 SyncSession first(context_.get(), this, source_first, routes_first,
428 workers_first); 449 workers_first);
429 SyncSession second(context_.get(), this, source_second, routes_second, 450 SyncSession second(context_.get(), this, source_second, routes_second,
430 workers_second); 451 workers_second);
431 452
432 std::set<ModelSafeGroup> expected_enabled_groups; 453 std::set<ModelSafeGroup> expected_enabled_groups;
433 expected_enabled_groups.insert(GROUP_PASSIVE); 454 expected_enabled_groups.insert(GROUP_PASSIVE);
455 expected_enabled_groups.insert(GROUP_CONTROL);
434 expected_enabled_groups.insert(GROUP_DB); 456 expected_enabled_groups.insert(GROUP_DB);
435 expected_enabled_groups.insert(GROUP_UI); 457 expected_enabled_groups.insert(GROUP_UI);
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 second.RebaseRoutingInfoWithLatest(first); 462 second.RebaseRoutingInfoWithLatest(first);
441 463
442 EXPECT_EQ(expected_enabled_groups, first.GetEnabledGroups()); 464 EXPECT_EQ(expected_enabled_groups, first.GetEnabledGroups());
443 EXPECT_EQ(expected_enabled_groups, second.GetEnabledGroups()); 465 EXPECT_EQ(expected_enabled_groups, second.GetEnabledGroups());
444 466
445 // Make sure the source has not been touched. 467 // Make sure the source has not been touched.
446 EXPECT_EQ(second.source().updates_source, 468 EXPECT_EQ(second.source().updates_source,
447 sync_pb::GetUpdatesCallerInfo::LOCAL); 469 sync_pb::GetUpdatesCallerInfo::LOCAL);
448 470
449 // Make sure our payload is still the same. 471 // Make sure our payload is still the same.
450 EXPECT_EQ(all_types, second.source().types); 472 EXPECT_EQ(all_types, second.source().types);
451 473
452 // Make sure the workers are still the same. 474 // Make sure the workers are still the same.
453 std::vector<ModelSafeWorker*>::const_iterator it_passive = 475 std::vector<ModelSafeWorker*>::const_iterator it_passive =
454 std::find(second.workers().begin(), second.workers().end(), 476 std::find(second.workers().begin(), second.workers().end(),
455 passive_worker); 477 passive_worker);
456 std::vector<ModelSafeWorker*>::const_iterator it_db = 478 std::vector<ModelSafeWorker*>::const_iterator it_db =
457 std::find(second.workers().begin(), second.workers().end(), db_worker); 479 std::find(second.workers().begin(), second.workers().end(), db_worker);
458 std::vector<ModelSafeWorker*>::const_iterator it_ui = 480 std::vector<ModelSafeWorker*>::const_iterator it_ui =
459 std::find(second.workers().begin(), second.workers().end(), ui_worker); 481 std::find(second.workers().begin(), second.workers().end(), ui_worker);
460 EXPECT_NE(it_passive, second.workers().end()); 482 EXPECT_NE(it_passive, second.workers().end());
461 EXPECT_NE(it_db, second.workers().end()); 483 EXPECT_NE(it_db, second.workers().end());
462 EXPECT_NE(it_ui, second.workers().end()); 484 EXPECT_NE(it_ui, second.workers().end());
463 EXPECT_EQ(second.workers().size(), 3U); 485 EXPECT_EQ(second.workers().size(), 4U);
464 486
465 // Make sure the model safe routing info is reduced to first type. 487 // Make sure the model safe routing info is reduced to first type.
466 ModelSafeRoutingInfo::const_iterator it1 = 488 ModelSafeRoutingInfo::const_iterator it1 =
467 second.routing_info().find(AUTOFILL); 489 second.routing_info().find(AUTOFILL);
468 ModelSafeRoutingInfo::const_iterator it2 = 490 ModelSafeRoutingInfo::const_iterator it2 =
469 second.routing_info().find(BOOKMARKS); 491 second.routing_info().find(BOOKMARKS);
470 492
471 // Note that attempting to use EXPECT_NE would fail for an Android build due 493 // Note that attempting to use EXPECT_NE would fail for an Android build due
472 // to seeming incompatibility with gtest and stlport. 494 // to seeming incompatibility with gtest and stlport.
473 EXPECT_TRUE(it1 != second.routing_info().end()); 495 EXPECT_TRUE(it1 != second.routing_info().end());
(...skipping 22 matching lines...) Expand all
496 518
497 ASSERT_EQ(3U, types_with_payloads.size()); 519 ASSERT_EQ(3U, types_with_payloads.size());
498 EXPECT_EQ(types_with_payloads[BOOKMARKS], payload); 520 EXPECT_EQ(types_with_payloads[BOOKMARKS], payload);
499 EXPECT_EQ(types_with_payloads[PASSWORDS], payload); 521 EXPECT_EQ(types_with_payloads[PASSWORDS], payload);
500 EXPECT_EQ(types_with_payloads[AUTOFILL], payload); 522 EXPECT_EQ(types_with_payloads[AUTOFILL], payload);
501 } 523 }
502 524
503 } // namespace 525 } // namespace
504 } // namespace sessions 526 } // namespace sessions
505 } // namespace syncer 527 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698