Chromium Code Reviews| 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..938d6d18ecc70af34aaa540618b5c761cfc784c7 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,10 @@ 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) |
| + self.assertEqual( |
| + len(chromiumsync.SyncDataModel._PERMANENT_ITEM_SPECS) - 1 if not |
| + self._expect_synced_bookmarks_folder else 0, |
|
ncarter (slow)
2012/03/15 22:44:52
FWIW, I don't find this very readable -- it's almo
|
| + new_version) |
| self.assertEqual(new_version, len(changes)) |
| self.assertEqual(0, remaining) |
| version, changes, remaining = ( |
| @@ -561,6 +568,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() |