Changeset 945 in products for qPloneCaptchas/trunk/tests


Ignore:
Timestamp:
Aug 30, 2007 9:30:23 AM (17 years ago)
Author:
crchemist
Message:

Correct test for plone-2.0.5

File:
1 edited

Legend:

Unmodified
Added
Removed
  • qPloneCaptchas/trunk/tests/testCaptchaWidget.py

    r672 r945  
    99from Products.PloneTestCase import PloneTestCase 
    1010from AccessControl.SecurityManagement import newSecurityManager 
     11from Products.CMFCore.utils import getToolByName 
    1112from Products.qPloneCaptchas.utils import getWord, decrypt, parseKey 
     13from Products.qPloneCaptchas.config import * 
    1214 
    1315PloneTestCase.installProduct('PlacelessTranslationService') 
     
    9193    def afterSetUp(self): 
    9294        self.loginAsPortalOwner() 
    93         self.addProduct('qPloneCaptchas') 
     95        self.qi = getToolByName(self.portal, 'portal_quickinstaller', None) 
     96        self.cp = getToolByName(self.portal, 'portal_controlpanel', None) 
     97        self.st = getToolByName(self.portal, 'portal_skins', None) 
     98        self.qi.installProduct(PRODUCT_NAME) 
     99 
     100    def getLayers(self): 
     101        Layers = [] 
     102        Layers += LAYERS 
     103        Layers.append(LAYER_STATIC_CAPTCHAS) 
     104        DiscussionLayer = LAYER_DISCUSSION 
     105 
     106        mtool = getToolByName(self, 'portal_migration') 
     107        plone_version = mtool.getFileSystemVersion() 
     108        if plone_version.startswith('2.1'): 
     109            plone_version = '2.1.2' 
     110        elif plone_version.startswith('2.0'): 
     111            plone_version = '2.0.5' 
     112        elif plone_version.startswith('2.5'): 
     113            plone_version = '2.5' 
     114        elif plone_version.startswith('3.0'): 
     115            plone_version = '3.0' 
     116        elif plone_version.startswith('3.1'): 
     117            plone_version = '3.1' 
     118        else: 
     119            raise Exception("Error - Unsupported version. Suported versions: Plone 2.0.5-3") 
     120 
     121        if self.qi.isProductInstalled('PloneFormMailer'): 
     122            formmailer_layer = LAYER_FORMMAILER+'/'+ plone_version 
     123            Layers.append(formmailer_layer) 
     124 
     125        discussion_layer = '/'.join([DiscussionLayer, plone_version]) 
     126        Layers.append(discussion_layer) 
     127 
     128        join_form_layer = '/'.join([LAYER_JOIN_FORM, plone_version]) 
     129        Layers.append(join_form_layer) 
     130 
     131        sendto_form_layer = '/'.join([LAYER_SENDTO_FORM, plone_version]) 
     132        Layers.append(sendto_form_layer) 
     133 
     134        return Layers 
     135 
     136    def test_configlet_install(self): 
     137        self.assert_(CONFIGLET_ID in [a.getId() for a in self.cp.listActions()], 'Configlet not found') 
     138 
     139    def test_skins_install(self): 
     140        skinstool = self.st 
     141        Layers = self.getLayers() 
     142        for skin in skinstool.getSkinSelections(): 
     143            path = skinstool.getSkinPath(skin) 
     144            path = map(str.strip, path.split(',')) 
     145            for layer in Layers: 
     146                self.assert_(layer.split('/')[0] in skinstool.objectIds(), '%s directory view not found in portal_skins after installation' % layer) 
     147                self.assert_(layer in path, '%s layer not found in %s' % (PRODUCT_NAME, skin)) 
     148 
     149    def test_skins_uninstall(self): 
     150        self.qi.uninstallProducts([PRODUCT_NAME]) 
     151        self.assertNotEqual(self.qi.isProductInstalled(PRODUCT_NAME), True,'%s is already installed' % PRODUCT_NAME) 
     152        skinstool = self.st 
     153        Layers = self.getLayers() 
     154        for skin in skinstool.getSkinSelections(): 
     155            path = skinstool.getSkinPath(skin) 
     156            path = map(str.strip, path.split(',')) 
     157            for layer in Layers: 
     158                self.assert_(not layer.split('/')[0] in skinstool.objectIds(), '%s directory view found in portal_skins after uninstallation' % layer) 
     159                self.assert_(not layer in path, '%s layer found in %s after uninstallation' % (layer, skin)) 
     160 
     161    def test_configlet_uninstall(self): 
     162        self.qi.uninstallProducts([PRODUCT_NAME]) 
     163        self.assertNotEqual(self.qi.isProductInstalled(PRODUCT_NAME), True,'%s is already installed' % PRODUCT_NAME) 
     164        self.assert_(not CONFIGLET_ID in [a.getId() for a in self.cp.listActions()], 'Configlet found after uninstallation') 
    94165 
    95166    def testCaptchaKey(self): 
Note: See TracChangeset for help on using the changeset viewer.