comparison test/test_mailgw.py @ 5547:081be318661b

Do not transcode binary email attachments (issue2551004). Only transcode attachments if a charset is specified or if they have a text/* content-type.
author Joseph Myers <jsm@polyomino.org.uk>
date Wed, 26 Sep 2018 01:24:19 +0000
parents 52e50ab5dfda
children f8893e1cde0d
comparison
equal deleted inserted replaced
5546:52e50ab5dfda 5547:081be318661b
830 --090500050101020406060002-- 830 --090500050101020406060002--
831 831
832 --001485f339f8f361fb049188dbba-- 832 --001485f339f8f361fb049188dbba--
833 ''' 833 '''
834 834
835 @pytest.mark.xfail
836 def testOctetStreamTranscoding(self): 835 def testOctetStreamTranscoding(self):
837 self.doNewIssue() 836 self.doNewIssue()
838 self._handle_mail(self.octetstream_msg) 837 self._handle_mail(self.octetstream_msg)
839 messages = self.db.issue.get('1', 'messages') 838 messages = self.db.issue.get('1', 'messages')
840 messages.sort() 839 messages.sort()
841 msg = self.db.msg.getnode (messages[-1]) 840 msg = self.db.msg.getnode (messages[-1])
842 assert(len(msg.files) == 1) 841 assert(len(msg.files) == 1)
843 names = {0 : 'testfile'} 842 names = {0 : 'testfile'}
844 content = ['''This is a file containing text 843 content = [b'''This is a file containing text
845 in latin-1 format \xE4\xF6\xFC\xC4\xD6\xDC\xDF 844 in latin-1 format \xE4\xF6\xFC\xC4\xD6\xDC\xDF
846 '''] 845 ''']
847 for n, id in enumerate (msg.files): 846 for n, id in enumerate (msg.files):
848 f = self.db.file.getnode (id) 847 f = self.db.file.getnode (id)
849 self.assertEqual(f.name, names.get (n, 'unnamed')) 848 self.assertEqual(f.name, names.get (n, 'unnamed'))
850 self.assertEqual(f.content, content [n]) 849 self.assertEqual(f.binary_content, content [n])
851 850
852 def testMultipartKeepAlternatives(self): 851 def testMultipartKeepAlternatives(self):
853 self.doNewIssue() 852 self.doNewIssue()
854 self._handle_mail(self.multipart_msg) 853 self._handle_mail(self.multipart_msg)
855 messages = self.db.issue.get('1', 'messages') 854 messages = self.db.issue.get('1', 'messages')

Roundup Issue Tracker: http://roundup-tracker.org/