From ef9429231ce4b53f73e2f0faf27a691bbd02e267 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Wed, 2 Feb 2022 11:31:43 +0000 Subject: [PATCH] [IMP] various: update query counters Notably after odoo/odoo@f9442f47eb2d6e1d2e3e9fac39e503f0aa86e333 query counters are heavily impacted and a lot of them has lessened. closes odoo/odoo#83832 Signed-off-by: Thibault Delavallee (tde) --- .../crm/tests/test_crm_lead_convert_mass.py | 6 +-- addons/crm/tests/test_performances.py | 6 +-- .../tests/test_sync_odoo2google.py | 2 +- .../hr_holidays/tests/test_company_leave.py | 2 +- .../tests/test_performance.py | 2 +- addons/sale_stock/tests/test_create_perf.py | 6 +-- .../test_crm_full/tests/test_performance.py | 6 +-- .../tests/test_performance.py | 2 +- .../test_event_full/tests/test_performance.py | 40 +++++++++---------- addons/test_mail/tests/test_performance.py | 28 ++++++------- .../tests/test_sms_performance.py | 6 +-- odoo/addons/test_impex/tests/test_load.py | 2 +- .../test_new_api/tests/test_new_fields.py | 4 +- .../tests/test_performance.py | 8 ++-- 14 files changed, 60 insertions(+), 60 deletions(-) diff --git a/addons/crm/tests/test_crm_lead_convert_mass.py b/addons/crm/tests/test_crm_lead_convert_mass.py index 30e2d084526..8d14fe5bd0e 100644 --- a/addons/crm/tests/test_crm_lead_convert_mass.py +++ b/addons/crm/tests/test_crm_lead_convert_mass.py @@ -24,7 +24,7 @@ class TestLeadConvertMass(crm_common.TestLeadConvertMassCommon): with self.assertQueryCount(user_sales_manager=0): test_leads = self.env['crm.lead'].browse(test_leads.ids) - with self.assertQueryCount(user_sales_manager=254): # crm only: 251 - often 251, sometimes +3 on runbot + with self.assertQueryCount(user_sales_manager=173): # crm only: 170 (often), sometimes +3 on runbot test_leads._handle_salesmen_assignment(user_ids=user_ids, team_id=False) self.assertEqual(test_leads.team_id, self.sales_team_convert | self.sales_team_1) @@ -42,7 +42,7 @@ class TestLeadConvertMass(crm_common.TestLeadConvertMassCommon): with self.assertQueryCount(user_sales_manager=0): test_leads = self.env['crm.lead'].browse(test_leads.ids) - with self.assertQueryCount(user_sales_manager=222): # crm only: 217 - generally 218 runbot / 219 enterprise, sometimes +2/+3 on runbot + with self.assertQueryCount(user_sales_manager=139): # crm only: 136 (often), sometimes +2/+3 on runbot test_leads._handle_salesmen_assignment(user_ids=user_ids, team_id=team_id) self.assertEqual(test_leads.team_id, self.sales_team_convert) @@ -166,7 +166,7 @@ class TestLeadConvertMass(crm_common.TestLeadConvertMassCommon): test_leads = self._create_leads_batch(count=50, user_ids=[False]) user_ids = self.assign_users.ids - with self.assertQueryCount(user_sales_manager=1338): # still some randomness (1268 generally on runbot - 1269 enterprise) - crm only: 1259 + with self.assertQueryCount(user_sales_manager=1038): # 1038 generally on runbot - crm only: 1029 mass_convert = self.env['crm.lead2opportunity.partner.mass'].with_context({ 'active_model': 'crm.lead', 'active_ids': test_leads.ids, diff --git a/addons/crm/tests/test_performances.py b/addons/crm/tests/test_performances.py index d9618604fb0..aa698c1d456 100644 --- a/addons/crm/tests/test_performances.py +++ b/addons/crm/tests/test_performances.py @@ -48,7 +48,7 @@ class TestLeadAssignPerf(TestLeadAssignCommon): leads.flush() with self.with_user('user_sales_manager'): - with self.assertQueryCount(user_sales_manager=1378): # 1366-1369 generally + with self.assertQueryCount(user_sales_manager=1289): # 1281-1289 generally - crm only: 1204 self.env['crm.team'].browse(self.sales_teams.ids)._action_assign_leads(work_days=2) # teams assign @@ -92,7 +92,7 @@ class TestLeadAssignPerf(TestLeadAssignCommon): leads.flush() with self.with_user('user_sales_manager'): - with self.assertQueryCount(user_sales_manager=674): # 668-669 generally, sometimes 672 + with self.assertQueryCount(user_sales_manager=589): # 584-585 generally, sometimes 589 self.env['crm.team'].browse(self.sales_teams.ids)._action_assign_leads(work_days=2) # teams assign @@ -174,7 +174,7 @@ class TestLeadAssignPerf(TestLeadAssignCommon): leads.flush() with self.with_user('user_sales_manager'): - with self.assertQueryCount(user_sales_manager=7152): # 7143-7149 generally + with self.assertQueryCount(user_sales_manager=6547): # 6539-6546 generally self.env['crm.team'].browse(sales_teams.ids)._action_assign_leads(work_days=30) # teams assign diff --git a/addons/google_calendar/tests/test_sync_odoo2google.py b/addons/google_calendar/tests/test_sync_odoo2google.py index 75374bf6412..ae0c835b8a4 100644 --- a/addons/google_calendar/tests/test_sync_odoo2google.py +++ b/addons/google_calendar/tests/test_sync_odoo2google.py @@ -70,7 +70,7 @@ class TestSyncOdoo2Google(TestSyncGoogle): }) partner_model = self.env.ref('base.model_res_partner') partner = self.env['res.partner'].search([], limit=1) - with self.assertQueryCount(__system__=1112): + with self.assertQueryCount(__system__=617): events = self.env['calendar.event'].create([{ 'name': "Event %s" % (i), 'start': datetime(2020, 1, 15, 8, 0), diff --git a/addons/hr_holidays/tests/test_company_leave.py b/addons/hr_holidays/tests/test_company_leave.py index 73acca240e1..8605176b527 100644 --- a/addons/hr_holidays/tests/test_company_leave.py +++ b/addons/hr_holidays/tests/test_company_leave.py @@ -323,7 +323,7 @@ class TestCompanyLeave(TransactionCase): }) company_leave._compute_date_from_to() - with self.assertQueryCount(__system__=659, admin=865): + with self.assertQueryCount(__system__=249, admin=865): # Original query count: 1987 # Without tracking/activity context keys: 5154 company_leave.action_validate() diff --git a/addons/hr_work_entry_holidays/tests/test_performance.py b/addons/hr_work_entry_holidays/tests/test_performance.py index 1d467bbd16e..36068b7d631 100644 --- a/addons/hr_work_entry_holidays/tests/test_performance.py +++ b/addons/hr_work_entry_holidays/tests/test_performance.py @@ -111,7 +111,7 @@ class TestWorkEntryHolidaysPerformancesBigData(TestWorkEntryHolidaysBase): def test_work_entries_generation_perf(self): # Test Case 7: Try to generate work entries for # a hundred employees over a month - with self.assertQueryCount(__system__=11319, admin=11522): + with self.assertQueryCount(__system__=2607, admin=2807): work_entries = self.contracts._generate_work_entries(date(2020, 7, 1), date(2020, 8, 31)) # Original work entries to generate when we don't adapt date_generated_from and diff --git a/addons/sale_stock/tests/test_create_perf.py b/addons/sale_stock/tests/test_create_perf.py index 95c84550a95..b2a663da2c8 100644 --- a/addons/sale_stock/tests/test_create_perf.py +++ b/addons/sale_stock/tests/test_create_perf.py @@ -48,7 +48,7 @@ class TestPERF(common.TransactionCase): @warmup def test_empty_sales_orders_batch_creation_perf(self): # 1 SO insert, 2 SOL insert, 1 SO sequence fetch, 1 warehouse fetch, 3 followers queries ? - with self.assertQueryCount(admin=41): + with self.assertQueryCount(admin=38): self.env['sale.order'].create([{ 'partner_id': self.partners[0].id, 'user_id': self.salesmans[0].id, @@ -59,7 +59,7 @@ class TestPERF(common.TransactionCase): def test_dummy_sales_orders_batch_creation_perf(self): """ Dummy SOlines (notes/sections) should not add any custom queries other than their insert""" # + 4 SOL insert - with self.assertQueryCount(admin=46): + with self.assertQueryCount(admin=40): self.env['sale.order'].create([{ 'partner_id': self.partners[0].id, 'user_id': self.salesmans[0].id, @@ -73,7 +73,7 @@ class TestPERF(common.TransactionCase): @warmup def test_light_sales_orders_batch_creation_perf_without_taxes(self): self.products[0].taxes_id = [Command.set([])] - with self.assertQueryCount(admin=59): + with self.assertQueryCount(admin=51): self.env['sale.order'].create([{ 'partner_id': self.partners[0].id, 'user_id': self.salesmans[0].id, diff --git a/addons/test_crm_full/tests/test_performance.py b/addons/test_crm_full/tests/test_performance.py index 8b1d68d9a3c..5b33fb22924 100644 --- a/addons/test_crm_full/tests/test_performance.py +++ b/addons/test_crm_full/tests/test_performance.py @@ -42,7 +42,7 @@ class TestCrmPerformance(CrmPerformanceCase): country_be = self.env.ref('base.be') lang_be_id = self.env['res.lang']._lang_get_id('fr_BE') - with freeze_time(self.reference_now), self.assertQueryCount(user_sales_leads=282): # tcf only: 282 (~281 - 275) - com runbot: 274 + with freeze_time(self.reference_now), self.assertQueryCount(user_sales_leads=244): # 236, sometimes +6 self.env.cr._now = self.reference_now # force create_date to check schedulers crm_values = [ {'country_id': country_be.id, @@ -70,7 +70,7 @@ class TestCrmPerformance(CrmPerformanceCase): country_be = self.env.ref('base.be') lang_be = self.env['res.lang']._lang_get('fr_BE') - with freeze_time(self.reference_now), self.assertQueryCount(user_sales_leads=188): # tcf only: 173 - com runbot: 174 + with freeze_time(self.reference_now), self.assertQueryCount(user_sales_leads=188): # tcf only: 173 - com runbot: 174/175 self.env.cr._now = self.reference_now # force create_date to check schedulers with Form(self.env['crm.lead']) as lead_form: lead_form.country_id = country_be @@ -89,7 +89,7 @@ class TestCrmPerformance(CrmPerformanceCase): @warmup def test_lead_create_form_partner(self): """ Test a single lead creation using Form with a partner """ - with freeze_time(self.reference_now), self.assertQueryCount(user_sales_leads=193): # tcf only: 178 - com runbot: 179 + with freeze_time(self.reference_now), self.assertQueryCount(user_sales_leads=193): # tcf only: 178 - com runbot: 179/180 self.env.cr._now = self.reference_now # force create_date to check schedulers with Form(self.env['crm.lead']) as lead_form: lead_form.partner_id = self.partners[0] diff --git a/addons/test_discuss_full/tests/test_performance.py b/addons/test_discuss_full/tests/test_performance.py index ce2b22428fd..65bcea46fe5 100644 --- a/addons/test_discuss_full/tests/test_performance.py +++ b/addons/test_discuss_full/tests/test_performance.py @@ -99,7 +99,7 @@ class TestDiscussFullPerformance(TransactionCase): self.maxDiff = None self.users[0].flush() self.users[0].invalidate_cache() - with self.assertQueryCount(emp=98): + with self.assertQueryCount(emp=90): init_messaging = self.users[0].with_user(self.users[0])._init_messaging() self.assertEqual(init_messaging, { diff --git a/addons/test_event_full/tests/test_performance.py b/addons/test_event_full/tests/test_performance.py index ea4563fd0a7..76e1da34fdc 100644 --- a/addons/test_event_full/tests/test_performance.py +++ b/addons/test_event_full/tests/test_performance.py @@ -36,7 +36,7 @@ class TestEventPerformance(EventPerformanceCase): batch_size = 20 # simple without type involved - with freeze_time(self.reference_now), self.assertQueryCount(event_user=440): # tef only: 440 (434) - com runbot: 434 - ent runbot 440 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=343): # 337 (sometimes +6) self.env.cr._now = self.reference_now # force create_date to check schedulers event_values = [ dict(self.event_base_vals, @@ -52,7 +52,7 @@ class TestEventPerformance(EventPerformanceCase): batch_size = 20 # simple without type involved + website - with freeze_time(self.reference_now), self.assertQueryCount(event_user=5585): # tef only: 5160 (5155) - com runbot: 5159 - ent runbot 5584 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=5488): # tef only: 5062 (5058) - com runbot: 5062 - ent runbot 5482-5487 self.env.cr._now = self.reference_now # force create_date to check schedulers event_values = [ dict(self.event_base_vals, @@ -70,7 +70,7 @@ class TestEventPerformance(EventPerformanceCase): event_type = self.env['event.type'].browse(self.test_event_type.ids) # complex with type - with freeze_time(self.reference_now), self.assertQueryCount(event_user=786): # tef only: 785 (779) - com runbot: 779 - ent runbot 779 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=449): # 443 (sometimes +6) self.env.cr._now = self.reference_now # force create_date to check schedulers event_values = [ dict(self.event_base_vals, @@ -89,7 +89,7 @@ class TestEventPerformance(EventPerformanceCase): event_type = self.env['event.type'].browse(self.test_event_type.ids) # complex with type + website - with freeze_time(self.reference_now), self.assertQueryCount(event_user=5937): # tef only: 5512 (5507) - com runbot: 5511 - ent runbot 5936 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=5601): # tef only: 5171 - com runbot: 5175 - ent runbot 5595-5600 self.env.cr._now = self.reference_now # force create_date to check schedulers event_values = [ dict(self.event_base_vals, @@ -107,7 +107,7 @@ class TestEventPerformance(EventPerformanceCase): has_social = 'social_menu' in self.env['event.event'] # otherwise view may crash in enterprise # no type, no website - with freeze_time(self.reference_now), self.assertQueryCount(event_user=228): # tef only: 178 - com runbot: 177 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=226): # tef only: 176 - com runbot: 176 self.env.cr._now = self.reference_now # force create_date to check schedulers with Form(self.env['event.event']) as event_form: event_form.name = 'Test Event' @@ -125,7 +125,7 @@ class TestEventPerformance(EventPerformanceCase): has_social = 'social_menu' in self.env['event.event'] # otherwise view may crash in enterprise # no type, website - with freeze_time(self.reference_now), self.assertQueryCount(event_user=736): # tef only: 624 - com runbot: 624 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=735): # tef only: 622 - com runbot: 623 self.env.cr._now = self.reference_now # force create_date to check schedulers with Form(self.env['event.event']) as event_form: event_form.name = 'Test Event' @@ -144,7 +144,7 @@ class TestEventPerformance(EventPerformanceCase): has_social = 'social_menu' in self.env['event.event'] # otherwise view may crash in enterprise # type and website - with freeze_time(self.reference_now), self.assertQueryCount(event_user=784): # tef only: 673 - com runbot: 675 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=770): # tef only: 660 - com runbot: 663 self.env.cr._now = self.reference_now # force create_date to check schedulers with Form(self.env['event.event']) as event_form: event_form.name = 'Test Event' @@ -159,7 +159,7 @@ class TestEventPerformance(EventPerformanceCase): def test_event_create_single_notype(self): """ Test a single event creation """ # simple without type involved - with freeze_time(self.reference_now), self.assertQueryCount(event_user=41): # tef only: 41 (35) - com runbot: 35 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=39): # 33 (sometimes +6) self.env.cr._now = self.reference_now # force create_date to check schedulers event_values = dict( self.event_base_vals, @@ -172,7 +172,7 @@ class TestEventPerformance(EventPerformanceCase): def test_event_create_single_notype_website(self): """ Test a single event creation """ # simple without type involved + website - with freeze_time(self.reference_now), self.assertQueryCount(event_user=379): # tef only: 353 (348) - com runbot: 352 - ent runbot 378 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=377): # tef only: 351 (346) - com runbot: 350 - ent runbot 376 self.env.cr._now = self.reference_now # force create_date to check schedulers event_values = dict( self.event_base_vals, @@ -187,7 +187,7 @@ class TestEventPerformance(EventPerformanceCase): event_type = self.env['event.type'].browse(self.test_event_type.ids) # complex with type - with freeze_time(self.reference_now), self.assertQueryCount(event_user=82): # tef only: 81 (75) - com runbot: 75 - ent runbot 75 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=69): # 62 (sometimes +6) self.env.cr._now = self.reference_now # force create_date to check schedulers event_values = dict( self.event_base_vals, @@ -203,7 +203,7 @@ class TestEventPerformance(EventPerformanceCase): event_type = self.env['event.type'].browse(self.test_event_type.ids) # complex with type + website - with freeze_time(self.reference_now), self.assertQueryCount(event_user=426): # tef only: 400 (395) - com runbot: 399 - ent runbot 425 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=413): # tef only: 388 (382) - com runbot: 386 - ent runbot 412 self.env.cr._now = self.reference_now # force create_date to check schedulers event_values = dict( self.event_base_vals, @@ -225,7 +225,7 @@ class TestRegistrationPerformance(EventPerformanceCase): """ event = self.env['event.event'].browse(self.test_event.ids) - with freeze_time(self.reference_now), self.assertQueryCount(event_user=835): # tef only: 789 - com runbot 832 - ent runbot 834 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=720): # tef only: 673 - com runbot 716 - ent runbot 719 self.env.cr._now = self.reference_now # force create_date to check schedulers registration_values = [ dict(reg_data, @@ -249,7 +249,7 @@ class TestRegistrationPerformance(EventPerformanceCase): """ event = self.env['event.event'].browse(self.test_event.ids) - with freeze_time(self.reference_now), self.assertQueryCount(event_user=319): # tef only: 276 - com runbot 315 - ent runbot 318 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=244): # tef only: 200 - com runbot 239 - ent runbot 243 self.env.cr._now = self.reference_now # force create_date to check schedulers registration_values = [ dict(reg_data, @@ -271,7 +271,7 @@ class TestRegistrationPerformance(EventPerformanceCase): form like) """ event = self.env['event.event'].browse(self.test_event.ids) - with freeze_time(self.reference_now), self.assertQueryCount(event_user=905): # tef only: 859 - com runbot 902 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=730): # tef only: 684 - com runbot 727 self.env.cr._now = self.reference_now # force create_date to check schedulers registration_values = [ dict(reg_data, @@ -292,7 +292,7 @@ class TestRegistrationPerformance(EventPerformanceCase): """ Test a single registration creation using Form """ event = self.env['event.event'].browse(self.test_event.ids) - with freeze_time(self.reference_now), self.assertQueryCount(event_user=231): # tef only: 211 - com runbot 216 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=229): # tef only: 209 - com runbot 215 self.env.cr._now = self.reference_now # force create_date to check schedulers with Form(self.env['event.registration']) as reg_form: reg_form.event_id = event @@ -308,7 +308,7 @@ class TestRegistrationPerformance(EventPerformanceCase): """ Test a single registration creation using Form """ event = self.env['event.event'].browse(self.test_event.ids) - with freeze_time(self.reference_now), self.assertQueryCount(event_user=234): # tef only: 214 - com runbot 218 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=232): # tef only: 212 - com runbot 217 self.env.cr._now = self.reference_now # force create_date to check schedulers with Form(self.env['event.registration']) as reg_form: reg_form.event_id = event @@ -321,7 +321,7 @@ class TestRegistrationPerformance(EventPerformanceCase): """ Test a single registration creation using Form """ event = self.env['event.event'].browse(self.test_event.ids) - with freeze_time(self.reference_now), self.assertQueryCount(event_user=141): # tef only: 123 - com runbot 124 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=141): # tef only: 123 - com runbot 125 self.env.cr._now = self.reference_now # force create_date to check schedulers with Form(self.env['event.registration'].with_context(event_lead_rule_skip=True)) as reg_form: reg_form.event_id = event @@ -335,7 +335,7 @@ class TestRegistrationPerformance(EventPerformanceCase): event = self.env['event.event'].browse(self.test_event.ids) # simple customer data - with freeze_time(self.reference_now), self.assertQueryCount(event_user=143): # tef only: 136 - com runbot 141 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=141): # tef only: 134 - com runbot 139 self.env.cr._now = self.reference_now # force create_date to check schedulers registration_values = dict( self.customer_data[0], @@ -349,7 +349,7 @@ class TestRegistrationPerformance(EventPerformanceCase): event = self.env['event.event'].browse(self.test_event.ids) # partner-based customer - with freeze_time(self.reference_now), self.assertQueryCount(event_user=150): # tef only: 144 - com runbot 149 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=148): # tef only: 142 - com runbot 147 self.env.cr._now = self.reference_now # force create_date to check schedulers registration_values = { 'event_id': event.id, @@ -379,7 +379,7 @@ class TestRegistrationPerformance(EventPerformanceCase): event = self.env['event.event'].browse(self.test_event.ids) # website customer data - with freeze_time(self.reference_now), self.assertQueryCount(event_user=154): # tef only: 145 - com runbot 150 + with freeze_time(self.reference_now), self.assertQueryCount(event_user=150): # tef only: 141 - com runbot 146 self.env.cr._now = self.reference_now # force create_date to check schedulers registration_values = dict( self.website_customer_data[0], diff --git a/addons/test_mail/tests/test_performance.py b/addons/test_mail/tests/test_performance.py index 1ccbf127981..b9ec8595e9f 100644 --- a/addons/test_mail/tests/test_performance.py +++ b/addons/test_mail/tests/test_performance.py @@ -196,7 +196,7 @@ class TestBaseMailPerformance(BaseMailPerformance): @users('__system__', 'employee') @warmup def test_create_mail_simple_multi(self): - with self.assertQueryCount(__system__=19, employee=19): + with self.assertQueryCount(__system__=7, employee=7): self.env['mail.test.simple'].create([{'name': 'Test'}] * 5) @users('__system__', 'employee') @@ -351,7 +351,7 @@ class TestMailAPIPerformance(BaseMailPerformance): }).create({}) composer._onchange_template_id_wrapper() - with self.assertQueryCount(__system__=33, employee=39): + with self.assertQueryCount(__system__=32, employee=38): composer._action_send_mail() # remove created partner to ensure tests are the same each run @@ -469,11 +469,11 @@ class TestMailAPIPerformance(BaseMailPerformance): record.write({'name': 'Zizizanewtestname'}) record.flush() - with self.assertQueryCount(__system__=5, employee=5): + with self.assertQueryCount(__system__=3, employee=3): record.write({'field_%s' % (i): 'Tracked Char Fields %s' % (i) for i in range(3)}) record.flush() - with self.assertQueryCount(__system__=6, employee=6): + with self.assertQueryCount(__system__=4, employee=4): record.write({'field_%s' % (i): 'Field Without Cache %s' % (i) for i in range(3)}) record.flush() record.write({'field_%s' % (i): 'Field With Cache %s' % (i) for i in range(3)}) @@ -570,7 +570,7 @@ class TestMailComplexPerformance(BaseMailPerformance): self.container.message_subscribe(self.user_portal.partner_id.ids) record = self.container.with_user(self.env.user) - with self.assertQueryCount(__system__=63, employee=64): + with self.assertQueryCount(__system__=53, employee=54): # about 20 (19?) queries per additional customer group record.message_post( body='

