OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // Syncer unit tests. Unfortunately a lot of these tests | 5 // Syncer unit tests. Unfortunately a lot of these tests |
6 // are outdated and need to be reworked and updated. | 6 // are outdated and need to be reworked and updated. |
7 | 7 |
8 #include <algorithm> | 8 #include <algorithm> |
9 #include <limits> | 9 #include <limits> |
10 #include <list> | 10 #include <list> |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
362 for (size_t limit = expected_id_order.size() + 2; limit > 0; --limit) { | 362 for (size_t limit = expected_id_order.size() + 2; limit > 0; --limit) { |
363 StatusController* status = session_->status_controller(); | 363 StatusController* status = session_->status_controller(); |
364 WriteTransaction wtrans(FROM_HERE, UNITTEST, dir); | 364 WriteTransaction wtrans(FROM_HERE, UNITTEST, dir); |
365 ScopedSetSessionWriteTransaction set_trans(session_.get(), &wtrans); | 365 ScopedSetSessionWriteTransaction set_trans(session_.get(), &wtrans); |
366 status->set_unsynced_handles(unsynced_handle_view); | 366 status->set_unsynced_handles(unsynced_handle_view); |
367 | 367 |
368 ModelSafeRoutingInfo routes; | 368 ModelSafeRoutingInfo routes; |
369 GetModelSafeRoutingInfo(&routes); | 369 GetModelSafeRoutingInfo(&routes); |
370 GetCommitIdsCommand command(limit); | 370 GetCommitIdsCommand command(limit); |
371 command.BuildCommitIds(session_->status_controller()->unsynced_handles(), | 371 command.BuildCommitIds(session_->status_controller()->unsynced_handles(), |
372 session_->write_transaction(), routes); | 372 session_->write_transaction(), routes, syncable::ModelTypeSet()); |
373 vector<syncable::Id> output = | 373 vector<syncable::Id> output = |
374 command.ordered_commit_set_->GetAllCommitIds(); | 374 command.ordered_commit_set_->GetAllCommitIds(); |
375 size_t truncated_size = std::min(limit, expected_id_order.size()); | 375 size_t truncated_size = std::min(limit, expected_id_order.size()); |
376 ASSERT_TRUE(truncated_size == output.size()); | 376 ASSERT_TRUE(truncated_size == output.size()); |
377 for (size_t i = 0; i < truncated_size; ++i) { | 377 for (size_t i = 0; i < truncated_size; ++i) { |
378 ASSERT_TRUE(expected_id_order[i] == output[i]) | 378 ASSERT_TRUE(expected_id_order[i] == output[i]) |
379 << "At index " << i << " with batch size limited to " << limit; | 379 << "At index " << i << " with batch size limited to " << limit; |
380 } | 380 } |
381 sessions::OrderedCommitSet::Projection proj; | 381 sessions::OrderedCommitSet::Projection proj; |
382 proj = command.ordered_commit_set_->GetCommitIdProjection(GROUP_PASSIVE); | 382 proj = command.ordered_commit_set_->GetCommitIdProjection(GROUP_PASSIVE); |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
547 vector<syncable::Id> expected_order; | 547 vector<syncable::Id> expected_order; |
548 // The expected order is "x", "b", "c", "e", truncated appropriately. | 548 // The expected order is "x", "b", "c", "e", truncated appropriately. |
549 unsynced_handle_view.push_back(handle_e); | 549 unsynced_handle_view.push_back(handle_e); |
550 expected_order.push_back(ids_.MakeLocal("x")); | 550 expected_order.push_back(ids_.MakeLocal("x")); |
551 expected_order.push_back(ids_.MakeLocal("b")); | 551 expected_order.push_back(ids_.MakeLocal("b")); |
552 expected_order.push_back(ids_.MakeLocal("c")); | 552 expected_order.push_back(ids_.MakeLocal("c")); |
553 expected_order.push_back(ids_.MakeLocal("e")); | 553 expected_order.push_back(ids_.MakeLocal("e")); |
554 DoTruncationTest(dir, unsynced_handle_view, expected_order); | 554 DoTruncationTest(dir, unsynced_handle_view, expected_order); |
555 } | 555 } |
556 | 556 |
557 TEST_F(SyncerTest, GetCommitIdsFiltersThrottledEntries) { | |
558 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name()); | |
559 ASSERT_TRUE(dir.good()); | |
560 syncable::ModelTypeSet throttled_types; | |
561 throttled_types.insert(syncable::BOOKMARKS); | |
562 KeyParams key_params = {"localhost", "dummy", "foobar"}; | |
563 sync_pb::EntitySpecifics bookmark_data; | |
564 AddDefaultExtensionValue(syncable::BOOKMARKS, &bookmark_data); | |
565 | |
566 mock_server_->AddUpdateDirectory(1, 0, "A", 10, 10); | |
567 SyncShareAsDelegate(); | |
568 | |
569 { | |
570 WriteTransaction wtrans(FROM_HERE, UNITTEST, dir); | |
571 MutableEntry A(&wtrans, GET_BY_ID, ids_.FromNumber(1)); | |
572 ASSERT_TRUE(A.good()); | |
573 A.Put(IS_UNSYNCED, true); | |
574 A.Put(SPECIFICS, bookmark_data); | |
575 A.Put(NON_UNIQUE_NAME, "bookmark"); | |
576 } | |
577 | |
578 // Now set the throttled types. | |
579 context_->SetUnthrottleTime(throttled_types, | |
akalin
2011/11/23 03:44:33
newline before throttled_types
| |
580 base::TimeTicks::Now() + base::TimeDelta::FromSeconds(1200)); | |
581 SyncShareAsDelegate(); | |
582 | |
583 { | |
584 // Nothing should have been committed as bookmarks is throttled. | |
585 ReadTransaction rtrans(FROM_HERE, dir); | |
586 Entry entryA(&rtrans, syncable::GET_BY_ID, ids_.FromNumber(1)); | |
587 ASSERT_TRUE(entryA.good()); | |
588 EXPECT_TRUE(entryA.Get(IS_UNSYNCED)); | |
589 } | |
590 | |
591 // Now unthrottle. | |
592 context_->SetUnthrottleTime(throttled_types, | |
akalin
2011/11/23 03:44:33
here too
| |
593 base::TimeTicks::Now() - base::TimeDelta::FromSeconds(1200)); | |
594 SyncShareAsDelegate(); | |
595 { | |
596 // It should have been committed. | |
597 ReadTransaction rtrans(FROM_HERE, dir); | |
598 Entry entryA(&rtrans, syncable::GET_BY_ID, ids_.FromNumber(1)); | |
599 ASSERT_TRUE(entryA.good()); | |
600 EXPECT_FALSE(entryA.Get(IS_UNSYNCED)); | |
601 } | |
602 } | |
603 | |
557 TEST_F(SyncerTest, GetCommitIdsFiltersUnreadyEntries) { | 604 TEST_F(SyncerTest, GetCommitIdsFiltersUnreadyEntries) { |
558 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name()); | 605 ScopedDirLookup dir(syncdb_.manager(), syncdb_.name()); |
559 ASSERT_TRUE(dir.good()); | 606 ASSERT_TRUE(dir.good()); |
560 KeyParams key_params = {"localhost", "dummy", "foobar"}; | 607 KeyParams key_params = {"localhost", "dummy", "foobar"}; |
561 sync_pb::EncryptedData encrypted; | 608 sync_pb::EncryptedData encrypted; |
562 sync_pb::EntitySpecifics encrypted_bookmark; | 609 sync_pb::EntitySpecifics encrypted_bookmark; |
563 encrypted_bookmark.mutable_encrypted(); | 610 encrypted_bookmark.mutable_encrypted(); |
564 AddDefaultExtensionValue(syncable::BOOKMARKS, &encrypted_bookmark); | 611 AddDefaultExtensionValue(syncable::BOOKMARKS, &encrypted_bookmark); |
565 mock_server_->AddUpdateDirectory(1, 0, "A", 10, 10); | 612 mock_server_->AddUpdateDirectory(1, 0, "A", 10, 10); |
566 mock_server_->AddUpdateDirectory(2, 0, "B", 10, 10); | 613 mock_server_->AddUpdateDirectory(2, 0, "B", 10, 10); |
(...skipping 4734 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5301 Add(low_id_); | 5348 Add(low_id_); |
5302 Add(high_id_); | 5349 Add(high_id_); |
5303 SyncShareAsDelegate(); | 5350 SyncShareAsDelegate(); |
5304 ExpectLocalOrderIsByServerId(); | 5351 ExpectLocalOrderIsByServerId(); |
5305 } | 5352 } |
5306 | 5353 |
5307 const SyncerTest::CommitOrderingTest | 5354 const SyncerTest::CommitOrderingTest |
5308 SyncerTest::CommitOrderingTest::LAST_COMMIT_ITEM = {-1, TestIdFactory::root()}; | 5355 SyncerTest::CommitOrderingTest::LAST_COMMIT_ITEM = {-1, TestIdFactory::root()}; |
5309 | 5356 |
5310 } // namespace browser_sync | 5357 } // namespace browser_sync |
OLD | NEW |