Ignore empty message (sent by clients supporting pubsub)
This commit is contained in:
@@ -82,6 +82,8 @@ class SendMailMessageHandler(MailHandler):
|
|||||||
|
|
||||||
def handle(self, stanza, lang_class, data):
|
def handle(self, stanza, lang_class, data):
|
||||||
message = stanza
|
message = stanza
|
||||||
|
if message.get_body() is None or message.get_body() == "":
|
||||||
|
return []
|
||||||
accounts = data
|
accounts = data
|
||||||
to_node = message.get_to().node
|
to_node = message.get_to().node
|
||||||
to_email = to_node.replace('%', '@', 1)
|
to_email = to_node.replace('%', '@', 1)
|
||||||
@@ -141,6 +143,8 @@ class RootSendMailMessageHandler(SendMailMessageHandler):
|
|||||||
|
|
||||||
def handle(self, stanza, lang_class, data):
|
def handle(self, stanza, lang_class, data):
|
||||||
message = stanza
|
message = stanza
|
||||||
|
if message.get_body() is None or message.get_body() == "":
|
||||||
|
return []
|
||||||
accounts = data
|
accounts = data
|
||||||
(message_body,
|
(message_body,
|
||||||
(to_email,
|
(to_email,
|
||||||
|
|||||||
@@ -120,6 +120,16 @@ class SendMailMessageHandler_TestCase(unittest.TestCase):
|
|||||||
self.assertEquals(mock_account.email[4], {u"Bcc": "bcc@test.com",
|
self.assertEquals(mock_account.email[4], {u"Bcc": "bcc@test.com",
|
||||||
u"Cc": "cc@test.com"})
|
u"Cc": "cc@test.com"})
|
||||||
|
|
||||||
|
def test_handle_ignore_empty_message_body(self):
|
||||||
|
mock_account = MockSMTPAccount()
|
||||||
|
message = Message(from_jid="user1@test.com",
|
||||||
|
to_jid="real_dest%test.com@jmc.test.com",
|
||||||
|
subject="real subject",
|
||||||
|
body=None)
|
||||||
|
result = self.handler.handle(\
|
||||||
|
message, Lang.en, [mock_account])
|
||||||
|
self.assertEquals(len(result), 0)
|
||||||
|
|
||||||
class RootSendMailMessageHandler_TestCase(JCLTestCase):
|
class RootSendMailMessageHandler_TestCase(JCLTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
JCLTestCase.setUp(self, tables=[Account, GlobalSMTPAccount,
|
JCLTestCase.setUp(self, tables=[Account, GlobalSMTPAccount,
|
||||||
@@ -211,6 +221,16 @@ class RootSendMailMessageHandler_TestCase(JCLTestCase):
|
|||||||
self.assertEquals(mock_account.email[4], {u"Bcc": "bcc@test.com",
|
self.assertEquals(mock_account.email[4], {u"Bcc": "bcc@test.com",
|
||||||
u"Cc": "cc@test.com"})
|
u"Cc": "cc@test.com"})
|
||||||
|
|
||||||
|
def test_handle_ignore_empty_message_body(self):
|
||||||
|
mock_account = MockSMTPAccount()
|
||||||
|
message = Message(from_jid="user1@test.com",
|
||||||
|
to_jid="jmc.test.com",
|
||||||
|
subject="real subject",
|
||||||
|
body=None)
|
||||||
|
result = self.handler.handle(\
|
||||||
|
message, Lang.en, [mock_account])
|
||||||
|
self.assertEquals(len(result), 0)
|
||||||
|
|
||||||
def test_handle_email_not_found_in_header(self):
|
def test_handle_email_not_found_in_header(self):
|
||||||
message = Message(from_jid="user1@test.com",
|
message = Message(from_jid="user1@test.com",
|
||||||
to_jid="jmc.test.com",
|
to_jid="jmc.test.com",
|
||||||
|
|||||||
Reference in New Issue
Block a user