Test Post Performances

', message_type='comment', @@ -587,7 +587,7 @@ class TestMailComplexPerformance(BaseMailPerformance): record = self.container.with_user(self.env.user) template_id = self.env.ref('test_mail.mail_test_container_tpl').id - with self.assertQueryCount(__system__=72, employee=73): # about 20 queries per additional customer group + with self.assertQueryCount(__system__=61, employee=62): # about 20 (19 ?) queries per additional customer group record.message_post_with_template(template_id, message_type='comment', composition_mode='comment') self.assertEqual(record.message_ids[0].body, '

Adding stuff on %s

' % record.name) @@ -611,7 +611,7 @@ class TestMailComplexPerformance(BaseMailPerformance): self.assertEqual(rec1.message_partner_ids, self.env.user.partner_id | self.user_portal.partner_id) # subscribe new followers with forced given subtypes - with self.assertQueryCount(__system__=7, employee=7): + with self.assertQueryCount(__system__=4, employee=4): rec.message_subscribe( partner_ids=pids[:4], subtype_ids=subtype_ids @@ -620,7 +620,7 @@ class TestMailComplexPerformance(BaseMailPerformance): self.assertEqual(rec1.message_partner_ids, self.env.user.partner_id | self.user_portal.partner_id | self.partners[:4]) # subscribe existing and new followers with force=False, meaning only some new followers will be added - with self.assertQueryCount(__system__=6, employee=6): + with self.assertQueryCount(__system__=5, employee=5): rec.message_subscribe( partner_ids=pids[:6], subtype_ids=None @@ -629,7 +629,7 @@ class TestMailComplexPerformance(BaseMailPerformance): self.assertEqual(rec1.message_partner_ids, self.env.user.partner_id | self.user_portal.partner_id | self.partners[:6]) # subscribe existing and new followers with force=True, meaning all will have the same subtypes - with self.assertQueryCount(__system__=7, employee=7): + with self.assertQueryCount(__system__=4, employee=4): rec.message_subscribe( partner_ids=pids, subtype_ids=subtype_ids @@ -670,7 +670,7 @@ class TestMailComplexPerformance(BaseMailPerformance): customer_id = self.customer.id user_id = self.user_portal.id - with self.assertQueryCount(__system__=109, employee=110): + with self.assertQueryCount(__system__=89, employee=90): rec = self.env['mail.test.ticket'].create({ 'name': 'Test', 'container_id': container_id, @@ -699,7 +699,7 @@ class TestMailComplexPerformance(BaseMailPerformance): rec1 = rec.with_context(active_test=False) # to see inactive records self.assertEqual(rec1.message_partner_ids, self.user_portal.partner_id | self.env.user.partner_id) self.assertEqual(len(rec1.message_ids), 1) - with self.assertQueryCount(__system__=77, employee=77): + with self.assertQueryCount(__system__=58, employee=58): rec.write({ 'name': 'Test2', 'container_id': self.container.id, @@ -736,7 +736,7 @@ class TestMailComplexPerformance(BaseMailPerformance): rec1 = rec.with_context(active_test=False) # to see inactive records self.assertEqual(rec1.message_partner_ids, self.user_portal.partner_id | self.env.user.partner_id) - with self.assertQueryCount(__system__=85, employee=85): + with self.assertQueryCount(__system__=65, employee=65): rec.write({ 'name': 'Test2', 'container_id': container_id, @@ -769,7 +769,7 @@ class TestMailComplexPerformance(BaseMailPerformance): rec1 = rec.with_context(active_test=False) # to see inactive records self.assertEqual(rec1.message_partner_ids, self.partners | self.env.user.partner_id | self.user_portal.partner_id) - with self.assertQueryCount(__system__=29, employee=30): + with self.assertQueryCount(__system__=28, employee=29): rec.write({ 'name': 'Test2', 'customer_id': customer_id, @@ -1007,7 +1007,7 @@ class TestMailHeavyPerformancePost(BaseMailPerformance): ] self.attachements = self.env['ir.attachment'].with_user(self.env.user).create(self.vals) attachement_ids = self.attachements.ids - with self.assertQueryCount(employee=70): + with self.assertQueryCount(employee=67): self.cr.sql_log = self.warm and self.cr.sql_log_count record.with_context({}).message_post( body='

