summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2017-11-15 17:28:12 +0100
committerThibault Delavallée <tde@odoo.com>2017-11-29 10:11:15 +0100
commit22cce3be9d3950ffeb5baa6e458bf566bbb82c3c (patch)
tree3d42325a85a112b435e29374a2e86cd764a0ffda
parentd040bfde89fca1c702e6e95c3b808e0b48c2267a (diff)
[ADD] test_mail: add some performances tests
-rw-r--r--addons/test_mail/tests/test_performance.py40
-rw-r--r--odoo/addons/test_performance/tests/test_performance.py7
2 files changed, 46 insertions, 1 deletions
diff --git a/addons/test_mail/tests/test_performance.py b/addons/test_mail/tests/test_performance.py
index 0047ee5d649..980bea18fe9 100644
--- a/addons/test_mail/tests/test_performance.py
+++ b/addons/test_mail/tests/test_performance.py
@@ -6,6 +6,29 @@ from odoo.addons.test_performance.tests.test_performance import TestPerformance,
class TestMailPerformance(TestPerformance):
+ def setUp(self):
+ super(TestMailPerformance, self).setUp()
+ self.user_employee = self.env['res.users'].with_context({
+ 'no_reset_password': True,
+ 'mail_create_nolog': True,
+ 'mail_create_nosubscribe': True,
+ 'mail_notrack': True,
+ }).create({
+ 'name': 'Ernest Employee',
+ 'login': 'emp',
+ 'email': 'e.e@example.com',
+ 'signature': '--\nErnest',
+ 'notification_type': 'inbox',
+ 'groups_id': [(6, 0, [self.env.ref('base.group_user').id])],
+ })
+
+ # for performances test
+ self.admin = self.env.user
+ self.admin.login = 'admin'
+
+ self.test_record_activity = self.env['mail.test.activity'].create({'name': 'Zboobs'})
+ self.test_record_activity_id = self.test_record_activity.id
+
@queryCount(admin=3, demo=3)
def test_read_mail(self):
""" Read records inheriting from 'mail.thread'. """
@@ -63,3 +86,20 @@ class TestMailPerformance(TestPerformance):
""" Create records inheriting from 'mail.thread' (with field tracking). """
model = self.env['test_performance.mail']
model.create({'name': self.str('Y')})
+
+ @queryCount(admin=22, emp=29)
+ def test_simple(self):
+ self.env['mail.test.simple'].create({'name': 'Zboobs'})
+
+ @queryCount(admin=25, emp=32)
+ def test_activity(self):
+ self.env['mail.test.activity'].create({'name': 'Zboobs'})
+
+ @queryCount(admin=75, emp=75)
+ def test_activity_full(self):
+ self.env['mail.activity'].with_context({
+ 'default_res_model': 'mail.test.activity',
+ }).create({
+ 'summary': 'Test Activity',
+ 'res_id': self.test_record_activity_id,
+ })
diff --git a/odoo/addons/test_performance/tests/test_performance.py b/odoo/addons/test_performance/tests/test_performance.py
index 722adc24dab..6ef6c5a0c7b 100644
--- a/odoo/addons/test_performance/tests/test_performance.py
+++ b/odoo/addons/test_performance/tests/test_performance.py
@@ -16,7 +16,12 @@ def queryCount(**counters):
def decorate(func):
@functools.wraps(func)
def wrapper(self):
- for user in self.env.user + self.env.ref('base.user_demo'):
+ if hasattr(self, 'test_users'):
+ users = self.test_users.filtered(lambda user: user.login in counters.keys())
+ else:
+ users = self.env['res.users'].search([('login', 'in', list(counters.keys()))])
+ # for user in self.env.user + self.env.ref('base.user_demo'):
+ for user in users:
# switch user
self.uid = user.id
self.env = self.env(user=self.uid)