Changeset 2418 in products for quintagroup.plonegooglesitemaps/trunk
- Timestamp:
- May 31, 2010 5:38:58 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/tests/testUpgrade.py
r2390 r2418 4 4 5 5 from base import * 6 from zope.component import getSiteManager 7 6 8 from Products.CMFPlone.utils import _createObjectByType 7 9 from Products.GenericSetup.upgrade import _upgrade_registry 10 from archetypes.schemaextender.interfaces import ISchemaExtender 8 11 from quintagroup.plonegooglesitemaps import config 9 12 from quintagroup.plonegooglesitemaps import upgrades as gsm_upgrades 10 13 from quintagroup.canonicalpath.interfaces import ICanonicalPath 11 14 from quintagroup.canonicalpath.interfaces import ICanonicalLink 15 from quintagroup.plonegooglesitemaps.content.newsextender import NewsExtender 12 16 13 17 class TestUpgrade(TestCase): … … 26 30 # Test upgrade steps 27 31 upgrades = self.setup.listUpgrades(self.profile, show_old=True) 28 self.assertEqual(len(upgrades), 2)32 self.assertEqual(len(upgrades), 3) 29 33 self.assertEqual(upgrades[0]["title"].endswith("1.0 to 1.1"), True) 30 34 self.assertEqual(upgrades[1]["title"].endswith("1.1 to 1.2"), True) 35 self.assertEqual(upgrades[2]["title"].endswith("1.2 to 1.3"), True) 31 36 32 37 def test_upgradeSetupRegistration(self): … … 35 40 self.assertEqual("quintagroup.plonegooglesitemaps:upgrade_1_0_to_1_1" in pids, True) 36 41 self.assertEqual("quintagroup.plonegooglesitemaps:upgrade_1_1_to_1_2" in pids, True) 42 self.assertEqual("quintagroup.plonegooglesitemaps:upgrade_1_2_to_1_3" in pids, True) 37 43 38 44 def test_step_1_0_to_1_1(self): … … 83 89 self.assertEqual(brain.canonical_link, fldr_clink) 84 90 85 def testUpgradeCallOnReinstall(self): 91 def test_step_1_2_to_1_3(self): 92 # Prepare testing data 93 cols = ["Language", "gsm_access", "gsm_genres"] 94 lsm = getSiteManager(self.portal) 95 catalog = self.portal.portal_catalog 96 # Remove tested columns, if its exists 97 [catalog.delColumn(col) for col in cols if col in catalog._catalog.names] 98 # Remove schema extender adapter from local component registry, if its exists 99 for r in tuple(lsm.registeredAdapters()): 100 if r.factory == NewsExtender: 101 lsm.unregisterAdapter(factory=r.factory, name=r.name, 102 required=r.required, provided=r.provided) 103 # Upgrade to 1.3 version 104 step = self.getUpgradeStep(3) 105 if step is not None: 106 step.doStep(self.setup) 107 # Test if columns added to portal_catalog 108 for col in cols: 109 self.assertEqual(col in catalog._catalog.names, True) 110 # Test if schema extender adapter added into local component registry 111 factories = [r.factory for r in tuple(lsm.registeredAdapters())] 112 self.assertEqual(NewsExtender in factories, True) 113 114 def testUpgradeCallOnQIReinstall(self): 86 115 # Get upgrade steps 87 116 upgrades = _upgrade_registry.getUpgradeStepsForProfile(self.profile) … … 92 121 upgrades[1].handler = lambda st:called.append("1.0 to 1.1") 93 122 upgrades[2].handler = lambda st:called.append("1.1 to 1.2") 123 upgrades[3].handler = lambda st:called.append("1.2 to 1.3") 94 124 # Run reinstallation 95 125 self.portal.portal_quickinstaller.reinstallProducts(products=config.PROJECTNAME) … … 97 127 self.assertEqual("1.0 to 1.1" in called, True) 98 128 self.assertEqual("1.1 to 1.2" in called, True) 129 self.assertEqual("1.2 to 1.3" in called, True) 99 130 finally: 100 131 # Restore original upgrade handlers 101 132 upgrades[1].handler = gsm_upgrades.upgrade_1_0_to_1_1 102 133 upgrades[2].handler = gsm_upgrades.upgrade_1_1_to_1_2 134 upgrades[3].handler = gsm_upgrades.upgrade_1_2_to_1_3 103 135 104 136
Note: See TracChangeset
for help on using the changeset viewer.