From f5b88f630967a1d01b0eb117320abba20a9a97e2 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Fri, 26 Jun 2015 12:44:03 +0200 Subject: [PATCH] [IMP] minor perf improvement during tests During tests, some creation of user records would unnecessarily trigger password reset or set a password, both of which would trigger password hashing which takes some time (for good reasons). Fix by: * passing no_reset_password in YAML tests and some Python tests still missing it (a number of Python tests already used it) * removing passwords from YAML records as they're never necessary, the test user records are not expected to ever log in --- addons/account/test/account_test_users.yml | 4 +--- addons/account_voucher/test/account_voucher_users.yml | 2 -- addons/auth_signup/auth_signup_data.xml | 2 -- addons/crm/test/crm_access_group_users.yml | 2 -- addons/crm/test/lead2opportunity_assign_salesmen.yml | 4 ---- addons/event/test/ui/event_users.yml | 2 -- addons/hr/test/hr_users.yml | 3 --- addons/hr_attendance/test/attendance_process.yml | 1 - addons/hr_recruitment/test/recruitment_process.yml | 1 - addons/hr_timesheet/test/hr_timesheet_users.yml | 3 --- addons/mail/tests/common.py | 4 ++-- addons/mrp/test/mrp_users.yml | 4 +--- addons/mrp_operations/test/workcenter_operations.yml | 1 - addons/mrp_repair/test/mrp_repair_users.yml | 4 +--- addons/portal/tests/test_portal.py | 7 ++++++- addons/portal_project/tests/test_access_rights.py | 6 +++--- addons/project/tests/test_project_base.py | 6 +++--- addons/project_issue/test/issue_users.yml | 4 +--- .../test/worktask_entry_to_timesheetline_entry.yml | 1 - addons/purchase/test/ui/purchase_users.yml | 2 -- .../test/purchase_requisition_users.yml | 4 +--- addons/sale/test/create_sale_users.yml | 2 -- addons/sale_stock/test/sale_stock_users.yml | 5 ----- addons/stock/test/stock_users.yml | 2 -- openerp/tools/yaml_import.py | 6 +++--- 25 files changed, 22 insertions(+), 60 deletions(-) diff --git a/addons/account/test/account_test_users.yml b/addons/account/test/account_test_users.yml index c0002ac8b67..7426fb7e8a3 100644 --- a/addons/account/test/account_test_users.yml +++ b/addons/account/test/account_test_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: Accountant login: acc - password: acc email: accountuser@yourcompany.com - I added groups for Accountant. @@ -21,7 +20,6 @@ company_id: base.main_company name: Financial Manager login: fm - password: fm email: accountmanager@yourcompany.com - I added groups for Financial Manager. @@ -29,4 +27,4 @@ !record {model: res.users, id: res_users_account_manager}: groups_id: - account.group_account_manager - - base.group_partner_manager \ No newline at end of file + - base.group_partner_manager diff --git a/addons/account_voucher/test/account_voucher_users.yml b/addons/account_voucher/test/account_voucher_users.yml index cb822ae4cef..4126ef874bc 100644 --- a/addons/account_voucher/test/account_voucher_users.yml +++ b/addons/account_voucher/test/account_voucher_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: Voucher Accountant login: vacc - password: acc email: accountant@yourcompany.com - I added groups to Accountant for account voucher. @@ -21,7 +20,6 @@ company_id: base.main_company name: Financial Manager for voucher login: fmv - password: fmv email: finmanager@yourcompany.com - I added groups to Financial Manager for account voucher. diff --git a/addons/auth_signup/auth_signup_data.xml b/addons/auth_signup/auth_signup_data.xml index 096d2327393..8f057e6d490 100644 --- a/addons/auth_signup/auth_signup_data.xml +++ b/addons/auth_signup/auth_signup_data.xml @@ -6,8 +6,6 @@ Template User portaltemplate - - diff --git a/addons/crm/test/crm_access_group_users.yml b/addons/crm/test/crm_access_group_users.yml index ffde96a18f3..e7fdc86d096 100644 --- a/addons/crm/test/crm_access_group_users.yml +++ b/addons/crm/test/crm_access_group_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: Crm Sales manager login: csm - password: csm email: crmmanager@yourcompany.com - I added groups for Crm Salesmanager. @@ -20,7 +19,6 @@ company_id: base.main_company name: Crm Salesman login: csu - password: csu email: crmuser@yourcompany.com - I added groups for Crm Salesman. diff --git a/addons/crm/test/lead2opportunity_assign_salesmen.yml b/addons/crm/test/lead2opportunity_assign_salesmen.yml index 2de9a237837..cb8e4377c1e 100644 --- a/addons/crm/test/lead2opportunity_assign_salesmen.yml +++ b/addons/crm/test/lead2opportunity_assign_salesmen.yml @@ -4,22 +4,18 @@ !record {model: res.users, id: test_res_user_01}: name: 'Test user A' login: 'tua@example.com' - new_password: 'tua' - !record {model: res.users, id: test_res_user_02}: name: 'Test user B' login: 'tub@example.com' - new_password: 'tub' - !record {model: res.users, id: test_res_user_03}: name: 'Test user C' login: 'tuc@example.com' - new_password: 'tuc' - !record {model: res.users, id: test_res_user_04}: name: 'Test user D' login: 'tud@example.com' - new_password: 'tud' - Salesman also creates lead so giving access rights of salesman. - diff --git a/addons/event/test/ui/event_users.yml b/addons/event/test/ui/event_users.yml index 1f4d7a56035..15dbe3b7cb9 100644 --- a/addons/event/test/ui/event_users.yml +++ b/addons/event/test/ui/event_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: Event manager login: em - password: em email: eventmanager@yourcompany.com - I added groups for Event manager. @@ -20,7 +19,6 @@ company_id: base.main_company name: User login: eu - password: eu email: eventuser@yourcompany.com - I added groups for Event user. diff --git a/addons/hr/test/hr_users.yml b/addons/hr/test/hr_users.yml index 820180bfc9b..551dcb63d0f 100644 --- a/addons/hr/test/hr_users.yml +++ b/addons/hr/test/hr_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: HR manager login: hrm - password: hrm - I added groups for HR Manager. - @@ -19,7 +18,6 @@ company_id: base.main_company name: HR Officer login: hro - password: hro email: hro@example.com - I added groups for HR Officer. @@ -34,7 +32,6 @@ company_id: base.main_company name: Employee login: emp - password: emp - I added groups for Employee. - diff --git a/addons/hr_attendance/test/attendance_process.yml b/addons/hr_attendance/test/attendance_process.yml index e8e97d57ee9..68ca2fd2458 100644 --- a/addons/hr_attendance/test/attendance_process.yml +++ b/addons/hr_attendance/test/attendance_process.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: HR Officer login: ao - password: ao - I added groups for HR Attendance Officer. - diff --git a/addons/hr_recruitment/test/recruitment_process.yml b/addons/hr_recruitment/test/recruitment_process.yml index 85abad2a9d6..201b8781981 100644 --- a/addons/hr_recruitment/test/recruitment_process.yml +++ b/addons/hr_recruitment/test/recruitment_process.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: HR Recruitment Officer login: hrro - password: hrro email: hrofcr@yourcompany.com - I added groups for HR Recruitment Officer. diff --git a/addons/hr_timesheet/test/hr_timesheet_users.yml b/addons/hr_timesheet/test/hr_timesheet_users.yml index 09731a16cf9..181ce6b6597 100644 --- a/addons/hr_timesheet/test/hr_timesheet_users.yml +++ b/addons/hr_timesheet/test/hr_timesheet_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: HR timesheet manager login: hrtm - password: hrtm - I added groups for HR timesheet Manager. - @@ -19,7 +18,6 @@ company_id: base.main_company name: HR timesheet Officer login: hrto - password: hrto - I added groups for HR timesheet Officer. - @@ -33,7 +31,6 @@ company_id: base.main_company name: Timesheet Employee login: empt - password: empt - I added groups for Timesheet Employee. - diff --git a/addons/mail/tests/common.py b/addons/mail/tests/common.py index 3bc8a0b020e..ece31fd43c9 100644 --- a/addons/mail/tests/common.py +++ b/addons/mail/tests/common.py @@ -100,7 +100,7 @@ class TestMail(common.SavepointCase): 'login': 'raoul', 'alias_name': 'raoul', 'groups_id': [(6, 0, [cls.group_employee_id])] - }) + }, {'no_reset_password': True}) cls.user_bert_id = cls.res_users.create(cr, uid, { 'name': 'Bert Tartignole', 'signature': 'SignBert', @@ -108,7 +108,7 @@ class TestMail(common.SavepointCase): 'login': 'bert', 'alias_name': 'bert', 'groups_id': [(6, 0, [])] - }) + }, {'no_reset_password': True}) cls.user_raoul = cls.res_users.browse(cr, uid, cls.user_raoul_id) cls.user_bert = cls.res_users.browse(cr, uid, cls.user_bert_id) cls.user_admin = cls.res_users.browse(cr, uid, uid) diff --git a/addons/mrp/test/mrp_users.yml b/addons/mrp/test/mrp_users.yml index 8f89207a47d..414610feb19 100644 --- a/addons/mrp/test/mrp_users.yml +++ b/addons/mrp/test/mrp_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: MRP Manager login: mam - password: mam email: mrp_manager@yourcompany.com - I added groups for MRP Manager. @@ -21,11 +20,10 @@ company_id: base.main_company name: MRP User login: mau - password: mau email: mrp_user@yourcompany.com - I added groups for MRP User. - !record {model: res.users, id: res_users_mrp_user}: groups_id: - - mrp.group_mrp_user \ No newline at end of file + - mrp.group_mrp_user diff --git a/addons/mrp_operations/test/workcenter_operations.yml b/addons/mrp_operations/test/workcenter_operations.yml index d4533d6b3a5..d9b936d18cf 100644 --- a/addons/mrp_operations/test/workcenter_operations.yml +++ b/addons/mrp_operations/test/workcenter_operations.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: MRP User login: maou - password: maou email: mrp_operation_user@yourcompany.com - I added groups for MRP User. diff --git a/addons/mrp_repair/test/mrp_repair_users.yml b/addons/mrp_repair/test/mrp_repair_users.yml index fe8a2f5babe..ba39b09ab0d 100644 --- a/addons/mrp_repair/test/mrp_repair_users.yml +++ b/addons/mrp_repair/test/mrp_repair_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: MRP Manager login: marm - password: marm email: mrp_repair_manager@yourcompany.com - I added groups for MRP Repair Manager. @@ -20,11 +19,10 @@ company_id: base.main_company name: MRP User login: maru - password: maru email: mrp_repair_user@yourcompany.com - I added groups for MRP Repair User. - !record {model: res.users, id: res_mrp_repair_user}: groups_id: - - mrp.group_mrp_user \ No newline at end of file + - mrp.group_mrp_user diff --git a/addons/portal/tests/test_portal.py b/addons/portal/tests/test_portal.py index 6da7cfe6709..c6381a6da08 100644 --- a/addons/portal/tests/test_portal.py +++ b/addons/portal/tests/test_portal.py @@ -36,7 +36,12 @@ class test_portal(TestMail): cls.group_portal_id = cls.env.ref('base.group_portal').id # Create Chell (portal user) - cls.user_chell_id = cls.res_users.create(cr, uid, {'name': 'Chell Gladys', 'login': 'chell', 'email': 'chell@gladys.portal', 'groups_id': [(6, 0, [cls.group_portal_id])]}) + cls.user_chell_id = cls.res_users.create(cr, uid, { + 'name': 'Chell Gladys', + 'login': 'chell', + 'email': 'chell@gladys.portal', + 'groups_id': [(6, 0, [cls.group_portal_id])] + }, {'no_reset_password': True}) cls.user_chell = cls.res_users.browse(cr, uid, cls.user_chell_id) cls.partner_chell_id = cls.user_chell.partner_id.id diff --git a/addons/portal_project/tests/test_access_rights.py b/addons/portal_project/tests/test_access_rights.py index a4f29735a69..767583a77d7 100644 --- a/addons/portal_project/tests/test_access_rights.py +++ b/addons/portal_project/tests/test_access_rights.py @@ -45,19 +45,19 @@ class TestPortalProjectBase(TestProjectBase): 'login': 'chell', 'alias_name': 'chell', 'groups_id': [(6, 0, [self.group_portal_id])] - }) + }, {'no_reset_password': True}) self.user_public_id = self.res_users.create(cr, uid, { 'name': 'Donovan Public', 'login': 'donovan', 'alias_name': 'donovan', 'groups_id': [(6, 0, [self.group_public_id])] - }) + }, {'no_reset_password': True}) self.user_manager_id = self.res_users.create(cr, uid, { 'name': 'Eustache Manager', 'login': 'eustache', 'alias_name': 'eustache', 'groups_id': [(6, 0, [self.group_project_manager_id])] - }) + }, {'no_reset_password': True}) # Test 'Pigs' project self.project_pigs_id = self.project_project.create(cr, uid, { diff --git a/addons/project/tests/test_project_base.py b/addons/project/tests/test_project_base.py index fc788de5c6c..3c91a979315 100644 --- a/addons/project/tests/test_project_base.py +++ b/addons/project/tests/test_project_base.py @@ -57,21 +57,21 @@ class TestProjectBase(TestMail): 'alias_name': 'armande', 'email': 'armande.projectuser@example.com', 'groups_id': [(6, 0, [cls.group_employee_id, cls.group_project_user_id])] - }) + }, {'no_reset_password': True}) cls.user_projectmanager_id = cls.res_users.create(cr, uid, { 'name': 'Bastien ProjectManager', 'login': 'bastien', 'alias_name': 'bastien', 'email': 'bastien.projectmanager@example.com', 'groups_id': [(6, 0, [cls.group_employee_id, cls.group_project_manager_id])] - }) + }, {'no_reset_password': True}) cls.user_none_id = cls.res_users.create(cr, uid, { 'name': 'Charlie Avotbonkeur', 'login': 'charlie', 'alias_name': 'charlie', 'email': 'charlie.noone@example.com', 'groups_id': [(6, 0, [])] - }) + }, {'no_reset_password': True}) cls.user_projectuser = cls.res_users.browse(cr, uid, cls.user_projectuser_id) cls.user_projectmanager = cls.res_users.browse(cr, uid, cls.user_projectmanager_id) cls.partner_projectuser_id = cls.user_projectuser.partner_id.id diff --git a/addons/project_issue/test/issue_users.yml b/addons/project_issue/test/issue_users.yml index 7ec9d22c7e2..a0ad327b86b 100644 --- a/addons/project_issue/test/issue_users.yml +++ b/addons/project_issue/test/issue_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: Project Manager login: prim - password: prim email: issuemanager@yourcompany.com - I added groups for Project manager. @@ -20,11 +19,10 @@ company_id: base.main_company name: Project User login: priu - password: priu email: issueuser@yourcompany.com - I added groups for Project user. - !record {model: res.users, id: res_users_project_issue_user}: groups_id: - - project.group_project_user \ No newline at end of file + - project.group_project_user diff --git a/addons/project_timesheet/test/worktask_entry_to_timesheetline_entry.yml b/addons/project_timesheet/test/worktask_entry_to_timesheetline_entry.yml index bab5a083e3d..4b7405f81e9 100644 --- a/addons/project_timesheet/test/worktask_entry_to_timesheetline_entry.yml +++ b/addons/project_timesheet/test/worktask_entry_to_timesheetline_entry.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: HR Manager login: hr - password: hr groups_id: - base.group_hr_manager - diff --git a/addons/purchase/test/ui/purchase_users.yml b/addons/purchase/test/ui/purchase_users.yml index e15998589d0..872af41a6d8 100644 --- a/addons/purchase/test/ui/purchase_users.yml +++ b/addons/purchase/test/ui/purchase_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: Purchase Manager login: pm - password: pm email: purchasemanager@yourcompany.com - I added groups for Purchase manager. @@ -20,7 +19,6 @@ company_id: base.main_company name: Purchase User login: pu - password: pu email: purchaseuser@yourcompany.com - I added groups for Purchase user. diff --git a/addons/purchase_requisition/test/purchase_requisition_users.yml b/addons/purchase_requisition/test/purchase_requisition_users.yml index 4e66d70a25c..61f9c0952cb 100644 --- a/addons/purchase_requisition/test/purchase_requisition_users.yml +++ b/addons/purchase_requisition/test/purchase_requisition_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: Purchase requisition Manager login: prm - password: prm email: requisition_manager@yourcompany.com - I added groups for Purchase Requisition Manager. @@ -20,11 +19,10 @@ company_id: base.main_company name: Purchase requisition User login: pru - password: pru email: requisition_user@yourcompany.com - I added groups for Purchase Requisition User. - !record {model: res.users, id: res_users_purchase_requisition_user}: groups_id: - - purchase_requisition.group_purchase_requisition_user \ No newline at end of file + - purchase_requisition.group_purchase_requisition_user diff --git a/addons/sale/test/create_sale_users.yml b/addons/sale/test/create_sale_users.yml index 165fc2130c5..0035b7675df 100644 --- a/addons/sale/test/create_sale_users.yml +++ b/addons/sale/test/create_sale_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: Sales manager login: sm - password: sm email: salesmanager@yourcompany.com - I added groups for Salesmanager. @@ -20,7 +19,6 @@ company_id: base.main_company name: Salesman login: su - password: su email: salesman@yourcompany.com - I added groups for Salesman. diff --git a/addons/sale_stock/test/sale_stock_users.yml b/addons/sale_stock/test/sale_stock_users.yml index 04152b43c9a..559929632c9 100644 --- a/addons/sale_stock/test/sale_stock_users.yml +++ b/addons/sale_stock/test/sale_stock_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: Stock Sales manager login: ssm - password: ssm email: ss_salesmanager@yourcompany.com - I added groups for Salesmanager. @@ -20,7 +19,6 @@ company_id: base.main_company name: Stock Salesman login: ssu - password: ssu email: ss_salesman@yourcompany.com - I added groups for Stock Salesman. @@ -36,7 +34,6 @@ company_id: base.main_company name: Stock User login: sau - password: sau email: stock_user@yourcompany.com - I added groups for Stock User. @@ -51,8 +48,6 @@ company_id: base.main_company name: Stock Manager login: sam - password: sam - email: admin@portal.example.com email: stock_manager@yourcompany.com - I added groups for Stock Manager. diff --git a/addons/stock/test/stock_users.yml b/addons/stock/test/stock_users.yml index 0dbb576c115..6bd8f3ebbd5 100644 --- a/addons/stock/test/stock_users.yml +++ b/addons/stock/test/stock_users.yml @@ -5,7 +5,6 @@ company_id: base.main_company name: Stock Manager login: sam - password: sam email: stockmanager@yourcompany.com - I added groups for Stock Manager. @@ -20,7 +19,6 @@ company_id: base.main_company name: Stock User login: sau - password: sau email: stockuser@yourcompany.com - I added groups for Stock User. diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py index 168109a0cc7..43a4f925353 100644 --- a/openerp/tools/yaml_import.py +++ b/openerp/tools/yaml_import.py @@ -316,10 +316,10 @@ class YamlInterpreter(object): if not self._coerce_bool(record.forcecreate): return None - #context = self.get_context(record, self.eval_context) - #TOFIX: record.context like {'withoutemployee':True} should pass from self.eval_context. example: test_project.yml in project module - context = record.context + # FIXME: record.context like {'withoutemployee':True} should pass from self.eval_context. example: test_project.yml in project module + # TODO: cleaner way to avoid resetting password in auth_signup (makes user creation costly) + context = dict(record.context or {}, no_reset_password=True) view_info = False if view_id: varg = view_id