Changeset 1619 in products


Ignore:
Timestamp:
Feb 2, 2010 12:39:23 PM (14 years ago)
Author:
mylan
Message:

Prepare package tests infrastructure. Fixed problem with five:registerPackage directive deferred initialization

Location:
quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps
Files:
3 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.plonegooglesitemaps/trunk/quintagroup/plonegooglesitemaps/tests/testqPloneGoogleSitemaps.py

    r1593 r1619  
    11# 
    2 # Tests for qPloneGoogleSitemaps 
     2# Tests for quintagroup.plonegooglesitemaps 
    33# 
     4 
    45import re, sys 
    56from urllib import urlencode 
    67from StringIO import StringIO 
     8import unittest 
     9 
     10from zope.testing import doctestunit 
     11from zope.component import testing 
     12from Testing import ZopeTestCase as ztc 
    713 
    814from Products.Five import zcml 
    915from Products.Five import fiveconfigure 
    10 from Products.PloneTestCase import PloneTestCase 
    11  
     16 
     17from Products.PloneTestCase import PloneTestCase as ptc 
     18from Products.PloneTestCase.layer import PloneSite 
    1219from Products.CMFPlone.utils import _createObjectByType 
     20 
     21from XMLParser import parse, hasURL 
    1322 
    1423import quintagroup.plonegooglesitemaps 
    1524from quintagroup.plonegooglesitemaps.config import ping_googlesitemap 
    1625 
    17 from XMLParser import parse, hasURL 
    1826quintagroup.plonegooglesitemaps.config.testing = 1 
    1927 
    20 PRODUCT = 'qPloneGoogleSitemaps' 
    21 PRODUCTS = (PRODUCT,) 
    22  
    23 # Import configure.zcml for qPloneGoogleSitemaps 
     28class MixinTestCase: 
     29    """ Define layer and common afterSetup method with package installation. 
     30        Package installation on plone site setup impossible because of 
     31        five's registerPackage directive not recognized on module initializing. 
     32    """ 
     33    layer = PloneSite 
     34 
     35    def afterSetUp(self): 
     36        self.loginAsPortalOwner() 
     37 
     38 
     39class TestCase(MixinTestCase, ptc.PloneTestCase): 
     40    """ For unit tests """ 
     41 
     42class FunctionalTestCase(MixinTestCase, ptc.FunctionalTestCase): 
     43    """ For functional tests """ 
     44 
     45# Initialize all needed zcml directives 
    2446fiveconfigure.debug_mode = True 
     47from Products import Five, CMFCore, GenericSetup 
     48zcml.load_config('meta.zcml', Five) 
     49zcml.load_config('meta.zcml', CMFCore) 
     50zcml.load_config('meta.zcml', GenericSetup) 
     51zcml.load_config('permissions.zcml', Five) 
     52 
     53# Force quintagroup.plonegooglesitemaps zcml initialization 
    2554zcml.load_config('configure.zcml', quintagroup.plonegooglesitemaps) 
    2655fiveconfigure.debug_mode = False 
    2756 
    28 PloneTestCase.installProduct(PRODUCT) 
    29 PloneTestCase.setupPloneSite(extension_profiles=("Products.%s:default" % PRODUCT,)) 
    30  
    31 class TestqPloneGoogleSitemapsInstallation(PloneTestCase.PloneTestCase): 
    32  
    33     def afterSetUp(self): 
    34         self.loginAsPortalOwner() 
     57# Install quintagroup.plonegooglesitemaps package and Plone site 
     58# with the default profile for the package 
     59PRODUCT = 'quintagroup.plonegooglesitemaps' 
     60ptc.installPackage(PRODUCT) 
     61ptc.setupPloneSite( extension_profiles=("%s:default" % PRODUCT,)) 
     62 
     63 
     64class TestGoogleSitemapsInstallation(TestCase): 
    3565 
    3666    def testType(self): 
     
    6696    def testSkins(self): 
    6797        ps = self.portal.portal_skins 
    68         self.assert_('qPloneGoogleSitemaps' in ps.objectIds(),  
    69             'No "qPloneGoogleSitemaps" skin layer in portal_skins') 
    70         self.assert_('qPloneGoogleSitemaps' in ps.getSkinPath(ps.getDefaultSkin()), 
    71             'No "qPloneGoogleSitemaps" skin layer in default skin') 
     98        self.assert_('plonegooglesitemaps' in ps.objectIds(),  
     99            'No "plonegooglesitemaps" skin layer in portal_skins') 
     100        self.assert_('plonegooglesitemaps' in ps.getSkinPath(ps.getDefaultSkin()), 
     101            'No "plonegooglesitemaps" skin layer in default skin') 
    72102 
    73103    def testConfiglet(self): 
    74104        cp = self.portal.portal_controlpanel 
    75         self.assert_([1 for ai in cp.listActionInfos() if ai['id']=='qPloneGoogleSitemaps'],  
    76             'No "qPloneGoogleSitemaps" configlet added to plone control panel') 
     105        self.assert_([1 for ai in cp.listActionInfos() if ai['id']=='GoogleSitemaps'],  
     106            'No "GoogleSitemaps" configlet added to plone control panel') 
    77107 
    78108    def testCatalog(self): 
     
    82112 
    83113 
    84 class TestSitemapType(PloneTestCase.FunctionalTestCase): 
     114class TestSitemapType(FunctionalTestCase): 
    85115 
    86116    def afterSetUp(self): 
    87         self.loginAsPortalOwner() 
     117        super(TestSitemapType, self).afterSetUp() 
    88118        self.auth = 'admin:admin' 
    89119        self.contentSM = _createObjectByType('Sitemap', self.portal, id='google-sitemaps') 
     
    137167 
    138168 
    139 class TestqPloneGoogleSitemaps(PloneTestCase.FunctionalTestCase): 
     169class TestGoogleSitemaps(FunctionalTestCase): 
    140170 
    141171    def afterSetUp(self): 
    142         self.loginAsPortalOwner() 
     172        super(TestGoogleSitemaps, self).afterSetUp() 
    143173 
    144174        self.workflow = self.portal.portal_workflow 
     
    234264 
    235265 
    236 class TestSettings(PloneTestCase.FunctionalTestCase): 
     266class TestSettings(FunctionalTestCase): 
    237267 
    238268    def afterSetUp(self): 
    239         self.loginAsPortalOwner() 
     269        super(TestSettings, self).afterSetUp() 
    240270 
    241271        self.workflow = self.portal.portal_workflow 
     
    315345 
    316346 
    317 class TestPinging(PloneTestCase.FunctionalTestCase): 
     347class TestPinging(FunctionalTestCase): 
    318348 
    319349    def afterSetUp(self): 
    320         self.loginAsPortalOwner() 
     350        super(TestPinging, self).afterSetUp() 
    321351 
    322352        self.workflow = self.portal.portal_workflow 
     
    386416    from unittest import TestSuite, makeSuite 
    387417    suite = TestSuite() 
    388     suite.addTest(makeSuite(TestqPloneGoogleSitemapsInstallation)) 
     418    suite.addTest(makeSuite(TestGoogleSitemapsInstallation)) 
    389419    suite.addTest(makeSuite(TestSitemapType)) 
    390     suite.addTest(makeSuite(TestqPloneGoogleSitemaps)) 
     420    suite.addTest(makeSuite(TestGoogleSitemaps)) 
    391421    suite.addTest(makeSuite(TestSettings)) 
    392422    suite.addTest(makeSuite(TestPinging)) 
    393  
    394423    return suite 
    395424 
    396425if __name__ == '__main__': 
    397     framework() 
     426    unittest.main(defaultTest='test_suite') 
     427#    framework() 
Note: See TracChangeset for help on using the changeset viewer.