| Index: sync/syncable/directory_unittest.cc
|
| diff --git a/sync/syncable/directory_unittest.cc b/sync/syncable/directory_unittest.cc
|
| index f58f54f9b9ba09ed0b57cab55d0b2612c3449f81..b2bff36aa56131e62f75b098876ee1d6d69fbb92 100644
|
| --- a/sync/syncable/directory_unittest.cc
|
| +++ b/sync/syncable/directory_unittest.cc
|
| @@ -6,7 +6,6 @@
|
|
|
| #include "base/strings/stringprintf.h"
|
| #include "base/test/values_test_util.h"
|
| -#include "sync/internal_api/public/base/attachment_id_proto.h"
|
| #include "sync/syncable/syncable_proto_util.h"
|
| #include "sync/syncable/syncable_util.h"
|
| #include "sync/syncable/syncable_write_transaction.h"
|
| @@ -85,43 +84,21 @@
|
| }
|
|
|
| // Creates an empty entry and sets the ID field to a default one.
|
| -void SyncableDirectoryTest::CreateEntry(const ModelType& model_type,
|
| - const std::string& entryname) {
|
| - CreateEntry(model_type, entryname, TestIdFactory::FromNumber(-99));
|
| +void SyncableDirectoryTest::CreateEntry(const std::string& entryname) {
|
| + CreateEntry(entryname, TestIdFactory::FromNumber(-99));
|
| }
|
|
|
| // Creates an empty entry and sets the ID field to id.
|
| -void SyncableDirectoryTest::CreateEntry(const ModelType& model_type,
|
| - const std::string& entryname,
|
| +void SyncableDirectoryTest::CreateEntry(const std::string& entryname,
|
| const int id) {
|
| - CreateEntry(model_type, entryname, TestIdFactory::FromNumber(id));
|
| -}
|
| -
|
| -void SyncableDirectoryTest::CreateEntry(const ModelType& model_type,
|
| - const std::string& entryname,
|
| - const Id& id) {
|
| - CreateEntryWithAttachmentMetadata(
|
| - model_type, entryname, id, sync_pb::AttachmentMetadata());
|
| -}
|
| -
|
| -void SyncableDirectoryTest::CreateEntryWithAttachmentMetadata(
|
| - const ModelType& model_type,
|
| - const std::string& entryname,
|
| - const Id& id,
|
| - const sync_pb::AttachmentMetadata& attachment_metadata) {
|
| + CreateEntry(entryname, TestIdFactory::FromNumber(id));
|
| +}
|
| +void SyncableDirectoryTest::CreateEntry(const std::string& entryname, Id id) {
|
| WriteTransaction wtrans(FROM_HERE, UNITTEST, dir_.get());
|
| - MutableEntry me(&wtrans, CREATE, model_type, wtrans.root_id(), entryname);
|
| + MutableEntry me(&wtrans, CREATE, BOOKMARKS, wtrans.root_id(), entryname);
|
| ASSERT_TRUE(me.good());
|
| me.PutId(id);
|
| - me.PutAttachmentMetadata(attachment_metadata);
|
| me.PutIsUnsynced(true);
|
| -}
|
| -
|
| -void SyncableDirectoryTest::DeleteEntry(const Id& id) {
|
| - WriteTransaction trans(FROM_HERE, UNITTEST, dir().get());
|
| - MutableEntry entry(&trans, GET_BY_ID, id);
|
| - ASSERT_TRUE(entry.good());
|
| - entry.PutIsDel(true);
|
| }
|
|
|
| DirOpenResult SyncableDirectoryTest::SimulateSaveAndReloadDir() {
|
| @@ -434,8 +411,8 @@
|
| int64 handle2 = 0;
|
| {
|
| // Create two bookmark entries and save in database.
|
| - CreateEntry(BOOKMARKS, "item1", id1);
|
| - CreateEntry(BOOKMARKS, "item2", id2);
|
| + CreateEntry("item1", id1);
|
| + CreateEntry("item2", id2);
|
| {
|
| WriteTransaction trans(FROM_HERE, UNITTEST, dir().get());
|
| MutableEntry item1(&trans, GET_BY_ID, id1);
|
| @@ -552,7 +529,7 @@
|
| }
|
|
|
| TEST_F(SyncableDirectoryTest, TestBasicLookupValidID) {
|
| - CreateEntry(BOOKMARKS, "rtc");
|
| + CreateEntry("rtc");
|
| ReadTransaction rtrans(FROM_HERE, dir().get());
|
| Entry e(&rtrans, GET_BY_ID, TestIdFactory::FromNumber(-99));
|
| ASSERT_TRUE(e.good());
|
| @@ -1544,100 +1521,6 @@
|
| }
|
| }
|
|
|
| -// Verify that Directory is notifed when a MutableEntry's AttachmentMetadata
|
| -// changes.
|
| -TEST_F(SyncableDirectoryTest, MutableEntry_PutAttachmentMetadata) {
|
| - sync_pb::AttachmentMetadata attachment_metadata;
|
| - sync_pb::AttachmentMetadataRecord* record = attachment_metadata.add_record();
|
| - sync_pb::AttachmentIdProto attachment_id_proto =
|
| - syncer::CreateAttachmentIdProto();
|
| - *record->mutable_id() = attachment_id_proto;
|
| - ASSERT_FALSE(dir()->IsAttachmentLinked(attachment_id_proto));
|
| - {
|
| - WriteTransaction trans(FROM_HERE, UNITTEST, dir().get());
|
| -
|
| - // Create an entry with attachment metadata and see that the attachment id
|
| - // is not linked.
|
| - MutableEntry entry(
|
| - &trans, CREATE, PREFERENCES, trans.root_id(), "some entry");
|
| - entry.PutId(TestIdFactory::FromNumber(-1));
|
| - entry.PutIsUnsynced(true);
|
| - ASSERT_FALSE(dir()->IsAttachmentLinked(attachment_id_proto));
|
| -
|
| - // Now add the attachment metadata and see that Directory believes it is
|
| - // linked.
|
| - entry.PutAttachmentMetadata(attachment_metadata);
|
| - ASSERT_TRUE(dir()->IsAttachmentLinked(attachment_id_proto));
|
| -
|
| - // Clear out the attachment metadata and see that it's no longer linked.
|
| - sync_pb::AttachmentMetadata empty_attachment_metadata;
|
| - entry.PutAttachmentMetadata(empty_attachment_metadata);
|
| - ASSERT_FALSE(dir()->IsAttachmentLinked(attachment_id_proto));
|
| - }
|
| - ASSERT_FALSE(dir()->IsAttachmentLinked(attachment_id_proto));
|
| -}
|
| -
|
| -// Verify that deleted entries with attachments will retain the attachments.
|
| -TEST_F(SyncableDirectoryTest, Directory_DeleteDoesNotUnlinkAttachments) {
|
| - sync_pb::AttachmentMetadata attachment_metadata;
|
| - sync_pb::AttachmentMetadataRecord* record = attachment_metadata.add_record();
|
| - sync_pb::AttachmentIdProto attachment_id_proto =
|
| - syncer::CreateAttachmentIdProto();
|
| - *record->mutable_id() = attachment_id_proto;
|
| - ASSERT_FALSE(dir()->IsAttachmentLinked(attachment_id_proto));
|
| - const Id id = TestIdFactory::FromNumber(-1);
|
| -
|
| - // Create an entry with attachment metadata and see that the attachment id
|
| - // is linked.
|
| - CreateEntryWithAttachmentMetadata(
|
| - PREFERENCES, "some entry", id, attachment_metadata);
|
| - ASSERT_TRUE(dir()->IsAttachmentLinked(attachment_id_proto));
|
| -
|
| - // Delete the entry and see that it's still linked because the entry hasn't
|
| - // yet been purged.
|
| - DeleteEntry(id);
|
| - ASSERT_TRUE(dir()->IsAttachmentLinked(attachment_id_proto));
|
| -
|
| - // Reload the Directory, purging the deleted entry, and see that the
|
| - // attachment is no longer linked.
|
| - SimulateSaveAndReloadDir();
|
| - ASSERT_FALSE(dir()->IsAttachmentLinked(attachment_id_proto));
|
| -}
|
| -
|
| -// Verify that a given attachment can be referenced by multiple entries and that
|
| -// any one of the references is sufficient to ensure it remains linked.
|
| -TEST_F(SyncableDirectoryTest, Directory_LastReferenceUnlinksAttachments) {
|
| - // Create one attachment.
|
| - sync_pb::AttachmentMetadata attachment_metadata;
|
| - sync_pb::AttachmentMetadataRecord* record = attachment_metadata.add_record();
|
| - sync_pb::AttachmentIdProto attachment_id_proto =
|
| - syncer::CreateAttachmentIdProto();
|
| - *record->mutable_id() = attachment_id_proto;
|
| -
|
| - // Create two entries, each referencing the attachment.
|
| - const Id id1 = TestIdFactory::FromNumber(-1);
|
| - const Id id2 = TestIdFactory::FromNumber(-2);
|
| - CreateEntryWithAttachmentMetadata(
|
| - PREFERENCES, "some entry", id1, attachment_metadata);
|
| - CreateEntryWithAttachmentMetadata(
|
| - PREFERENCES, "some other entry", id2, attachment_metadata);
|
| -
|
| - // See that the attachment is considered linked.
|
| - ASSERT_TRUE(dir()->IsAttachmentLinked(attachment_id_proto));
|
| -
|
| - // Delete the first entry, reload the Directory, see that the attachment is
|
| - // still linked.
|
| - DeleteEntry(id1);
|
| - SimulateSaveAndReloadDir();
|
| - ASSERT_TRUE(dir()->IsAttachmentLinked(attachment_id_proto));
|
| -
|
| - // Delete the second entry, reload the Directory, see that the attachment is
|
| - // no loner linked.
|
| - DeleteEntry(id2);
|
| - SimulateSaveAndReloadDir();
|
| - ASSERT_FALSE(dir()->IsAttachmentLinked(attachment_id_proto));
|
| -}
|
| -
|
| } // namespace syncable
|
|
|
| } // namespace syncer
|
|
|