summaryrefslogtreecommitdiff
path: root/addons/test_mail/data
AgeCommit message (Collapse)Author
2020-12-02[FIX] mail: add support for Text/RFC822-Headers content-typeJairo Llopis
WHY: Some mail servers may provide `Message-Id` header in a section typed `text/rfc822-headers` instead of a `message/rfc822` According to https://tools.ietf.org/html/rfc6522#section-4 that section's body actually contains the headers from the bounced email. STEPS: a way to reproduce it should be using postfix v2.5+ with setting bounce_size_limit=1. See https://github.com/odoo/odoo/pull/42340#issuecomment-617605521 BEFORE: `bounced_message_id` is empty and thus the little email envelope icon doesn't turn red, nor do the email resend features trigger in the UI. You could be sending an invoice and never knowing it was bounced. AFTER: bounces from mail servers that return the `text/rfc822-headers` part will be handled properly. --- @Tecnativa TT21170 opw-2162067 opw-2344252 closes #42340 closes #62551 closes odoo/odoo#62706 X-original-commit: 3dc72b357c9bfa81867972c5c9b20dc028932d8b Signed-off-by: Ivan Yelizariev // IEL <yelizariev@users.noreply.github.com>
2020-11-26[IMP] test_mail: add new mail composer tests for its internalsThibault Delavallée
Purpose is to have some low level tests for composer itself allowing to ensure its behavior. We add tests notably about default values computation in mass mailing mode as well as template_id change and values synchronization in composer model. In a near future composer will probably be improved (use computed fields, rewrite part of its logic to improve performances). Having tests done before those tasks ensure we notice every change that might happen. Task ID-2390314 PR odoo/odoo#62061
2020-04-22[REF] test_mail: sun is shining, no more umbrellasThibault Delavallée
PURPOSE Have a cleaner test_mail addons SPECIFICATIONS Umbrella -> Container, easier to understand that we target a ticket / project like model using mail.test.ticket and mail.test.container . LINKS Prepares Task ID 2238597 (clean notification models) Prepares Task ID 2083854 (improve mass mailing technical flows) PR #49891
2020-04-22[REF] test_mail: rename test models to ease understandingThibault Delavallée
PURPOSE Have a cleaner test_mail addons SPECIFICATIONS Keep only mail-related tests, move odoobot in test mail full, send "update notification" tests in mail (specific to mail). Merge some test files to lessen number of files, perform light file renaming. Split test mail models file to prepare some cleaning in those models and tests. LINKS Prepares Task ID 2238597 (clean notification models) Prepares Task ID 2083854 (improve mass mailing technical flows) PR #49891
2020-02-11[IMP] *: use `ref=` instead of `eval="ref('` in xml field tags.Victor Feyens
* Code cleanup * Avoid a safe evaluation of the field value when loading those records. closes odoo/odoo#44883 Related: odoo/enterprise#8283 Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2019-11-05[IMP] test_mail: Adapt tests to work with/without demo dataYannick Tivisse
2019-09-19[REF] base,mail,tools: use new python email APIJulien Castiaux
[PEP 594] is going to depreciate the legacy `email.message.Message` API and its related modules: `email.(charset|header|mime|utils)`. The new `email.message.EmailMessage` API exposes a much easier interface to create multiparted emails [1], is capable of doing all the necessary headers value conversion (RFCs [2045], [2047], [2049]) [2] and get/set different flavor of payload (text/bytes) in a straightforward way [3]. All headers are structured in a way to support python native types, i.e. the `Date` header supports `datetime.datetime` objects and automatically performs the required formatting. The same goes for multi-valued headers like the `To` header, one can directly set a python list of values, it will be automatically be formatted according to the RFCs. The dedicated encoding and decoding functions are no more needed thus has been removed has part of the refactor. FTR, [RFC2231] is an update of [RFC2047] and based on tests we've just conducted, both GMail and Thunderbird now support RFC2231 encoding just fine in all headers: attachments names, From, etc. [1]: http://docs.python.org/3/library/email.message.html [2]: http://docs.python.org/3/library/email.headerregistry.html [3]: http://docs.python.org/3/library/email.contentmanager.html [2045]: https://tools.ietf.org/html/rfc2045 [2047]: https://tools.ietf.org/html/rfc2047 [2049]: https://tools.ietf.org/html/rfc2049 [2231]: https://tools.ietf.org/html/rfc2231 closes odoo/odoo#35929 Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
2019-08-09[REF] mail: move and improve bounce management in mail gatewayDavid Beguin
PURPOSE Add some improvements in mail gateway: remove private discussion, improve bounce management, allow resetting bounce counters, improve automatic set or reset of blacklists and ease mass mailing inheritance. SPECIFICATIONS Purpose * move bounce information detection in message parsing. It allows to have this information available in various steps of routing instead of having to manually re-compute them; * handle bounce in specific methods allowing easy override; * improve bounce management, notably when detecting a bounce not linked to the bounce alias configuration; * better integration with blacklist mechanism; Specifications * compute bounce information in ``_message_parse_extract_bounce``.It parses bounce information and returns a dictionary allowing to update parsed email values; * remove override in mass_mailign that basically does what mail already does; * manage bounce in ``_routing_handle_bounce``; * when detecting a bounce, correctly call the bounce management method on all models inheriting from blacklist; * correctly update bounce counter; * bounced mailing traces and automatic blacklist in mass mailing should be done in ``_routing_handle_bounce``; * add some tests; LINKS Related to task 1893155 Linked to PR #33340
2019-04-26[IMP] test_mail: add tests for mail gateway and perform light cleaningThibault Delavallée
This commit add some tests related to the mail gateway: more bounce management tests and some additional thread formation tests. Some test asserts about bounce / blacklist management are commented as they are not completely working currently. This will be improved in master soon. Some cleaning in also done in all mail gateway tests. Notably some call to tool methods are cleaned / simplified, duplicate tests are removed. Some low-level checks are removed. A new test model is added for mail gateway: mail.test.gateway. It is a chatter model with blacklist enabled on it. It allows to tests the various blacklist-related overrides and features as well as all basic mail gateway features. Sub-part of task 1853147 (pre-cleaning before implementing mail gateway improvements) Linked to PR #32974
2019-03-29[IMP] mail, *: don't track fields at createXavierDo
*: project, crm, maintenance, helpdesk, It is useless to track fields during create since they have no initial value and future tracking message will show changes on tracked field. We can log a default creation message instead (as it is now if there is no mail_create_nolog context key) This change will implies - less queries when creating record - cleaner creation messages - less occurence of mail_create_nolog ctx key Removing tracking at create could break the creation subtypes mechanism (example: following task creation subtype on project) Instead of using _track_subtype to give a subtype at create, a new _creation_subtype method can be override. If a creation subtype is set on a specific modlel, creation messages will be create by message_post instead of _message_log. We also need to adapt the message_track_post_template in order to keep this feature whithout tracking. Task: #1916916 closes odoo/odoo#31945 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2018-05-17[MERGE] forward port branch saas-11.2 up to 16552029241Christophe Simonis
2018-05-17[MERGE] forward port branch 11.0 up to 59a8a1cd8eeChristophe Simonis
2018-05-14[MERGE] forward port branch saas-11.2 up to e70e5b6cf33Christophe Simonis
2018-05-14[MERGE] forward port branch 11.0 up to 2787de8c68fChristophe Simonis
2018-03-27[IMP] mail: add tool methods to manage activities directly from the mixinThibault Delavallée
This commit adds tools methods related to activities in the mail.activity mixin. It gives to models inheriting from the activity mixin an easy-to-use API to schedule, unlink or mark activities as done. Purpose of those methods is to avoid having people manually managing activities in the code to hide the technical details of the activities model, notably access rights or activity types. A field is added on activity model to indicate they have been generated automatically. This way when rescheduling or unlinking based on some specific activity types we do not change user-created activities. Those methods include scheduling activities, changing their dates, marking them as done or unlinking them. Future commits will use those methods in various addons to automatically generate activities based on workflow we want to implement. This commit also adds tests for the newly added code. Future commits should probably have a look at activity security and add some tests cases to check it is correctly taken into account. It is considered a bit out of scope for this task. Thanks to @jem-odoo for its in-depth review of this commit. Well thanks for other commits also.
2018-03-09[IMP] test_mail: add performance tests to cover more separate featuresThibault Delavallée
This commit is a manual forward-port of saas-11.2's 42659dc70c2b9b124e7e4fdc0449f660c3de5c76 . In test_mail there are performance tests involving several followers and give counters for some heavy real-life-like use cases. Purpose of this commit is to have more basic performance tests for main mail features, like simple post, simple subscription of one follower. It allows to have an idea of the basic cost of various features. Adding use cases for message_post includes * posting without followers (aka, no notification) * posting with a ping (by email or by inbox) * logging a note with optimized method _message_log or with message_post Adding use cases for activities includes setting an activity as done. This action posts a message and is therefore interesting to evaluate. Adding use cases for subscription includes * adding and re-adding one follower, with default or specified subtypes * updating responsible field triggering a simple tracking and an assignation email or notification (not completely supported in saas 11.2 meaning this counter will increase when forward-ported) * note that some subscription tests have already been added at a01933c9b4dc6ff4e1a0b73822df9097025c0e1c Finally some heavier tests are added for assignation and tracking based on QWeb view. This commit is related to task ID 1824965 . This one is an ongoing task and several commits may be linked to that task.
2018-03-09[IMP] test_mail: add performance tests to cover more separate featuresThibault Delavallée
In test_mail there are performance tests involving several followers and give counters for some heavy real-life-like use cases. Purpose of this commit is to have more basic performance tests for main mail features, like simple post, simple subscription of one follower. It allows to have an idea of the basic cost of various features. Adding use cases for message_post includes * posting without followers (aka, no notification) * posting with a ping (by email or by inbox) * logging a note with optimized method _message_log or with message_post Adding use cases for activities includes setting an activity as done. This action posts a message and is therefore interesting to evaluate. Adding use cases for subscription includes * adding and re-adding one follower, with default or specified subtypes * updating responsible field triggering a simple tracking and an assignation email or notification (not completely supported in saas 11.2 meaning this counter will increase when forward-ported) * note that some subscription tests have already been added at a01933c9b4dc6ff4e1a0b73822df9097025c0e1c Finally some heavier tests are added for assignation and tracking based on QWeb view. This commit is related to task ID 1824965 . This one is an ongoing task and several commits may be linked to that task.
2017-12-12[IMP] test_mail: move some data into demo and update tests accordinglyThibault Delavallée
Creating data directly in tests was done when tests were located in mail module to avoid creating real data or demo. Now that mail tests have their own module we can create demo data and use them in tests. It is simpler to have demo data for things like subtype and email templates to ease understanding and reuse.
2017-12-01[MERGE] forward port branch 11.0 up to c201cf2b77cChristophe Simonis
2017-11-29[MOV] (test_)mail: move tests into their dedicated moduleThibault Delavallée
Purpose: avoid having useless tables for test models in a production environment.
2017-11-29[SPLIT] test_performance: split between base and mail performance testsThibault Delavallée
Test performance will now hold the base class for performance tests as well as tests related to the ORM, depending only on base. A new module test_mail is introduced at this commit that contains performance tests related to mail module. This commit contains only code move and should not impact anything. Future commits will move mail tests into test_mail so that all mail related tests are located in the same optional module. This allows notably to avoid creating a lot of unnecessary tables when installing mail module on production databases.