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() |