You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.1 KiB
55 lines
2.1 KiB
# -*- coding: utf-8 -*-
|
|
# Copyright 2018 Lorenzo Battistini - Agile Business Group
|
|
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).
|
|
|
|
import odoo.tests.common as common
|
|
from odoo.modules.module import get_module_resource
|
|
|
|
|
|
class TestMailNotification(common.TransactionCase):
|
|
def setUp(self):
|
|
super(TestMailNotification, self).setUp()
|
|
self.fetchmail_model = self.env['fetchmail.server']
|
|
self.partner_model = self.env['res.partner']
|
|
self.thread_model = self.env['mail.thread']
|
|
|
|
def test_notify_bounce_partners(self):
|
|
admin_id = self.partner_model.search(
|
|
[('name', '=', 'Administrator')])[0].id
|
|
server = self.fetchmail_model.create({
|
|
'name': 'disabled',
|
|
'server': 'disabled',
|
|
'user': 'disabled',
|
|
'password': 'disabled',
|
|
'bounce_notify_partner_ids': [(6, 0, [admin_id])]
|
|
})
|
|
|
|
path = get_module_resource(
|
|
'mail_notify_bounce',
|
|
'tests', 'data', 'bounce_message'
|
|
)
|
|
with open(path) as bounce_message:
|
|
self.thread_model.with_context(
|
|
fetchmail_server_id=server.id
|
|
).message_process(
|
|
model='res.partner', message=bounce_message.read())
|
|
sent_mail = self.env['mail.mail'].search(
|
|
[], order="create_date desc")[0]
|
|
self.assertEqual(sent_mail.recipient_ids.name, 'Administrator')
|
|
self.assertEqual(
|
|
sent_mail.subject, 'Delivery Status Notification (Failure)')
|
|
|
|
path = get_module_resource(
|
|
'mail_notify_bounce',
|
|
'tests', 'data', 'bounce_message_2'
|
|
)
|
|
with open(path) as bounce_message:
|
|
self.thread_model.with_context(
|
|
fetchmail_server_id=server.id
|
|
).message_process(
|
|
model='res.partner', message=bounce_message.read())
|
|
sent_mail = self.env['mail.mail'].search(
|
|
[], order="create_date desc")[0]
|
|
self.assertEqual(sent_mail.recipient_ids.name, 'Administrator')
|
|
self.assertEqual(
|
|
sent_mail.subject, 'Delivery Status Notification (Failure)')
|