From cc2b5728e14cb4cbad3d26340742bf7cd56a96d3 Mon Sep 17 00:00:00 2001 From: Yusei Tahara <yusei@nexedi.com> Date: Tue, 26 Feb 2008 13:19:28 +0000 Subject: [PATCH] Added a test case with security. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@19510 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5OOo/tests/testDms.py | 63 ++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/product/ERP5OOo/tests/testDms.py b/product/ERP5OOo/tests/testDms.py index 2f05329d46..8113eb1ec5 100644 --- a/product/ERP5OOo/tests/testDms.py +++ b/product/ERP5OOo/tests/testDms.py @@ -651,9 +651,72 @@ class TestDocument(ERP5TypeTestCase, ZopeTestCase.Functional): image = image_list[0] self.assertEquals('embedded', image.getValidationState()) + +class TestDocumentWithSecurity(ERP5TypeTestCase): + + username = 'yusei' + + def getTitle(self): + return "DMS with security" + + 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) + self.login() + + 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.enable() + get_transaction().commit() + self.tic() + + 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_web', 'erp5_dms_mysql_innodb_catalog', 'erp5_dms') + + def test_ShowPreviewAfterSubmitted(self, quiet=QUIET, run=RUN_ALL_TEST): + """ + Make sure that uploader can preview document after submitted. + """ + if not run: return + filename = 'REF-en-001.odt' + upload_file = makeFileUpload(filename) + document = self.portal.portal_contributions.newContent(file=upload_file) + + get_transaction().commit() + self.tic() + + document.submit() + + preview_html = document.Document_getPreviewAsHTML().replace('\n', ' ') + + get_transaction().commit() + self.tic() + + self.assert_('I use reference to look up TEST' in preview_html) + + def test_suite(): suite = unittest.TestSuite() suite.addTest(unittest.makeSuite(TestDocument)) + suite.addTest(unittest.makeSuite(TestDocumentWithSecurity)) return suite -- 2.30.9