diff --git a/product/ERP5Type/tests/testFolderMigration.py b/product/ERP5Type/tests/testFolderMigration.py index 8c4afd767dbbc6737808ad5983dac3dd2e9e2d3c..1b7ce0c483722375bee737ba76691427a4d83345 100755 --- a/product/ERP5Type/tests/testFolderMigration.py +++ b/product/ERP5Type/tests/testFolderMigration.py @@ -55,12 +55,17 @@ class TestFolderMigration(ERP5TypeTestCase, LogInterceptor): self.folder = self.getPortal().newContent(id='TestFolder', portal_type='Folder') + def beforeTearDown(self): """ Executed after each test_*. """ + self.folder.manage_delObjects(ids=list(self.folder.objectIds())) self.getPortal().manage_delObjects(ids=[self.folder.getId(),]) clearCache() + get_transaction().commit() + self.tic() + def newContent(self): """ @@ -117,7 +122,48 @@ class TestFolderMigration(ERP5TypeTestCase, LogInterceptor): self.assertEquals(obj1.getId(), '%s-1' %date) self.assertEquals(obj2.getId(), '%s-2' %date) self.assertEquals(obj3.getId(), '%s-3' %date) - + + + def test_03_emptyFolderIsBtree(self, quiet=0, run=1): + """ + Test the folder is a BTree + """ + if not run : return + if not quiet: + message = 'Test EmptyFolderIsBtree' + LOG('Testing... ', 0, message) + self.assertRaises(NotImplementedError, self.folder.getTreeIdList) + self.assertEqual(self.folder.isBTree(), True) + self.assertEqual(self.folder.isHBTree(), False) + + + def test_04_migrateFolder(self, quiet=0, run=1): + """ + migrate empty folder from btree to hbtree + """ + if not run : return + if not quiet: + message = 'Test migrateEmptyFolder' + LOG('Testing... ', 0, message) + # Create some objects + self.assertEquals(self.folder.getIdGenerator(), '') + self.assertEquals(len(self.folder), 0) + self.assertEqual(len(self.folder.objectIds()), 0) + # call migration script + self.folder.migrateToHBTree(migration_generate_id_method=None, + new_generate_id_method="_generatePerDayId") + get_transaction().commit() + self.tic() + # check we now have a hbtree + self.assertEqual(self.folder.isBTree(), False) + self.assertEqual(self.folder.isHBTree(), True) + self.assertEqual(len(self.folder.objectIds()), 0) + # check new object ids + obj1 = self.newContent() + from DateTime import DateTime + date = DateTime().Date() + date = date.replace("/", "") + self.failUnless(date in obj1.getId()) def test_suite(): suite = unittest.TestSuite()