[Erp5-report] r33416 leonardo - in /erp5/trunk/products/ERP5/tests: ./ test_data/test_167_I...

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Mar 5 03:43:55 CET 2010


Author: leonardo
Date: Fri Mar  5 03:43:54 2010
New Revision: 33416

URL: http://svn.erp5.org?rev=33416&view=rev
Log:
show that uninstalled templates still leave the behaviour of the uninstalled Document classes behind (until Zope restart)

Modified:
    erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
    erp5/trunk/products/ERP5/tests/test_data/test_167_InstanceAndRelatedClassDefinedInSameBT/DocumentTemplateItem/File.py

Modified: erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testBusinessTemplate.py?rev=33416&r1=33415&r2=33416&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testBusinessTemplate.py [utf8] Fri Mar  5 03:43:54 2010
@@ -5975,6 +5975,7 @@
 
   def test_167_InstanceAndRelatedClassDefinedInSameBT(self):
     from Products.ERP5Type.Document.BusinessTemplate import BaseTemplateItem
+    portal = self.portal
     BaseTemplateItem_removeProperties = BaseTemplateItem.removeProperties
     marker_list = []
     def removeProperties(self, obj):
@@ -5985,17 +5986,16 @@
     try:
       BaseTemplateItem.removeProperties = removeProperties
       SimpleItem._getCopy = lambda *args: self.fail()
-      template_tool = self.portal.portal_templates
+      template_tool = portal.portal_templates
       bt_path = os.path.join(os.path.dirname(__file__), 'test_data',
                              self._testMethodName)
       # create a previously existing instance of the overriden document type
       from Products.ERP5Type.Document.File import File
-      from Products.CMFDefault.File import File as BaseFile
-      self.portal._setObject('another_file', File('another_file'))
+      portal._setObject('another_file', File('another_file'))
       transaction.commit()
       self.tic()
       # check its class has not yet been overriden
-      self.assertTrue(isinstance(self.portal.another_file, BaseFile))
+      self.assertFalse(getattr(portal.another_file, 'isClassOverriden', False))
       for i in xrange(6):
         marker_list.append(i)
         gc.disable()
@@ -6006,15 +6006,20 @@
           self.tic()
         bt.install(force=1)
         gc.enable()
-        self.assertEqual(self.portal.some_file.int_index, i)
+        self.assertEqual(portal.some_file.int_index, i)
         transaction.commit()
         self.tic()
-        # check the previously existing instance now behaves as the overriden
-        # class
-        self.assertFalse(isinstance(self.portal.another_file, BaseFile))
     finally:
       BaseTemplateItem.removeProperties = BaseTemplateItem_removeProperties
       SimpleItem._getCopy = SimpleItem_getCopy
+    # check the previously existing instance now behaves as the overriden class
+    self.assertTrue(getattr(portal.another_file, 'isClassOverriden', False))
+    self.uninstallBusinessTemplate('test_data')
+    transaction.commit()
+    self.tic()
+    # check both File instances no longer behave like being overriden
+    self.assertFalse(getattr(portal.some_file, 'isClassOverriden', False))
+    self.assertFalse(getattr(portal.another_file, 'isClassOverriden', False))
 
 
 def test_suite():

Modified: erp5/trunk/products/ERP5/tests/test_data/test_167_InstanceAndRelatedClassDefinedInSameBT/DocumentTemplateItem/File.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/test_data/test_167_InstanceAndRelatedClassDefinedInSameBT/DocumentTemplateItem/File.py?rev=33416&r1=33415&r2=33416&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/test_data/test_167_InstanceAndRelatedClassDefinedInSameBT/DocumentTemplateItem/File.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/test_data/test_167_InstanceAndRelatedClassDefinedInSameBT/DocumentTemplateItem/File.py [utf8] Fri Mar  5 03:43:54 2010
@@ -28,4 +28,4 @@
 from Products.ERP5Type.XMLObject import XMLObject
 
 class File(XMLObject):
-  pass
+  isClassOverriden = True




More information about the Erp5-report mailing list