summaryrefslogtreecommitdiffstats
path: root/sync/tools/testserver
diff options
context:
space:
mode:
authorshashishekhar@chromium.org <shashishekhar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-04 22:45:26 +0000
committershashishekhar@chromium.org <shashishekhar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-04 22:45:26 +0000
commit79827135c3144b3b860578e7f07167dbeb1a649b (patch)
tree13e1c86a23b978afb326a313589e4806d0704b1e /sync/tools/testserver
parentca29b0f4d939b6ef56145e22b09946e816811774 (diff)
downloadchromium_src-79827135c3144b3b860578e7f07167dbeb1a649b.zip
chromium_src-79827135c3144b3b860578e7f07167dbeb1a649b.tar.gz
chromium_src-79827135c3144b3b860578e7f07167dbeb1a649b.tar.bz2
Fix sync testserver for Android.
Sync testserver should create synced_bookmarks permanent item when requested by client. Android mobile bookmarks test fail because testserver does not create synced_bookmarks item. Modify testserver to create the permanent item when requested by client. BUG=153416 Review URL: https://chromiumcodereview.appspot.com/12377027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186004 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/tools/testserver')
-rw-r--r--sync/tools/testserver/chromiumsync.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/sync/tools/testserver/chromiumsync.py b/sync/tools/testserver/chromiumsync.py
index f6636ae..b6e536c 100644
--- a/sync/tools/testserver/chromiumsync.py
+++ b/sync/tools/testserver/chromiumsync.py
@@ -410,6 +410,13 @@ class UpdateSieve(object):
return [datatype for datatype, timestamp in self._state.iteritems()
if timestamp == 0]
+ def GetCreateMobileBookmarks(self):
+ """Return true if the client has requested to create the 'Mobile Bookmarks'
+ folder.
+ """
+ return (self._original_request.HasField('create_mobile_bookmarks_folder')
+ and self._original_request.create_mobile_bookmarks_folder)
+
def SaveProgress(self, new_timestamp, get_updates_response):
"""Write the new_timestamp or new_progress_marker fields to a response."""
if self._original_request.from_progress_marker:
@@ -449,7 +456,7 @@ class SyncDataModel(object):
parent_tag='google_chrome_bookmarks', sync_type=BOOKMARK),
PermanentItem('synced_bookmarks', name='Synced Bookmarks',
parent_tag='google_chrome_bookmarks', sync_type=BOOKMARK,
- create_by_default=False), # Must be True in the iOS tree.
+ create_by_default=False),
PermanentItem('google_chrome_autofill', name='Autofill',
parent_tag=ROOT_ID, sync_type=AUTOFILL),
PermanentItem('google_chrome_autofill_profiles', name='Autofill Profiles',
@@ -683,7 +690,14 @@ class SyncDataModel(object):
if not sieve.HasAnyTimestamp():
return (0, [], 0)
min_timestamp = sieve.GetMinTimestamp()
- self._CreateDefaultPermanentItems(sieve.GetFirstTimeTypes())
+ first_time_types = sieve.GetFirstTimeTypes()
+ self._CreateDefaultPermanentItems(first_time_types)
+ # Mobile bookmark folder is not created by default, create it only when
+ # client requested it.
+ if (sieve.GetCreateMobileBookmarks() and
+ first_time_types.count(BOOKMARK) > 0):
+ self.TriggerCreateSyncedBookmarks()
+
change_log = sorted(self._entries.values(),
key=operator.attrgetter('version'))
new_changes = [x for x in change_log if x.version > min_timestamp]