OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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 // Unit tests for the SyncApi. Note that a lot of the underlying | 5 // Unit tests for the SyncApi. Note that a lot of the underlying |
6 // functionality is provided by the Syncable layer, which has its own | 6 // functionality is provided by the Syncable layer, which has its own |
7 // unit tests. We'll test SyncApi specific things in this harness. | 7 // unit tests. We'll test SyncApi specific things in this harness. |
8 | 8 |
9 #include <cstddef> | 9 #include <cstddef> |
10 #include <map> | 10 #include <map> |
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
669 node.InitByIdLookup(parent)); | 669 node.InitByIdLookup(parent)); |
670 EXPECT_EQ(4, node.GetTotalNodeCount()); | 670 EXPECT_EQ(4, node.GetTotalNodeCount()); |
671 } | 671 } |
672 } | 672 } |
673 | 673 |
674 // Verify that Directory keeps track of which attachments are referenced by | 674 // Verify that Directory keeps track of which attachments are referenced by |
675 // which entries. | 675 // which entries. |
676 TEST_F(SyncApiTest, AttachmentLinking) { | 676 TEST_F(SyncApiTest, AttachmentLinking) { |
677 // Add an entry with an attachment. | 677 // Add an entry with an attachment. |
678 std::string tag1("some tag"); | 678 std::string tag1("some tag"); |
679 syncer::AttachmentId attachment_id(syncer::AttachmentId::Create()); | 679 syncer::AttachmentId attachment_id(syncer::AttachmentId::Create(0, 0)); |
680 sync_pb::AttachmentMetadata attachment_metadata; | 680 sync_pb::AttachmentMetadata attachment_metadata; |
681 sync_pb::AttachmentMetadataRecord* record = attachment_metadata.add_record(); | 681 sync_pb::AttachmentMetadataRecord* record = attachment_metadata.add_record(); |
682 *record->mutable_id() = attachment_id.GetProto(); | 682 *record->mutable_id() = attachment_id.GetProto(); |
683 ASSERT_FALSE(dir()->IsAttachmentLinked(attachment_id.GetProto())); | 683 ASSERT_FALSE(dir()->IsAttachmentLinked(attachment_id.GetProto())); |
684 CreateEntryWithAttachmentMetadata(PREFERENCES, tag1, attachment_metadata); | 684 CreateEntryWithAttachmentMetadata(PREFERENCES, tag1, attachment_metadata); |
685 | 685 |
686 // See that the directory knows it's linked. | 686 // See that the directory knows it's linked. |
687 ASSERT_TRUE(dir()->IsAttachmentLinked(attachment_id.GetProto())); | 687 ASSERT_TRUE(dir()->IsAttachmentLinked(attachment_id.GetProto())); |
688 | 688 |
689 // Add a second entry referencing the same attachment. | 689 // Add a second entry referencing the same attachment. |
(...skipping 2415 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3105 FindChangeInList(article_id, ChangeRecord::ACTION_ADD); | 3105 FindChangeInList(article_id, ChangeRecord::ACTION_ADD); |
3106 ClearChangeList(); | 3106 ClearChangeList(); |
3107 | 3107 |
3108 // Modify the article by adding one attachment. Don't touch anything else. | 3108 // Modify the article by adding one attachment. Don't touch anything else. |
3109 // See that a change is generated. | 3109 // See that a change is generated. |
3110 { | 3110 { |
3111 syncable::WriteTransaction trans( | 3111 syncable::WriteTransaction trans( |
3112 FROM_HERE, syncable::SYNCER, share()->directory.get()); | 3112 FROM_HERE, syncable::SYNCER, share()->directory.get()); |
3113 syncable::MutableEntry article(&trans, syncable::GET_BY_HANDLE, article_id); | 3113 syncable::MutableEntry article(&trans, syncable::GET_BY_HANDLE, article_id); |
3114 sync_pb::AttachmentMetadata metadata; | 3114 sync_pb::AttachmentMetadata metadata; |
3115 *metadata.add_record()->mutable_id() = CreateAttachmentIdProto(); | 3115 *metadata.add_record()->mutable_id() = CreateAttachmentIdProto(0, 0); |
3116 article.PutAttachmentMetadata(metadata); | 3116 article.PutAttachmentMetadata(metadata); |
3117 } | 3117 } |
3118 ASSERT_EQ(1UL, GetChangeListSize()); | 3118 ASSERT_EQ(1UL, GetChangeListSize()); |
3119 FindChangeInList(article_id, ChangeRecord::ACTION_UPDATE); | 3119 FindChangeInList(article_id, ChangeRecord::ACTION_UPDATE); |
3120 ClearChangeList(); | 3120 ClearChangeList(); |
3121 | 3121 |
3122 // Modify the article by replacing its attachment with a different one. See | 3122 // Modify the article by replacing its attachment with a different one. See |
3123 // that a change is generated. | 3123 // that a change is generated. |
3124 { | 3124 { |
3125 syncable::WriteTransaction trans( | 3125 syncable::WriteTransaction trans( |
3126 FROM_HERE, syncable::SYNCER, share()->directory.get()); | 3126 FROM_HERE, syncable::SYNCER, share()->directory.get()); |
3127 syncable::MutableEntry article(&trans, syncable::GET_BY_HANDLE, article_id); | 3127 syncable::MutableEntry article(&trans, syncable::GET_BY_HANDLE, article_id); |
3128 sync_pb::AttachmentMetadata metadata = article.GetAttachmentMetadata(); | 3128 sync_pb::AttachmentMetadata metadata = article.GetAttachmentMetadata(); |
3129 *metadata.add_record()->mutable_id() = CreateAttachmentIdProto(); | 3129 *metadata.add_record()->mutable_id() = CreateAttachmentIdProto(0, 0); |
3130 article.PutAttachmentMetadata(metadata); | 3130 article.PutAttachmentMetadata(metadata); |
3131 } | 3131 } |
3132 ASSERT_EQ(1UL, GetChangeListSize()); | 3132 ASSERT_EQ(1UL, GetChangeListSize()); |
3133 FindChangeInList(article_id, ChangeRecord::ACTION_UPDATE); | 3133 FindChangeInList(article_id, ChangeRecord::ACTION_UPDATE); |
3134 ClearChangeList(); | 3134 ClearChangeList(); |
3135 | 3135 |
3136 // Modify the article by replacing its attachment metadata with the same | 3136 // Modify the article by replacing its attachment metadata with the same |
3137 // attachment metadata. No change should be generated. | 3137 // attachment metadata. No change should be generated. |
3138 { | 3138 { |
3139 syncable::WriteTransaction trans( | 3139 syncable::WriteTransaction trans( |
(...skipping 24 matching lines...) Expand all Loading... |
3164 // SyncManagerInitInvalidStorageTest::GetFactory will return | 3164 // SyncManagerInitInvalidStorageTest::GetFactory will return |
3165 // DirectoryBackingStore that ensures that SyncManagerImpl::OpenDirectory fails. | 3165 // DirectoryBackingStore that ensures that SyncManagerImpl::OpenDirectory fails. |
3166 // SyncManagerImpl initialization is done in SyncManagerTest::SetUp. This test's | 3166 // SyncManagerImpl initialization is done in SyncManagerTest::SetUp. This test's |
3167 // task is to ensure that SyncManagerImpl reported initialization failure in | 3167 // task is to ensure that SyncManagerImpl reported initialization failure in |
3168 // OnInitializationComplete callback. | 3168 // OnInitializationComplete callback. |
3169 TEST_F(SyncManagerInitInvalidStorageTest, FailToOpenDatabase) { | 3169 TEST_F(SyncManagerInitInvalidStorageTest, FailToOpenDatabase) { |
3170 EXPECT_FALSE(initialization_succeeded_); | 3170 EXPECT_FALSE(initialization_succeeded_); |
3171 } | 3171 } |
3172 | 3172 |
3173 } // namespace syncer | 3173 } // namespace syncer |
OLD | NEW |