Changeset 1837 in products


Ignore:
Timestamp:
Mar 1, 2010 11:35:57 AM (14 years ago)
Author:
mylan
Message:

#161: Update uninstallation tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.seoptimizer/branches/refactoring2.3.0/quintagroup/seoptimizer/tests/testInstallation.py

    r1836 r1837  
    77from zope.publisher.browser import TestRequest 
    88from zope.viewlet.interfaces import IViewletManager 
     9from plone.browserlayer import utils 
    910from quintagroup.seoptimizer.browser.interfaces import IPloneSEOLayer 
    1011 
     
    7273         
    7374    def test_browser_layer(self): 
    74         from plone.browserlayer import utils 
    75         #from plone.browserlayer.tests.interfaces import IMyProductLayer 
    7675        self.assert_(IPloneSEOLayer in utils.registered_layers(), 
    7776                     "Not registered 'IPloneSEOLayer' browser layer") 
     
    8887                     "Not added 'SEOProperties' action") 
    8988 
    90  
    91          
    9289class TestUninstallation(TestCase): 
    9390 
     
    9693        self.qi.uninstallProducts([PROJECT_NAME]) 
    9794 
     95    def test_propertysheet_uninstall(self): 
     96        properties = getToolByName(self.portal, 'portal_properties') 
     97        self.assertEqual(hasattr(properties.aq_base, PROPERTY_SHEET), False, 
     98            "'%s' property sheet not uninstalled" % PROPERTY_SHEET) 
     99 
     100    def test_configlet_uninstall(self): 
     101        self.assertNotEqual(self.qi.isProductInstalled(PROJECT_NAME), True, 
     102            'qSEOptimizer is already installed') 
     103 
     104        configTool = getToolByName(self.portal, 'portal_controlpanel', None) 
     105        self.assertEqual(PROJECT_NAME in [a.getId() for a in configTool.listActions()], False, 
     106            'Configlet found after uninstallation') 
     107 
    98108    def test_skins_uninstall(self): 
    99         self.assertNotEqual(self.qi.isProductInstalled(PROJECT_NAME), True,'qSEOptimizer is already installed') 
     109        self.assertNotEqual(self.qi.isProductInstalled(PROJECT_NAME), True, 
     110            'qSEOptimizer is already installed') 
    100111        skinstool=getToolByName(self.portal, 'portal_skins') 
    101112 
     
    103114            path = skinstool.getSkinPath(skin) 
    104115            path = map( string.strip, string.split( path,',' ) ) 
    105             self.assert_(not PROJECT_NAME in path, 'qSEOptimizer layer found in %s after uninstallation' %skin) 
     116            self.assertEqual(PROJECT_NAME in path, False, 
     117                'qSEOptimizer layer found in %s after uninstallation' %skin) 
    106118 
    107     def test_versionedskin_uninstall(self): 
    108         self.assertNotEqual(self.qi.isProductInstalled(PROJECT_NAME), True,'qSEOptimizer is already installed') 
    109         skinstool=getToolByName(self.portal, 'portal_skins') 
    110         mtool = getToolByName(self.portal, 'portal_migration') 
    111         plone_version = mtool.getFileSystemVersion() 
     119    def test_viewlets_uninstall(self): 
     120        VIEWLETS = ['quintagroup.seoptimizer.seotags', 
     121                    'quintagroup.seoptimizer.customscript'] 
     122        request = self.app.REQUEST 
     123        view = queryMultiAdapter((self.portal, request), name="plone") 
     124        manager = queryMultiAdapter( (self.portal['front-page'], request, view), 
     125                                     IViewletManager, name='plone.htmlhead') 
     126        for p in VIEWLETS: 
     127            self.assertEqual(manager.get(p) is None, True, 
     128                "'%s' viewlet present after uninstallation" % p) 
    112129 
    113         for skin in skinstool.getSkinSelections(): 
    114             path = skinstool.getSkinPath(skin) 
    115             path = map( string.strip, string.split( path,',' ) ) 
    116             self.assert_(not PROJECT_NAME+'/%s' % plone_version in path, 'qSEOptimizer versioned layer found in %s after uninstallation' %skin) 
     130    def test_browserlayer_uninstall(self): 
     131        self.assertEqual(IPloneSEOLayer in utils.registered_layers(), False, 
     132            "Not registered 'IPloneSEOLayer' browser layer") 
    117133 
    118     def test_configlet_uninstall(self): 
    119         self.assertNotEqual(self.qi.isProductInstalled(PROJECT_NAME), True,'qSEOptimizer is already installed') 
     134    def test_jsregestry_uninstall(self): 
     135        jstool=getToolByName(self.portal, 'portal_javascripts') 
     136        self.assertEqual(jstool.getResource("++resource++seo_custommetatags.js") is not None, 
     137            False, "Not registered '++resource++seo_custommetatags.js' resource") 
    120138 
    121         configTool = getToolByName(self.portal, 'portal_controlpanel', None) 
    122         self.assert_(not PROJECT_NAME in [a.getId() for a in configTool.listActions()], 'Configlet found after uninstallation') 
    123  
    124  
     139    def test_action_uninstall(self): 
     140        atool=getToolByName(self.portal, 'portal_actions') 
     141        action_ids = [a.id for a in atool.listActions()] 
     142        self.assertEqual("SEOProperties" in action_ids, False, 
     143            "Not added 'SEOProperties' action") 
    125144 
    126145 
Note: See TracChangeset for help on using the changeset viewer.