summaryrefslogtreecommitdiff
path: root/addons/test_mass_mailing/tests/test_performance.py
AgeCommit message (Collapse)Author
2021-05-21[IMP] test_mail_full: add test for SMS mailing default domain and optoutThibault Delavallée
Purpose is to test specific behavior of opt-out for SMS marketing. This is currently not tested and working a bit strangely, as they are flagged as blacklist. This will soon be updated in another task but at least current behavior is logged somewhere. We also update some test models in order to reflect potential strange and non-default behavior, notably partner_id field used as contact field. It will be used soon when cleaning some opt-out behavior. Tests are added to check phone sanitized is correctly taken into account in default domains when inheriting from the phone blacklist mixin. Some counters notes are also updated next to some last updates. Task ID-2431217 COM PR odoo/odoo#71140
2021-05-06[IMP] various: update query counters according to latest runbot runThibault Delavallée
Base: seems related fields take only 1 extra query instead of 3 Crm: assignment seems to have been slightly improved. Some randomness still happens. Hr Holidays: seems it was further improved beyond space frontier Test mail: those tests were a bit random, seems random is gone (hopefully) Test mail full: updated local counters Test mass mailing: seems we gained one query, updated local counters closes odoo/odoo#70486 Related: odoo/enterprise#18180 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-08-18[IMP] core: introduce subqueries in searchRaphael Collet
Make the method `_search` return a `Query` object, and make that object generate a subquery when used on the right-hand side of a condition. closes odoo/odoo#52403 Related: odoo/enterprise#10945 Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2020-05-29[IMP] mass_mailing: add email marketing tourJérémy Hennecart
PURPOSE Improve the Email Marketing tour and onboarding to create a "wow effect" when users test the app. SPECIFICATIONS Create a tour for mass_mailing to let user visit Odoo Email Marketing through a simple mailing creation flow. This require the following functional changes * by default, if user chooses to contact mailing lists and there is a single mailing list available, add it as default value for chosen list; * create a master mailing list data containing the admin user so that he can easily follow the tour and test the mailing application; LINKS Task ID 2194876 Community PR odoo/odoo#48259 Upgrade PR odoo/upgrade#983 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-05-12[IMP] test_(mass_)mail(ing): update counters to current runbot resultsThibault Delavallée
Spotted when working on task ID 2238597
2020-04-24[IMP] link_tracker, (test_)mass_mailing: improve test tools and clean ↵Thibault Delavallée
existing tests URPOSE Prepare code cleaning and optimization in mail, mass_mailing and SMS by cleaning models for readability and code complexity and footprint reduction. SPECIFICATIONS Add tool methods and asserts for link tracker tests. Add tool methods and assets for mass mailing tests, notably about mailing traces and their link with emails. Merge existing and duplicated tests and rewrite them a bit. Rename and improve test_mass_mailing models. LINKS Prepares task ID 2238597 (notification and trace models cleaning) Task ID 1906925 (mass mailing tests cleaning) PR #50169 Related: odoo/enterprise#10180 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-04-21[REF] crm(_iap_lead): use read_group instead of computing len of one2many fieldsVictor Feyens
PURPOSE Several counter fields are performed inefficiently. They use compute methods using length of 2many fields instead of making use of more efficient ORM methods like read_group. SPECIFICATIONS No functional change, only technical performance improvements. Purpose is to improve lead_count performance. Some people claim to gain a lot of queries: from 90 to 30 SQL queries to read 39 partners. Hard to reproduce. LINKS Task ID 2196182 PR odoo/odoo#44662 Co-Authored-By: Fabien Pinckaers <fp@odoo.com> Co-Authored-By: Victor Feyens <vfe@odoo.com> Co-Authored-By: Thibault Delavallee <tde@odoo.com>
2020-03-20[REF] mail: merge blacklist and address mixinsThibault Delavallée
PURPOSE Perform some code cleaning in mail module SPECIFICATIONS mail.address.mixin is used only for mail.thread.blacklist mixin. Let us merge those two and simplify class organization. LINKS Task ID 2222033 closes odoo/odoo#48115 Related: odoo/upgrade#967 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2020-02-25[IMP] core: optimize read() by avoiding useless querySébastien Theys
When the `select` returns nothing more than ids that are already known, there is no need to make it at all. This removes one query from `_read` every time it has to fetch only fields that are stored in a different table (o2m, ...), which happens all the time when reading a stored field first (triggering prefetch) and then reading a o2m. The query that is now removed was used to check access rules, but the trick is to use `check_access_rule` to verify the rules in python instead. Part of task-2061122 closes odoo/odoo#36263 Signed-off-by: Sébastien Theys (seb) <seb@odoo.com>
2020-02-25[IMP] test_mail, test_mass_mailing: adapt query countSébastien Theys
To see impact of following commit.
2020-01-14[IMP] *: update query countsVictor Feyens
Query counts weren't adapted to recent performance changes. This commit updates the different query counts to make sure any commit changing the query counts knows it and does it on purpose. Some query counts may vary between community and enterprise and therefore have a higher value than needed in community version. closes odoo/odoo#43202 Related: odoo/enterprise#7682 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-11-20[REF] test_mass_mailing: update module to new commonThibault Delavallée
PURPOSE Currently tools and asserts for mail tests are located inside test_mail module. It makes difficult to re-use them in apps tests or force them to write custom quick and dirty tools and asserts. SPECIFICATIONS Update this module to new tools / asserts / helpers / classes defined in mail and test_mail. In this commit we remove the ``MassMailingCase`` and replace it by a fresh ``TestMailCommon`` that is simply updated to hold a marketing user by default. That way all mocks and asserts are available in all sub test classes. Coming from common update, we have notably * ``BaseFunctionalTest`` class is replaced by the new ``TestMailCommon`` pimped one; * ``assertNotifications`` is replaced by ``assertSinglePostNotifications`` (shortcut for a simple message_post) or ``assertPostNotifications`` (complete asserts involving several messages and notifications); * correctly invoke ``mock_mail_gateway`` when mocking email sending; * replace manual check of sent emails or ``assertEmails`` by ``assertSentEmails``; * remove custom mocks / checks and replace them by now standard mocks and assertions (if any); LINKS Task ID 2068986 PR #38070
2019-08-20[IMP] models: ORM speedupRaphael Collet
This branch is the combination of several optimizations in the ORM: * store field values once in the cache: the cache reflects more faithfully the database, only fields that explicitly depend on the context have an extra indirection in the cache; * delay recomputations by default: use method `recompute` to explicitly flush out pending recomputations; * delay updates in method `write`: updates are stored in a data structure that can be flushed efficiently to the database with method `flush` (which also flush out recomputations); * make method `modified` take advantage of inverse fields to inverse dependencies; * filter records by evaluating a domain on records in Python; * a computed field with `readonly=False` behaves like a normal field with an onchange method; * computed fields are computed in superuser mode by default. Work done by Toufik Ben Jaa, Raphael Collet, Denis Ledoux and Fabien Pinckaers. closes odoo/odoo#35659 Signed-off-by: Denis Ledoux <beledouxdenis@users.noreply.github.com>
2019-08-02[REF] utm,mass_mailing: replace mass mailing campaign by utm campaignqmo-odoo
PURPOSE This commit removes the mass_mailing.campaign model. Instead of having a fully fledged model, we will simply inherit utm.campaign. We will also add relevant statistics on utm campaign model in order to use it in various applications. SPECIFICATIONS This commit removes the mass_mailing.campaign model. Instead of having a fully fledged model, we will simply inherit utm.campaign. This change implies that mass_mailing.tag and mass_mailing.stage have to move to the utm model along their associated views/data. These changes were made so that campaigns could be used in the future by social, mass_mailing and mass_sms and available in the same view This commit also removes the source_id and the medium_id fields on the campaign. This commit also moves the unique_ab_testing field from the mass_mailing_campaign to the mass_mailing model Task ID: 2002029 PR: #34015
2019-07-17[REF] mass_mailing: rename mail.mass_mailing modelThibault Delavallée
PURPOSE Mass mailing is currently a bit messy. As SMS will be added as a way to notify people in mass through SMS let us take this opportunity to somehow clean this application: organization, light code cleaning, model renaming. SPECIFICATIONS Rename mail.mass_mailing model to mailing.mailing. Rationale : * mailing is now a prefix for mass mailing models; * mailing.mailing is easier to read / find / understand; Note that mail.mass_mailing.campaign is not updated as it is likely to be removed soon and replaced by simple utm.campaign model. MIGRATION mail.mass_mailing model -> mailing.mailing mail_mass_mailing table -> mailing_mailing LINKS Task ID 2037906 Preparing task ID 1997464 (SMS addition in mass mailing) PR #34938
2019-07-17[IMP] mass_mailing: perform small code fixes / moveThibault Delavallée
PURPOSE Mass mailing is currently a bit messy. As SMS will be added as a way to notify people in mass through SMS let us take this opportunity to somehow clean this application: organization, light code cleaning, model renaming. SPECIFICATIONS Move some code bits / fields declarations to reorder them. Purpose is to make code easier to understand and find. Funny we found two override of create that have been merged. An override of name create is not necessary considering code was present in one of the two merged create. Make internal methods private. Rename send_mail to action_send_mail to avoid confusion with composer and template send_mail methods. LINKS Task ID 2037906 Preparing task ID 1997464 (SMS addition in mass mailing) PR #34938
2019-05-06[FIX] test_mail: adapt query countsRaphael Collet
closes odoo/odoo#32905 Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-03-11[FIX] {,test_}mass_mailing: set mail.mass_mailing subjectChristophe Simonis
Field is required.
2019-01-29[FIX] test_mass_mailing: bump query countsChristophe Simonis
Now that urls are shortened by email (and not globally)[1], more queries are executed. Oversight of previous forward-port [1] See #29083
2018-10-23[REF] test_mass_mailing: make performance test class child of TransactionCaseThibault Delavallée
It eases manipulation and lessen overhead. Performance tests should be self contained as much as possible. Commit linked to task ID 1902307.
2018-10-22[MERGE] forward port branch saas-11.4 up to 3c108977c1eChristophe Simonis
2018-10-18[IMP] test_mass_mailing: add performance testsThibault Delavallée
Purpose is to have some basis performance counters when sending a mailing on 100 records, with and without blacklist involved. It will serves as reference when working on mass mailing performance improvements in future tasks. This commit is linked to task ID 1889703 and PR #27526.