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

Unified Diff: sync/test/engine/mock_connection_manager.cc

Issue 11636006: WIP: The Bookmark Position Megapatch (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Various updates, including switch suffix to unique_client_tag style Created 8 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sync/test/engine/mock_connection_manager.h ('k') | sync/test/engine/test_syncable_utils.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/test/engine/mock_connection_manager.cc
diff --git a/sync/test/engine/mock_connection_manager.cc b/sync/test/engine/mock_connection_manager.cc
index cc4b09cf2d4c2ebb01964341ad4db5364e57365c..1aec3448c3914ac3db321709dcf7b409e98b19db 100644
--- a/sync/test/engine/mock_connection_manager.cc
+++ b/sync/test/engine/mock_connection_manager.cc
@@ -32,6 +32,8 @@ using syncable::WriteTransaction;
static char kValidAuthToken[] = "AuthToken";
+static char kCacheGuid[] = "tuiWdG8hV+8y4RT9N5Aikg==";
+
MockConnectionManager::MockConnectionManager(syncable::Directory* directory)
: ServerConnectionManager("unused", 0, false),
server_reachable_(true),
@@ -52,7 +54,8 @@ MockConnectionManager::MockConnectionManager(syncable::Directory* directory)
commit_client_command_(NULL),
next_position_in_parent_(2),
use_legacy_bookmarks_protocol_(false),
- num_get_updates_requests_(0) {
+ num_get_updates_requests_(0),
+ originator_item_id_(-100000) {
SetNewTimestamp(0);
set_auth_token(kValidAuthToken);
}
@@ -244,6 +247,42 @@ sync_pb::SyncEntity* MockConnectionManager::AddUpdateSpecifics(
return ent;
}
+sync_pb::SyncEntity* MockConnectionManager::AddBookmarkUpdateSpecifics(
+ int id, int parent_id, string name, int64 version, int64 sync_ts,
+ bool is_dir, int64 position, const sync_pb::EntitySpecifics& specifics) {
+ sync_pb::SyncEntity* ent = AddUpdateSpecifics(
+ id, parent_id, name, version, sync_ts, is_dir, position, specifics);
+ ent->set_originator_cache_guid(kCacheGuid);
+ // Not entirely right, but it sure looks like a client ID.
+ syncable::Id client_id =
+ syncable::Id::CreateFromClientString(base::IntToString(id * -1));
+ ent->set_originator_client_item_id(client_id.value());
+ return ent;
+}
+
+sync_pb::SyncEntity* MockConnectionManager::AddBookmarkUpdateSpecifics(
+ int id, int parent_id, string name, int64 version, int64 sync_ts,
+ bool is_dir, const syncer::UniquePosition& position,
+ const sync_pb::EntitySpecifics& specifics) {
+ sync_pb::SyncEntity* ent = AddUpdateMeta(
+ TestIdFactory::FromNumber(id).GetServerId(),
+ TestIdFactory::FromNumber(parent_id).GetServerId(),
+ name, version, sync_ts);
+ ent->set_position_in_parent(position.ToInt64());
+ ent->set_unique_position(position.ToInternalValue());
+ ent->mutable_specifics()->CopyFrom(specifics);
+ ent->set_folder(is_dir);
+
+ ent->set_originator_cache_guid(kCacheGuid);
+ // Not entirely right, but it sure looks like a client ID.
+ syncable::Id client_id =
+ syncable::Id::CreateFromClientString(
+ base::Int64ToString(id * -1));
+ ent->set_originator_client_item_id(client_id.value());
+
+ return ent;
+}
+
sync_pb::SyncEntity* MockConnectionManager::SetNigori(
int id, int64 version,int64 sync_ts,
const sync_pb::EntitySpecifics& specifics) {
@@ -270,6 +309,7 @@ sync_pb::SyncEntity* MockConnectionManager::AddUpdateFull(
sync_pb::SyncEntity* ent =
AddUpdateMeta(id, parent_id, name, version, sync_ts);
AddDefaultBookmarkData(ent, is_dir);
+ SetUpdateOriginatorFields(ent);
return ent;
}
@@ -327,9 +367,10 @@ sync_pb::SyncEntity* MockConnectionManager::AddUpdateFromLastCommit() {
last_commit_response().entryresponse(0).version());
ent->set_id_string(
last_commit_response().entryresponse(0).id_string());
+ SetUpdateOriginatorFields(ent);
+
// Tests don't currently care about the following:
- // originator_cache_guid, originator_client_item_id, parent_id_string,
- // name, non_unique_name.
+ // parent_id_string, name, non_unique_name.
}
return GetMutableLastUpdate();
}
@@ -618,4 +659,16 @@ void MockConnectionManager::UpdateConnectionStatus() {
}
}
+void MockConnectionManager::SetUpdateOriginatorFields(
+ sync_pb::SyncEntity* entity) {
+ if (GetModelType(*entity) == BOOKMARKS) {
+ entity->set_originator_cache_guid(kCacheGuid);
+ syncable::Id client_id =
+ syncable::Id::CreateFromClientString(
+ base::Int64ToString(originator_item_id_--));
+ entity->set_originator_client_item_id(client_id.value());
+ }
+}
+
+
} // namespace syncer
« no previous file with comments | « sync/test/engine/mock_connection_manager.h ('k') | sync/test/engine/test_syncable_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698