From ac27abb330a8be83064496a03564dfafd325899f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Fri, 1 Mar 2019 04:39:53 +0100 Subject: [PATCH] access_token: simplify test for dumb extraction plugin This test does not need to create an actual user as it just check plugin extract login & password from request. This test does not need to install the plugin in PAS, the actual check instanciate another ERP5DumbHTTPExtractionPlugin. --- .../test.erp5.testERP5AccessToken.py | 38 ++----------------- 1 file changed, 3 insertions(+), 35 deletions(-) diff --git a/bt5/erp5_access_token/TestTemplateItem/portal_components/test.erp5.testERP5AccessToken.py b/bt5/erp5_access_token/TestTemplateItem/portal_components/test.erp5.testERP5AccessToken.py index 5ead367df9..2e88333509 100644 --- a/bt5/erp5_access_token/TestTemplateItem/portal_components/test.erp5.testERP5AccessToken.py +++ b/bt5/erp5_access_token/TestTemplateItem/portal_components/test.erp5.testERP5AccessToken.py @@ -42,14 +42,12 @@ class AccessTokenTestCase(ERP5TypeTestCase): return ('erp5_base', 'erp5_access_token') - def _createPerson(self, new_id, password=None): + def _createPerson(self, new_id): """Creates a person in person module, and returns the object, after indexing is done. """ person_module = self.getPersonModule() person = person_module.newContent(portal_type='Person', reference='TESTP-' + new_id) - if password: - person.setPassword(password) person.newContent(portal_type='Assignment').open() person.newContent(portal_type='ERP5 Login', reference=new_id).validate() self.tic() @@ -388,20 +386,6 @@ class TestERP5AccessTokenAlarm(AccessTokenTestCase): class TestERP5DumbHTTPExtractionPlugin(AccessTokenTestCase): - test_id = 'test_erp5_dumb_http_extraction' - - def generateNewId(self): - return str(self.portal.portal_ids.generateNewId( - id_group=('erp5_dumb_http_test_id'))) - - def afterSetUp(self): - """ - This is ran before anything, used to set the environment - """ - self.new_id = self.generateNewId() - self._setupDumbHTTPExtraction() - self.tic() - def do_fake_request(self, request_method, headers=None): if headers is None: headers = {} @@ -423,26 +407,10 @@ class TestERP5DumbHTTPExtractionPlugin(AccessTokenTestCase): env.update(headers) return HTTPRequest(StringIO.StringIO(), env, HTTPResponse()) - def _setupDumbHTTPExtraction(self): - pas = self.portal.acl_users - access_extraction_list = [q for q in pas.objectValues() \ - if q.meta_type == 'ERP5 Dumb HTTP Extraction Plugin'] - if len(access_extraction_list) == 0: - dispacher = pas.manage_addProduct['ERP5Security'] - dispacher.addERP5DumbHTTPExtractionPlugin(self.test_id) - getattr(pas, self.test_id).manage_activateInterfaces( - ('IExtractionPlugin',)) - elif len(access_extraction_list) == 1: - self.test_id = access_extraction_list[0].getId() - elif len(access_extraction_list) > 1: - raise ValueError - self.commit() - def test_working_authentication(self): - self._createPerson(self.new_id, "test") - request = self.do_fake_request("GET", {"HTTP_AUTHORIZATION": "Basic " + base64.b64encode("%s:test" % self.new_id)}) + request = self.do_fake_request("GET", {"HTTP_AUTHORIZATION": "Basic " + base64.b64encode("login:password")}) ret = ERP5DumbHTTPExtractionPlugin("default_extraction").extractCredentials(request) - self.assertEqual(ret, {'login': self.new_id, 'password': 'test', 'remote_host': 'bobo.remote.host', 'remote_address': '204.183.226.81 '}) + self.assertEqual(ret, {'login': 'login', 'password': 'password', 'remote_host': 'bobo.remote.host', 'remote_address': '204.183.226.81 '}) class TestERP5AccessTokenUpgraderEnablePlugin(AccessTokenTestCase): -- 2.30.9