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

Unified Diff: net/tools/testserver/chromiumsync_test.py

Issue 9570055: [Sync] Add support for associating a new Synced Bookmarks node. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase, address comments Created 8 years, 9 months 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 | « net/tools/testserver/chromiumsync.py ('k') | net/tools/testserver/testserver.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/tools/testserver/chromiumsync_test.py
diff --git a/net/tools/testserver/chromiumsync_test.py b/net/tools/testserver/chromiumsync_test.py
index 799d5d673829aeb693e3bec2fc3476c26af938aa..2485b0f8eef52a256c0c64937a01d9952ac9210f 100755
--- a/net/tools/testserver/chromiumsync_test.py
+++ b/net/tools/testserver/chromiumsync_test.py
@@ -17,6 +17,8 @@ import theme_specifics_pb2
class SyncDataModelTest(unittest.TestCase):
def setUp(self):
self.model = chromiumsync.SyncDataModel()
+ # The Synced Bookmarks folder is not created by default
+ self._expect_synced_bookmarks_folder = False
def AddToModel(self, proto):
self.model._entries[proto.id_string] = proto
@@ -67,13 +69,16 @@ class SyncDataModelTest(unittest.TestCase):
self.assertEqual(2, self.model._entries[proto.id_string].version)
def testCreatePermanentItems(self):
- self.model._CreatePermanentItems(chromiumsync.ALL_TYPES)
+ self.model._CreateDefaultPermanentItems(chromiumsync.ALL_TYPES)
self.assertEqual(len(chromiumsync.ALL_TYPES) + 2,
len(self.model._entries))
def ExpectedPermanentItemCount(self, sync_type):
if sync_type == chromiumsync.BOOKMARK:
- return 4
+ if self._expect_synced_bookmarks_folder:
+ return 5
+ else:
+ return 4
elif sync_type == chromiumsync.TOP_LEVEL:
return 1
else:
@@ -107,8 +112,13 @@ class SyncDataModelTest(unittest.TestCase):
# Doing a wider GetUpdates from timestamp zero shouldn't recreate either.
new_version, changes, remaining = (
self.GetChangesFromTimestamp(all_types, 0))
- self.assertEqual(len(chromiumsync.SyncDataModel._PERMANENT_ITEM_SPECS),
- new_version)
+ if self._expect_synced_bookmarks_folder:
+ self.assertEqual(len(chromiumsync.SyncDataModel._PERMANENT_ITEM_SPECS),
+ new_version)
+ else:
+ self.assertEqual(
+ len(chromiumsync.SyncDataModel._PERMANENT_ITEM_SPECS) -1,
+ new_version)
self.assertEqual(new_version, len(changes))
self.assertEqual(0, remaining)
version, changes, remaining = (
@@ -561,6 +571,35 @@ class SyncDataModelTest(unittest.TestCase):
sieve = chromiumsync.UpdateSieve(msg, migrator)
sieve.CheckMigrationState()
+ def testCreateSyncedBookmaks(self):
+ version1, changes, remaining = (
+ self.GetChangesFromTimestamp([chromiumsync.BOOKMARK], 0))
+ id_string = self.model._MakeCurrentId(chromiumsync.BOOKMARK,
+ '<server tag>synced_bookmarks')
+ self.assertFalse(self.model._ItemExists(id_string))
+ self._expect_synced_bookmarks_folder = True
+ self.model.TriggerCreateSyncedBookmarks()
+ self.assertTrue(self.model._ItemExists(id_string))
+
+ # Check that the version changed when the folder was created and the only
+ # change was the folder creation.
+ version2, changes, remaining = (
+ self.GetChangesFromTimestamp([chromiumsync.BOOKMARK], version1))
+ self.assertEqual(len(changes), 1)
+ self.assertEqual(changes[0].id_string, id_string)
+ self.assertNotEqual(version1, version2)
+ self.assertEqual(
+ self.ExpectedPermanentItemCount(chromiumsync.BOOKMARK),
+ version2)
+
+ # Ensure getting from timestamp 0 includes the folder.
+ version, changes, remaining = (
+ self.GetChangesFromTimestamp([chromiumsync.BOOKMARK], 0))
+ self.assertEqual(
+ self.ExpectedPermanentItemCount(chromiumsync.BOOKMARK),
+ len(changes))
+ self.assertEqual(version2, version)
+
if __name__ == '__main__':
unittest.main()
« no previous file with comments | « net/tools/testserver/chromiumsync.py ('k') | net/tools/testserver/testserver.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698