[Erp5-report] r33816 nicolas - /erp5/trunk/products/ERP5/tests/testBusinessTemplate.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Mar 17 18:48:10 CET 2010


Author: nicolas
Date: Wed Mar 17 18:48:05 2010
New Revision: 33816

URL: http://svn.erp5.org?rev=33816&view=rev
Log:
Extend renstallation test
Check that Scripts added in working copy are deleted after
reintallation of BT
  - create ZODB Python Script inside folder added by Business Template
  - Reinstall Business Template
  - Check that script is removed
  

Modified:
    erp5/trunk/products/ERP5/tests/testBusinessTemplate.py

Modified: erp5/trunk/products/ERP5/tests/testBusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testBusinessTemplate.py?rev=33816&r1=33815&r2=33816&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testBusinessTemplate.py [utf8] Wed Mar 17 18:48:05 2010
@@ -47,6 +47,8 @@
 import shutil
 import os
 import gc
+import random
+import string
 
 from MethodObject import Method
 from Persistence import Persistent
@@ -2419,10 +2421,15 @@
     Install importzed business template
     """
     import_bt = sequence.get('current_bt')
+    import_bt.reinstall()
+
+  def stepCheckBeforeReinstall(self, sequence=None, sequence_list=None, **kw):
+    """
+    """
+    import_bt = sequence.get('current_bt')
     diff_list = import_bt.BusinessTemplate_getModifiedObject()
     self.assertTrue('portal_types/Geek Object/become_geek'
                     in [line.object_id for line in diff_list])
-    import_bt.reinstall()
 
   def stepInstallCurrentBusinessTemplate(self, sequence=None, sequence_list=None, **kw):
     """
@@ -5664,6 +5671,36 @@
     sequence_list.addSequenceString(sequence_string)
     sequence_list.play(self, quiet=quiet)
 
+  def stepCreateFakeZODBScript(self, sequence=None, sequence_list=None, **kw):
+    """Create a Script inside portal_skins
+    """
+    grain_of_sand = ''.join([random.choice(string.ascii_letters) for i in xrange(10)])
+    python_script_id = 'ERP5Site_dummyScriptWhichRandomId%s' % grain_of_sand
+    skin_folder_id = 'custom'
+    if getattr(self.portal.portal_skins, skin_folder_id, None) is None:
+        self.portal.portal_skins.manage_addProduct['OFSP'].manage_addFolder(skin_folder_id)
+    skin_folder = self.portal.portal_skins[skin_folder_id]
+    skin_folder.manage_addProduct['PythonScripts'].manage_addPythonScript(
+                                                                 id=python_script_id)
+    sequence.set('python_script_id', python_script_id)
+    sequence.set('skin_folder_id', skin_folder_id)
+
+  def stepAddSkinFolderToBusinessTemplate(self, sequence=None, sequence_list=None, **kw):
+    """
+    Add types to business template
+    """
+    bt = sequence.get('current_bt', None)
+    self.failUnless(bt is not None)
+    bt.edit(template_skin_id_list=('custom'))
+
+  def stepCheckFakeScriptIsDeleted(self, sequence=None, sequence_list=None, **kw):
+    """Check that script inside ZODB is deleted by BT reinstallation
+    """
+    python_script_id = sequence.get('python_script_id')
+    skin_folder_id = sequence.get('skin_folder_id')
+    folder = self.portal.portal_skins[skin_folder_id]
+    self.assertTrue(python_script_id not in folder.objectIds())
+
   def test_38_CheckReinstallation(self, quiet=quiet, run=run_all_test):
     if not run: return
     if not quiet:
@@ -5684,7 +5721,19 @@
                        InstallCurrentBusinessTemplate Tic \
                        Tic \
                        RemoveFirstAction \
+                       CheckBeforeReinstall \
                        ReinstallBusinessTemplate Tic \
+                       \
+                       CreateNewBusinessTemplate \
+                       UseExportBusinessTemplate \
+                       AddSkinFolderToBusinessTemplate \
+                       BuildBusinessTemplate \
+                       SaveBusinessTemplate \
+                       InstallCurrentBusinessTemplate Tic \
+                       CreateFakeZODBScript \
+                       ReinstallBusinessTemplate \
+                       Tic \
+                       CheckFakeScriptIsDeleted \
                        '
     sequence_list.addSequenceString(sequence_string)
     sequence_list.play(self, quiet=quiet)




More information about the Erp5-report mailing list