[Checkins] SVN: Zope/trunk/src/ Also disable product installation in the default test configuration

Hanno Schlichting hannosch at hannosch.eu
Sun Jun 27 07:36:08 EDT 2010


Log message for revision 113923:
  Also disable product installation in the default test configuration
  

Changed:
  U   Zope/trunk/src/App/config.py
  U   Zope/trunk/src/OFS/tests/test_registerpackage.py
  U   Zope/trunk/src/Products/ZODBMountPoint/MountedObject.py
  U   Zope/trunk/src/Products/ZODBMountPoint/__init__.py
  U   Zope/trunk/src/Products/ZODBMountPoint/tests/testMountPoint.py

-=-
Modified: Zope/trunk/src/App/config.py
===================================================================
--- Zope/trunk/src/App/config.py	2010-06-27 11:09:01 UTC (rev 113922)
+++ Zope/trunk/src/App/config.py	2010-06-27 11:36:07 UTC (rev 113923)
@@ -86,7 +86,7 @@
             self.zopehome = FindHomes.ZOPE_HOME
         self.dbtab = None
         self.debug_mode = True
-        self.enable_product_installation = True
+        self.enable_product_installation = False
         self.locale = None
 
         # restructured text

Modified: Zope/trunk/src/OFS/tests/test_registerpackage.py
===================================================================
--- Zope/trunk/src/OFS/tests/test_registerpackage.py	2010-06-27 11:09:01 UTC (rev 113922)
+++ Zope/trunk/src/OFS/tests/test_registerpackage.py	2010-06-27 11:36:07 UTC (rev 113923)
@@ -12,8 +12,6 @@
 #
 ##############################################################################
 """Unit tests for the registerPackage directive.
-
-$Id$
 """
 import sys
 
@@ -50,27 +48,16 @@
       
     We need to load the product as well. This would normally happen during 
     Zope startup, but in the test, we're already too late.
-    
+
       >>> import Zope2
       >>> from OFS.Application import install_products
       
       >>> app = Zope2.app()
       >>> install_products(app)
       pythonproduct2 initialized
-      
-    Test to see if the pythonproduct2 python package actually gets setup
-    as a zope2 product in the Control Panel.
 
-      >>> product_listing = []
-      >>> try:
-      ...    product_listing = app.Control_Panel.Products.objectIds()
-      ... finally:
-      ...     app._p_jar.close()
-      >>> 'pythonproduct2' in product_listing
-      True
+    Make sure it shows up in ``Products._registered_packages``.
 
-    Make sure it also shows up in ``Products._registered_packages``.
-
       >>> [x.__name__ for x in getattr(Products, '_registered_packages', [])]
       ['pythonproduct2']
 

Modified: Zope/trunk/src/Products/ZODBMountPoint/MountedObject.py
===================================================================
--- Zope/trunk/src/Products/ZODBMountPoint/MountedObject.py	2010-06-27 11:09:01 UTC (rev 113922)
+++ Zope/trunk/src/Products/ZODBMountPoint/MountedObject.py	2010-06-27 11:36:07 UTC (rev 113923)
@@ -25,13 +25,13 @@
 import transaction
 
 from AccessControl.class_init import InitializeClass
-from AccessControl.ZopeGuards import guarded_getattr
 from Acquisition import ImplicitAcquisitionWrapper
 from Acquisition import aq_base
 from Acquisition import aq_inner
 from Acquisition import aq_parent
 from OFS.SimpleItem import SimpleItem
 from OFS.Folder import Folder
+from OFS.Folder import manage_addFolder
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile
 
 LOG = getLogger('Zope.ZODBMountPoint')
@@ -55,9 +55,7 @@
 
     def _construct(self, context, id):
         """Creates and returns the named folder."""
-        dispatcher = guarded_getattr(context, 'manage_addProduct')['OFSP']
-        factory = guarded_getattr(dispatcher, 'manage_addFolder')
-        factory(id)
+        manage_addFolder(context, id)
         o = context.restrictedTraverse(id)
         context._p_jar.add(aq_base(o))
         return o
