Changeset 1779


Ignore:
Timestamp:
19.12.2011 21:38:47 (5 months ago)
Author:
zmsdev
Message:

prepared support for tests (3)

Location:
ZMS/trunk/tests
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ZMS/trunk/tests/README.txt

    r1766 r1779  
    44[1] in Zope-2.11.4 you must modify the PYTHON environment variable in zopectl.bat: 
    55[2] run tests from instance bin-folder: 
    6 zopectl test -dir Products/zms/tests 
     6zopectl test --dir Products/zms/tests 
  • ZMS/trunk/tests/testZMS.py

    r1766 r1779  
    1212 
    1313import sys, os, unittest 
     14from AccessControl import SecurityManager 
     15from AccessControl.SecurityManagement import newSecurityManager 
     16from AccessControl.SecurityManagement import noSecurityManager 
     17from Acquisition import Implicit 
    1418from Testing import ZopeTestCase 
     19 
     20ZopeTestCase.installProduct('zms', 1) 
    1521ZopeTestCase.installProduct('ZCatalog', 1) 
    16 ZopeTestCase.installProduct('ZMS', 1) 
     22ZopeTestCase.installProduct('ZCTextIndex', 1) 
    1723 
    1824from zope.interface.verify import verifyClass 
     
    2026 
    2127 
     28class UnitTestSecurityPolicy: 
     29    """ 
     30        Stub out the existing security policy for unit testing purposes. 
     31    """ 
     32    # 
     33    #   Standard SecurityPolicy interface 
     34    # 
     35    def validate( self 
     36                , accessed=None 
     37                , container=None 
     38                , name=None 
     39                , value=None 
     40                , context=None 
     41                , roles=None 
     42                , *args 
     43                , **kw): 
     44        return 1 
     45 
     46    def checkPermission( self, permission, object, context) : 
     47        return 1 
     48 
     49class UnitTestUser( Implicit ): 
     50    """ 
     51        Stubbed out manager for unit testing purposes. 
     52    """ 
     53    def getId( self ): 
     54        return 'unit_tester' 
     55 
     56    getUserName = getId 
     57 
     58    def allowed( self, object, object_roles=None ): 
     59        return 1 
     60 
     61    def has_permission( self, object, object_roles=None ): 
     62        return 1 
     63 
     64 
     65class UnitTestRequest: 
     66    """ 
     67    """ 
     68    def __init__(self, d={}): 
     69        self.d = d 
     70 
     71    def __getitem__(self, key): 
     72        return self.d.get(key) 
     73 
     74    def get(self, key, defaultValue=None): 
     75        return self.d.get(key,defaultValue) 
     76 
     77    def set(self, key, value): 
     78        self.d[key] = value 
     79 
     80 
    2281class ZMSTests(ZopeTestCase.ZopeTestCase): 
    2382 
     83    def tearDown(self): 
     84        print "DEBUG tearDown" 
     85        noSecurityManager() 
     86        SecurityManager.setSecurityPolicy( self.oldPolicy ) 
     87        del self.oldPolicy 
     88        del self.policy 
     89 
    2490    def afterSetUp(self): 
    25         print "afterSetUp" 
    26         factory = self.folder.manage_addProduct['ZCatalog'] 
    27         factory.manage_addZCatalog('catalog', 'catalog') 
    28         catalog = self.folder['catalog'] 
     91        print "DEBUG afterSetUp" 
     92        self.policy = UnitTestSecurityPolicy() 
     93        self.oldPolicy = SecurityManager.setSecurityPolicy( self.policy ) 
     94        newSecurityManager( None, UnitTestUser().__of__(self.folder) ) 
     95        REQUEST = UnitTestRequest({ 
     96            'btn':'Add', 
     97            'lang':'eng', 
     98            'lang_label':'English', 
     99            'manage_lang':'eng', 
     100            'theme':'myZMStheme5.zexp', 
     101            'folder_id':'myzmsx', 
     102            'initialization':1, 
     103          }) 
     104        factory = self.folder.manage_addProduct['zms'] 
     105        factory.manage_addZMS('eng', 'eng', REQUEST) 
     106        zms = self.folder['myzmsx'] 
     107        print zms 
    29108 
    30109    def testVoid1(self): 
    31         print "testVoid1" 
     110        print "DEBUG testVoid1" 
     111        REQUEST = {} 
     112        print self.folder.myzmsx 
     113        print len(self.folder.myzmsx.getChildNode(REQUEST)) 
    32114 
    33115    def testVoid2(self): 
    34         print "testVoid2" 
     116        print "DEBUG testVoid2" 
    35117 
    36118 
Note: See TracChangeset for help on using the changeset viewer.