Some tests (e.g. mail) have expensive and significant DB setup for a
number of small and cheap tests. Using a TransactionCase, the DB setup
far dominates the tests themselves, by up to 10x (mail unit tests take
~130s on my machine, the tests themselves take ~15s).
The SavepointCase introduced here is an hybrid of SingleTransactionCase
and TransactionCase: it uses a single transaction for all tests in a
class, but each test case is isolated by a rollbacked savepoint. This
allows a common DB setup (via setUpClass) while keeping independent
tests.
TransactionCase should remain the primary test case superclass, but
SavepointCase can be a fair optimisation when setup costs far dominate.
A squashed merge is required as the conversion of the apiculture branch from
bzr to git was not correctly done. The git history contains irrelevant blobs
and commits. This branch brings a lot of changes and fixes, too many to list
exhaustively.
- New orm api, objects are now used instead of ids
- Environements to encapsulates cr uid context while maintaining backward compatibility
- Field compute attribute is a new object oriented way to define function fields
- Shared browse record cache
- New onchange protocol
- Optional copy flag on fields
- Documentation update
- Dead code cleanup
- Lots of fixes
Replaced some read by browse
Moved get_reply_to from mail_mail to mail_message
Hint: specifying email_from, reply_to help to enhance computation time
[REF] mail: cleaned some tests, renamed a file, moved mail_group tests into a dedicated file
bzr revid: tde@openerp.com-20130827133058-ko0g0ib0f0jihmdk
IMP:
- mail.compose.message: added a context key 'mail_post_autofollow' that automatically subscribe the message recipients to the document followers, if any
- sale, purchase, invoice: recipients of 'Send by email' action are now automatically added as followers, using the above key
- mail: the Chatter widget on documents now sets the displayed messages as read
- mail: for incoming emails going through message_process that have an author, the author is added in the related document followers, if any
FIX:
- mail: attachments added in Chatter/Mailboxes were not added to the notifications emails send to followers/recipients
- portal: fixed various mail_mail created without specifying the type field, that could crash if a conflicting 'default_type' key was present in context (i.e. in opportunities)
bzr revid: tde@openerp.com-20121221131108-jx9jkeukjamnd3yh