@@ -391,5 +389,3 @@
         REQUEST['RESPONSE'].redirect(
             REQUEST['URL1'] + ('/manage_main?manage_tabs_message='
             'Added %d mount points.' % count))
-
-

Modified: Zope/trunk/src/Products/ZODBMountPoint/__init__.py
===================================================================
--- Zope/trunk/src/Products/ZODBMountPoint/__init__.py	2010-06-27 11:09:01 UTC (rev 113922)
+++ Zope/trunk/src/Products/ZODBMountPoint/__init__.py	2010-06-27 11:36:07 UTC (rev 113923)
@@ -25,6 +25,3 @@
                       MountedObject.manage_getMountStatus,
                       MountedObject.manage_addMounts,),
         )
-
-
-

Modified: Zope/trunk/src/Products/ZODBMountPoint/tests/testMountPoint.py
===================================================================
--- Zope/trunk/src/Products/ZODBMountPoint/tests/testMountPoint.py	2010-06-27 11:09:01 UTC (rev 113922)
+++ Zope/trunk/src/Products/ZODBMountPoint/tests/testMountPoint.py	2010-06-27 11:36:07 UTC (rev 113923)
@@ -15,10 +15,12 @@
 """
 
 import os
+import os.path
 import sys
 import unittest
 import transaction
 from OFS.Application import Application
+from OFS.Application import get_folder_permissions
 from OFS.Folder import Folder
 import App.config
 from Products.ZODBMountPoint.MountedObject import manage_addMounts
@@ -78,7 +80,7 @@
         if original_config is None:
             # stow away original config so we can reset it
             original_config = App.config.getConfiguration()
-            
+
         databases = [TestDBConfig('test_main.fs', ['/']).getDB(),
                      TestDBConfig('test_mount1.fs', ['/mount1']).getDB(),
                      TestDBConfig('test_mount2.fs', ['/mount2']).getDB(),
@@ -95,6 +97,7 @@
         conf = DBTab(mount_factories, mount_points)
         d = App.config.DefaultConfiguration()
         d.dbtab = conf
+        d.enable_product_installation = True
         App.config.setConfiguration(d)
         self.conf = conf
         db = conf.getDatabase('/')
@@ -102,7 +105,9 @@
         root = conn.root()
         root['Application'] = app = Application()
         self.app = app
-        install_products(app, 'ZCatalog', 'PluginIndexes', 'OFSP')
+        install_product(app, 'ZCatalog')
+        install_product(app, 'PluginIndexes')
+        install_product(app, 'OFSP')
         # login
         from AccessControl.User import system
         from AccessControl.SecurityManagement import newSecurityManager
@@ -111,8 +116,6 @@
         manage_addMounts(app, ('/mount1', '/mount2', '/i/mount3'))
         transaction.commit()  # Get the mount points ready
 
-
-
     def tearDown(self):
         # logout
         from AccessControl.SecurityManagement import noSecurityManager
@@ -228,25 +231,13 @@
         self.assertEqual(conn2.opened, None)
         self.assertEqual(conn3.opened, None)
 
-def install_products(app, *prod):
-    """auxiliary function to install products *prod* (by names)."""
-    from OFS.Application import get_folder_permissions, get_products, install_product
 
-    folder_permissions = get_folder_permissions()
-    meta_types=[]
-    done={}
-    products = get_products()
-    for priority, product_name, index, product_dir in products:
-        if product_name not in prod or product_name in done: continue
-        done[product_name]=1
-        install_product(app, product_dir, product_name, meta_types,
-                        folder_permissions, raise_exc=True)
-        
+def install_product(app, product_name):
+    from OFS.Application import install_product
+    product_dir = os.path.join(os.path.dirname(__file__), os.pardir, os.pardir)
+    install_product(app, product_dir, product_name, [],
+                    get_folder_permissions(), raise_exc=True)
 
 
 def test_suite():
     return unittest.makeSuite(MountingTests, 'test')
-
-if __name__ == '__main__':
-    unittest.main()
-



More information about the checkins mailing list