Index: sync/internal_api/test/test_user_share.cc |
diff --git a/sync/internal_api/test/test_user_share.cc b/sync/internal_api/test/test_user_share.cc |
index ef93b1812cfba32676ece47913359349061e9a2f..bb19fe21d9d30e2ca6d6774debb22b41902f9eda 100644 |
--- a/sync/internal_api/test/test_user_share.cc |
+++ b/sync/internal_api/test/test_user_share.cc |
@@ -6,7 +6,10 @@ |
#include "base/compiler_specific.h" |
#include "sync/syncable/directory.h" |
+#include "sync/syncable/mutable_entry.h" |
+#include "sync/syncable/write_transaction.h" |
#include "sync/test/engine/test_directory_setter_upper.h" |
+#include "sync/test/engine/test_id_factory.h" |
#include "testing/gtest/include/gtest/gtest.h" |
namespace syncer { |
@@ -43,4 +46,35 @@ SyncEncryptionHandler* TestUserShare::encryption_handler() { |
return dir_maker_->encryption_handler(); |
} |
+syncable::MockTransactionObserver* TestUserShare::transaction_observer() { |
+ return dir_maker_->transaction_observer(); |
+} |
+ |
+/* static */ |
+bool TestUserShare::CreateRoot(ModelType model_type, UserShare* user_share) { |
+ syncer::syncable::Directory* directory = user_share->directory.get(); |
+ |
+ std::string tag_name = syncer::ModelTypeToRootTag(model_type); |
+ |
+ syncable::WriteTransaction wtrans(FROM_HERE, syncable::UNITTEST, directory); |
+ syncable::MutableEntry node(&wtrans, |
+ syncable::CREATE, |
+ wtrans.root_id(), |
+ tag_name); |
+ node.Put(syncable::UNIQUE_SERVER_TAG, tag_name); |
+ node.Put(syncable::IS_DIR, true); |
+ node.Put(syncable::SERVER_IS_DIR, false); |
+ node.Put(syncable::IS_UNSYNCED, false); |
+ node.Put(syncable::IS_UNAPPLIED_UPDATE, false); |
+ node.Put(syncable::SERVER_VERSION, 20); |
+ node.Put(syncable::BASE_VERSION, 20); |
+ node.Put(syncable::IS_DEL, false); |
+ node.Put(syncable::ID, syncer::TestIdFactory::MakeServer(tag_name)); |
+ sync_pb::EntitySpecifics specifics; |
+ syncer::AddDefaultFieldValue(model_type, &specifics); |
+ node.Put(syncable::SPECIFICS, specifics); |
+ |
+ return true; |
+} |
+ |
} // namespace syncer |