Test body

', diff --git a/addons/test_mail_full/tests/test_sms_performance.py b/addons/test_mail_full/tests/test_sms_performance.py index 142b2e80c82..24108442039 100644 --- a/addons/test_mail_full/tests/test_sms_performance.py +++ b/addons/test_mail_full/tests/test_sms_performance.py @@ -52,7 +52,7 @@ class TestSMSPerformance(BaseMailPerformance, sms_common.SMSCase): def test_message_sms_record_10_partners(self): record = self.test_record.with_user(self.env.user) pids = self.partners.ids - with self.mockSMSGateway(sms_allow_unlink=True), self.assertQueryCount(employee=44): + with self.mockSMSGateway(sms_allow_unlink=True), self.assertQueryCount(employee=26): messages = record._message_sms( body='Performance Test', partner_ids=pids, @@ -120,7 +120,7 @@ class TestSMSMassPerformance(BaseMailPerformance, sms_common.MockSMS): 'mass_keep_log': False, }) - with self.mockSMSGateway(sms_allow_unlink=True), self.assertQueryCount(employee=106): + with self.mockSMSGateway(sms_allow_unlink=True), self.assertQueryCount(employee=57): composer.action_send_sms() @mute_logger('odoo.addons.sms.models.sms_sms') @@ -137,5 +137,5 @@ class TestSMSMassPerformance(BaseMailPerformance, sms_common.MockSMS): 'mass_keep_log': True, }) - with self.mockSMSGateway(sms_allow_unlink=True), self.assertQueryCount(employee=157): + with self.mockSMSGateway(sms_allow_unlink=True), self.assertQueryCount(employee=59): composer.action_send_sms() diff --git a/odoo/addons/test_impex/tests/test_load.py b/odoo/addons/test_impex/tests/test_load.py index 2b06b8d7832..a11bd44a88b 100644 --- a/odoo/addons/test_impex/tests/test_load.py +++ b/odoo/addons/test_impex/tests/test_load.py @@ -589,7 +589,7 @@ class test_m2o(ImporterCase): # 1 x RELEASE SAVEPOINT _load_records # 1 x RELEASE SAVEPOINT load # => 10 - with self.assertQueryCount(10): + with self.assertQueryCount(8): result = self.import_(['value'], [ # import by name_get [name1], diff --git a/odoo/addons/test_new_api/tests/test_new_fields.py b/odoo/addons/test_new_api/tests/test_new_fields.py index aa20aa33d46..9a78be1b634 100644 --- a/odoo/addons/test_new_api/tests/test_new_fields.py +++ b/odoo/addons/test_new_api/tests/test_new_fields.py @@ -3785,6 +3785,6 @@ class TestPrecompute(common.TransactionCase): model.flush() model.invalidate_cache() - # check the number of queries: 1 SELECT + 3 INSERT - with self.assertQueryCount(4): + # check the number of queries: 1 SELECT + 1 INSERT + with self.assertQueryCount(2): model.create([{'partner_id': pid} for pid in partners.ids]) diff --git a/odoo/addons/test_performance/tests/test_performance.py b/odoo/addons/test_performance/tests/test_performance.py index 58032c703dd..8d3d213b815 100644 --- a/odoo/addons/test_performance/tests/test_performance.py +++ b/odoo/addons/test_performance/tests/test_performance.py @@ -132,7 +132,7 @@ class TestPerformance(SavepointCaseWithUserDemo): rec1.write({'line_ids': [Command.create({'value': 0})]}) self.assertEqual(len(rec1.line_ids), 1) - with self.assertQueryCount(15): + with self.assertQueryCount(5): rec1.invalidate_cache() rec1.write({'line_ids': [Command.create({'value': val}) for val in range(1, 12)]}) self.assertEqual(len(rec1.line_ids), 12) @@ -260,7 +260,7 @@ class TestPerformance(SavepointCaseWithUserDemo): rec1.write({'tag_ids': [Command.create({'name': 0})]}) self.assertEqual(len(rec1.tag_ids), 1) - with self.assertQueryCount(14): + with self.assertQueryCount(4): rec1.invalidate_cache() rec1.write({'tag_ids': [Command.create({'name': val}) for val in range(1, 12)]}) self.assertEqual(len(rec1.tag_ids), 12) @@ -372,7 +372,7 @@ class TestPerformance(SavepointCaseWithUserDemo): @warmup def test_create_base_with_lines(self): """ Create records with one2many lines. """ - with self.assertQueryCount(__system__=12, demo=12): + with self.assertQueryCount(__system__=3, demo=3): self.env['test_performance.base'].create({ 'name': 'X', 'line_ids': [Command.create({'value': val}) for val in range(10)], @@ -386,7 +386,7 @@ class TestPerformance(SavepointCaseWithUserDemo): self.env['test_performance.base'].create({'name': 'X'}) # create N tags: add O(N) queries - with self.assertQueryCount(13): + with self.assertQueryCount(4): self.env['test_performance.base'].create({ 'name': 'X', 'tag_ids': [Command.create({'name': val}) for val in range(10)],