From 3472e9e911d7dd9cc72793a2dfdbae50c228d6f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com> Date: Thu, 14 Oct 2010 15:09:47 +0000 Subject: [PATCH] - separate test data, so that it is not needed to delete person module between tests git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39186 20353a03-c40f-0410-a6d1-a30d3c3de9de --- .../tests/testERP5RemoteUserManager.py | 122 +++++++----------- 1 file changed, 47 insertions(+), 75 deletions(-) diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py index 820b14b548..8f241b914f 100644 --- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py +++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py @@ -103,7 +103,6 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): erp5_remote_manager_id = 'erp5_remote_user_manager' system_preference_id = 'TestERP5RemoteUserManager' - def setUpRemoteUserManager(self): acl_users = self.portal.acl_users addERP5RemoteUserManager(acl_users, self.erp5_remote_manager_id) @@ -114,6 +113,8 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): transaction.commit() def afterSetUp(self): + self.login = self.id() + self.password = self.login + 'password' self.portal = self.getPortalObject() self.createDummyWitchTool() self.setUpRemoteUserManager() @@ -132,9 +133,6 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): self.removeAuthenticationServerPreferences() transaction.commit() self.tic() - self.person_module.deleteContent(list(self.person_module.objectIds())) - transaction.commit() - self.tic() def removeAuthenticationServerPreferences(self): portal_preferences = self.portal.portal_preferences @@ -184,32 +182,26 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): ############################################################################ def test_correct_login(self): """Checks typical login scenario""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': password} - self.checkLogin((login, login), kw) + kw = {'login':self.login, 'password': self.password} + self.checkLogin((self.login, self.login), kw) def test_incorrect_login(self): """Checks that incorrect login does not work""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': 'another_password'} + kw = {'login':self.login, 'password': 'another_password'} self.checkLogin(None, kw) def test_incorrect_login_in_case_of_no_connection(self): """Checks that in case if there is no authentication server defined it is not possible to login""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': password} + kw = {'login':self.login, 'password': self.password} self.removeAuthenticationServerPreferences() transaction.commit() self.tic() @@ -217,13 +209,11 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): def test_loggable_in_case_of_server_socket_error(self): """Check that in case if socket.error is raised login works from ZODB cache""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': password} - self.checkLogin((login, login), kw) + kw = {'login':self.login, 'password': self.password} + self.checkLogin((self.login, self.login), kw) # patch Wizard Tool to raise in callRemoteProxyMethod from Products.ERP5Wizard.Tool.WizardTool import WizardTool original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod @@ -231,19 +221,17 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): WizardTool.callRemoteProxyMethod = raises_socket_error self.assertRaises(socket.error, self.portal.portal_wizard.callRemoteProxyMethod) - self.checkLogin((login, login), kw) + self.checkLogin((self.login, self.login), kw) finally: WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod def test_loggable_in_case_of_server_socket_sslerror(self): """Check that in case if socket.sslerror is raised login works from ZODB cache""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': password} - self.checkLogin((login, login), kw) + kw = {'login':self.login, 'password': self.password} + self.checkLogin((self.login, self.login), kw) # patch Wizard Tool to raise in callRemoteProxyMethod from Products.ERP5Wizard.Tool.WizardTool import WizardTool original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod @@ -251,19 +239,17 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): WizardTool.callRemoteProxyMethod = raises_socket_sslerror self.assertRaises(socket.sslerror, self.portal.portal_wizard.callRemoteProxyMethod) - self.checkLogin((login, login), kw) + self.checkLogin((self.login, self.login), kw) finally: WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod def test_not_loggable_in_case_of_server_raises_anything_else(self): """Check that in case if non socket is raised login does not works""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': password} - self.checkLogin((login, login), kw) + kw = {'login':self.login, 'password': self.password} + self.checkLogin((self.login, self.login), kw) # patch Wizard Tool to raise in callRemoteProxyMethod from Products.ERP5Wizard.Tool.WizardTool import WizardTool original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod @@ -273,7 +259,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): self.portal.portal_wizard.callRemoteProxyMethod) self.checkLogin(None, kw) # assert that ZODB cache is emptied - self.assertFalse(login in \ + self.assertFalse(self.login in \ self.erp5_remote_manager.remote_authentication_cache) finally: WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod @@ -281,13 +267,11 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): def test_loggable_in_case_of_server_socket_error_with_failed_login_between( self): """Check that in case if socket.sslerror is raised login works from ZODB cache, when wrong credentials was passed""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': password} - self.checkLogin((login, login), kw) + kw = {'login':self.login, 'password': self.password} + self.checkLogin((self.login, self.login), kw) # patch Wizard Tool to raise in callRemoteProxyMethod from Products.ERP5Wizard.Tool.WizardTool import WizardTool original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod @@ -295,21 +279,19 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): WizardTool.callRemoteProxyMethod = raises_socket_error self.assertRaises(socket.error, self.portal.portal_wizard.callRemoteProxyMethod) - self.checkLogin((login, login), kw) + self.checkLogin((self.login, self.login), kw) self.checkLogin(None, {'login':kw['login'], 'password':'wrong_password'}) - self.checkLogin((login, login), kw) + self.checkLogin((self.login, self.login), kw) finally: WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod def test_loggable_in_case_of_server_socket_timeout(self): """Check that in case if socket.timeout is raised login works from ZODB cache""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': password} - self.checkLogin((login, login), kw) + kw = {'login':self.login, 'password': self.password} + self.checkLogin((self.login, self.login), kw) # patch Wizard Tool to raise in callRemoteProxyMethod from Products.ERP5Wizard.Tool.WizardTool import WizardTool original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod @@ -317,19 +299,17 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): WizardTool.callRemoteProxyMethod = raises_socket_timeout self.assertRaises(socket.timeout, self.portal.portal_wizard.callRemoteProxyMethod) - self.checkLogin((login, login), kw) + self.checkLogin((self.login, self.login), kw) finally: WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod def test_loggable_in_case_of_server_gaierror(self): """Check that in case if socket.gaierror is raised login works from ZODB cache""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': password} - self.checkLogin((login, login), kw) + kw = {'login':self.login, 'password': self.password} + self.checkLogin((self.login, self.login), kw) # patch Wizard Tool to raise in callRemoteProxyMethod from Products.ERP5Wizard.Tool.WizardTool import WizardTool original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod @@ -337,19 +317,17 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): WizardTool.callRemoteProxyMethod = raises_socket_gaierror self.assertRaises(socket.gaierror, self.portal.portal_wizard.callRemoteProxyMethod) - self.checkLogin((login, login), kw) + self.checkLogin((self.login, self.login), kw) finally: WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod def test_loggable_in_case_of_server_gaierror_normal_cache(self): """Check that in case if socket.gaierror is raised login works from usual cache""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': password} - expected = (login, login) + kw = {'login':self.login, 'password': self.password} + expected = (self.login, self.login) sent = kw self.assertEqual(expected, self.erp5_remote_manager.authenticateCredentials(sent)) @@ -367,13 +345,11 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): def test_loggable_in_case_of_server_raises_anythin_else_normal_cache(self): """Check that in case if non socket is raised login works from usual cache""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': password} - expected = (login, login) + kw = {'login':self.login, 'password': self.password} + expected = (self.login, self.login) sent = kw self.assertEqual(expected, self.erp5_remote_manager.authenticateCredentials(sent)) @@ -391,12 +367,10 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): def test_not_loggable_in_case_of_server_gaierror_no_log_before(self): """Check that in case if socket.gaierror is raised login does not work in case of empty ZODB cache""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': password} + kw = {'login':self.login, 'password': self.password} # patch Wizard Tool to raise in callRemoteProxyMethod from Products.ERP5Wizard.Tool.WizardTool import WizardTool original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod @@ -410,17 +384,15 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase): def test_wrong_login_clears_zodb_cache(self): """Check that wrong login attempt clears ZODB cache""" - login = 'someone' - password = 'somepass' - self.createPerson(login, password) + self.createPerson(self.login, self.password) transaction.commit() self.tic() - kw = {'login':login, 'password': password} - self.checkLogin((login, login), kw) - self.assertTrue(login in \ + kw = {'login':self.login, 'password': self.password} + self.checkLogin((self.login, self.login), kw) + self.assertTrue(self.login in \ self.erp5_remote_manager.remote_authentication_cache) self.checkLogin(None, {'login':kw['login'], 'password':'wrong_password'}) - self.assertFalse(login in \ + self.assertFalse(self.login in \ self.erp5_remote_manager.remote_authentication_cache) def test_suite(): -- 2.30.9