diff --git a/product/ERP5OOo/tests/testDms.py b/product/ERP5OOo/tests/testDms.py index 54f817863641726d8c29031becb59aec173c02f4..a52ba274709f08f740c15a031a1b1a90e99ec6f9 100644 --- a/product/ERP5OOo/tests/testDms.py +++ b/product/ERP5OOo/tests/testDms.py @@ -101,20 +101,8 @@ def makeFileUpload(name, as_name=None): path = makeFilePath(name) return FileUpload(path, as_name) - -class TestDocument(ERP5TypeTestCase, ZopeTestCase.Functional): - """ - Test basic document - related operations - """ - - def getTitle(self): - return "DMS" - - ## setup - +class TestDocumentMixin(ERP5TypeTestCase): def setUpOnce(self): - self.setDefaultSitePreference() - self.setSystemPreference() # set a dummy localizer (because normally it is cookie based) self.portal.Localizer = DummyLocalizer() # make sure every body can traverse document module @@ -124,13 +112,19 @@ class TestDocument(ERP5TypeTestCase, ZopeTestCase.Functional): transaction.commit() self.tic() + def afterSetUp(self): + self.setDefaultSitePreference() + self.setSystemPreference() + transaction.commit() + self.tic() + def setDefaultSitePreference(self): default_pref = self.portal.portal_preferences.default_site_preference default_pref.setPreferredOoodocServerAddress(conversion_server_host[0]) default_pref.setPreferredOoodocServerPortNumber(conversion_server_host[1]) default_pref.setPreferredDocumentFileNameRegularExpression(FILE_NAME_REGULAR_EXPRESSION) default_pref.setPreferredDocumentReferenceRegularExpression(REFERENCE_REGULAR_EXPRESSION) - if default_pref.getPreferenceState() != 'global': + if self.portal.portal_workflow.isTransitionPossible(default_pref, 'enable'): default_pref.enable() return default_pref @@ -143,7 +137,7 @@ class TestDocument(ERP5TypeTestCase, ZopeTestCase.Functional): portal_type=portal_type) else: preference = preference_list[0] - if preference.getPreferenceState() != 'global': + if self.portal.portal_workflow.isTransitionPossible(preference, 'enable'): preference.enable() return preference @@ -182,6 +176,17 @@ class TestDocument(ERP5TypeTestCase, ZopeTestCase.Functional): transaction.commit() self.tic() +class TestDocument(TestDocumentMixin): + """ + Test basic document - related operations + """ + + def getTitle(self): + return "DMS" + + ## setup + + ## helper methods def createTestDocument(self, file_name=None, portal_type='Text', reference='TEST', version='002', language='en'): @@ -1636,63 +1641,19 @@ style=3D'color:black'>05D65812<o:p></o:p></span></p> result_list.append(i) self.assertEquals(result_list, []) -class TestDocumentWithSecurity(ERP5TypeTestCase): +class TestDocumentWithSecurity(TestDocumentMixin): username = 'yusei' def getTitle(self): return "DMS with security" - def afterSetUp(self): - self.setDefaultSitePreference() - self.setSystemPreference() - # set a dummy localizer (because normally it is cookie based) - self.portal.Localizer = DummyLocalizer() - # make sure every body can traverse document module - self.portal.document_module.manage_permission('View', ['Anonymous'], 1) - self.portal.document_module.manage_permission( - 'Access contents information', ['Anonymous'], 1) - transaction.commit() - self.tic() - self.login() - - def setDefaultSitePreference(self): - default_pref = self.portal.portal_preferences.default_site_preference - default_pref.setPreferredOoodocServerAddress(conversion_server_host[0]) - default_pref.setPreferredOoodocServerPortNumber(conversion_server_host[1]) - default_pref.setPreferredDocumentFileNameRegularExpression(FILE_NAME_REGULAR_EXPRESSION) - default_pref.setPreferredDocumentReferenceRegularExpression(REFERENCE_REGULAR_EXPRESSION) - if default_pref.getPreferenceState() != 'global': - default_pref.enable() - return default_pref - - def setSystemPreference(self): - portal_type = 'System Preference' - preference_list = self.portal.portal_preferences.contentValues( - portal_type=portal_type) - if not preference_list: - preference = self.portal.portal_preferences.newContent( - portal_type=portal_type) - else: - preference = preference_list[0] - if preference.getPreferenceState() != 'global': - preference.enable() - return preference - def login(self): uf = self.getPortal().acl_users uf._doAddUser(self.username, '', ['Auditor', 'Author'], []) user = uf.getUserById(self.username).__of__(uf) newSecurityManager(None, user) - def getDocumentModule(self): - return getattr(self.getPortal(),'document_module') - - def getBusinessTemplateList(self): - return ('erp5_base', - 'erp5_ingestion', 'erp5_ingestion_mysql_innodb_catalog', - 'erp5_web', 'erp5_dms') - def test_ShowPreviewAfterSubmitted(self, quiet=QUIET, run=RUN_ALL_TEST): """ Make sure that uploader can preview document after submitted. diff --git a/product/ERP5OOo/tests/testOOoConversionCache.py b/product/ERP5OOo/tests/testOOoConversionCache.py index c5d98a2e9ac520eb86b285a15410a4300b631c00..f375a6fc9af2b6aee83f0c895bd1950ff25a373f 100644 --- a/product/ERP5OOo/tests/testOOoConversionCache.py +++ b/product/ERP5OOo/tests/testOOoConversionCache.py @@ -33,7 +33,7 @@ import time import transaction from Testing import ZopeTestCase -from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase +from testDms import TestDocumentMixin from Products.ERP5Type.tests.utils import FileUpload from Products.ERP5Type.tests.utils import DummyLocalizer from AccessControl.SecurityManagement import newSecurityManager @@ -59,7 +59,7 @@ def makeFileUpload(name, as_name=None): return FileUpload(path, as_name) -class TestDocumentConversionCache(ERP5TypeTestCase, ZopeTestCase.Functional): +class TestDocumentConversionCache(TestDocumentMixin): """ Test basic document - related operations """ @@ -76,39 +76,7 @@ class TestDocumentConversionCache(ERP5TypeTestCase, ZopeTestCase.Functional): ) def getTitle(self): - return "DMS" - - ## setup - - def afterSetUp(self): - self.setSystemPreference() - # set a dummy localizer (because normally it is cookie based) - self.portal.Localizer = DummyLocalizer() - # make sure every body can traverse document module - self.portal.document_module.manage_permission('View', ['Anonymous'], 1) - self.portal.document_module.manage_permission( - 'Access contents information', ['Anonymous'], 1) - - def setSystemPreference(self): - default_pref = self.portal.portal_preferences.default_site_preference - default_pref.setPreferredOoodocServerAddress(conversion_server_host[0]) - default_pref.setPreferredOoodocServerPortNumber(conversion_server_host[1]) - default_pref.setPreferredDocumentFileNameRegularExpression(FILE_NAME_REGULAR_EXPRESSION) - default_pref.setPreferredDocumentReferenceRegularExpression(REFERENCE_REGULAR_EXPRESSION) - default_pref.setPreferredConversionCacheFactory('document_cache_factory') - if default_pref.getPreferenceState() != 'global': - default_pref.enable() - - def getDocumentModule(self): - return getattr(self.getPortal(),'document_module') - - def getBusinessTemplateList(self): - return ('erp5_base', - 'erp5_ingestion', 'erp5_ingestion_mysql_innodb_catalog', - 'erp5_web', 'erp5_dms') - - def getNeededCategoryList(self): - return () + return "OOo Conversion Cache" def beforeTearDown(self): """ @@ -117,18 +85,6 @@ class TestDocumentConversionCache(ERP5TypeTestCase, ZopeTestCase.Functional): """ self.clearDocumentModule() - def clearDocumentModule(self): - """ - Remove everything after each run - """ - transaction.abort() - self.tic() - doc_module = self.getDocumentModule() - ids = [i for i in doc_module.objectIds()] - doc_module.manage_delObjects(ids) - transaction.commit() - self.tic() - def clearCache(self): self.portal.portal_caches.clearAllCache()