@@ -625,15 +625,47 @@ def testMultipartKeepAlternatives(self):
625625 self .assertEqual (f .content , content [n ])
626626 self .assertEqual (msg .content , 'test attachment second text/plain' )
627627
628+ def testMultipartSeveralAttachmentMessages (self ):
629+ self .doNewIssue ()
630+ self ._handle_mail (self .multipart_msg )
631+ messages = self .db .issue .get ('1' , 'messages' )
632+ messages .sort ()
633+ self .assertEqual (messages [- 1 ], '2' )
634+ msg = self .db .msg .getnode (messages [- 1 ])
635+ self .assertEqual (len (msg .files ), 5 )
636+ issue = self .db .issue .getnode ('1' )
637+ self .assertEqual (len (issue .files ), 5 )
638+ names = {0 : 'first.dvi' , 4 : 'second.dvi' }
639+ content = {3 : 'test attachment third text/plain\n ' ,
640+ 4 : 'Just a test\n ' }
641+ for n , id in enumerate (msg .files ):
642+ f = self .db .file .getnode (id )
643+ self .assertEqual (f .name , names .get (n , 'unnamed' ))
644+ if n in content :
645+ self .assertEqual (f .content , content [n ])
646+ self .assertEqual (msg .content , 'test attachment second text/plain' )
647+ self .assertEqual (msg .files , ['1' , '2' , '3' , '4' , '5' ])
648+ self .assertEqual (issue .files , ['1' , '2' , '3' , '4' , '5' ])
649+
650+ self ._handle_mail (self .multipart_msg )
651+ issue = self .db .issue .getnode ('1' )
652+ self .assertEqual (len (issue .files ), 10 )
653+ messages = self .db .issue .get ('1' , 'messages' )
654+ messages .sort ()
655+ self .assertEqual (messages [- 1 ], '3' )
656+ msg = self .db .msg .getnode (messages [- 1 ])
657+ self .assertEqual (issue .files , [str (i + 1 ) for i in range (10 )])
658+ self .assertEqual (msg .files , ['6' , '7' , '8' , '9' , '10' ])
659+
628660 def testMultipartKeepFiles (self ):
629661 self .doNewIssue ()
630662 self ._handle_mail (self .multipart_msg )
631663 messages = self .db .issue .get ('1' , 'messages' )
632664 messages .sort ()
633665 msg = self .db .msg .getnode (messages [- 1 ])
634- assert (len (msg .files ) == 5 )
666+ self . assertEqual (len (msg .files ), 5 )
635667 issue = self .db .issue .getnode ('1' )
636- assert (len (issue .files ) == 5 )
668+ self . assertEqual (len (issue .files ), 5 )
637669 names = {0 : 'first.dvi' , 4 : 'second.dvi' }
638670 content = {3 : 'test attachment third text/plain\n ' ,
639671 4 : 'Just a test\n ' }
@@ -652,7 +684,7 @@ def testMultipartKeepFiles(self):
652684This ist a message without attachment
653685''' )
654686 issue = self .db .issue .getnode ('1' )
655- assert (len (issue .files ) == 5 )
687+ self . assertEqual (len (issue .files ), 5 )
656688 self .assertEqual (issue .files , ['1' , '2' , '3' , '4' , '5' ])
657689
658690 def testMultipartDropAlternatives (self ):
@@ -662,7 +694,7 @@ def testMultipartDropAlternatives(self):
662694 messages = self .db .issue .get ('1' , 'messages' )
663695 messages .sort ()
664696 msg = self .db .msg .getnode (messages [- 1 ])
665- assert (len (msg .files ) == 2 )
697+ self . assertEqual (len (msg .files ), 2 )
666698 names = {1 : 'second.dvi' }
667699 content = {0 : 'test attachment third text/plain\n ' ,
668700 1 : 'Just a test\n ' }
@@ -681,7 +713,7 @@ def testMultipartCharsetUTF8NoAttach(self):
681713 messages = self .db .issue .get ('1' , 'messages' )
682714 messages .sort ()
683715 msg = self .db .msg .getnode (messages [- 1 ])
684- assert (len (msg .files ) == 1 )
716+ self . assertEqual (len (msg .files ), 1 )
685717 name = 'unnamed'
686718 content = '<html>' + c + '</html>\n '
687719 for n , id in enumerate (msg .files ):
@@ -732,7 +764,7 @@ def testMultipartCharsetLatin1NoAttach(self):
732764 messages = self .db .issue .get ('1' , 'messages' )
733765 messages .sort ()
734766 msg = self .db .msg .getnode (messages [- 1 ])
735- assert (len (msg .files ) == 1 )
767+ self . assertEqual (len (msg .files ), 1 )
736768 name = 'unnamed'
737769 content = '<html>' + c + '</html>\n '
738770 for n , id in enumerate (msg .files ):
@@ -781,7 +813,7 @@ def testMultipartCharsetUTF8AttachFile(self):
781813 messages = self .db .issue .get ('1' , 'messages' )
782814 messages .sort ()
783815 msg = self .db .msg .getnode (messages [- 1 ])
784- assert (len (msg .files ) == 1 )
816+ self . assertEqual (len (msg .files ), 1 )
785817 name = 'unnamed'
786818 content = '<html>' + c + '</html>\n '
787819 for n , id in enumerate (msg .files ):
@@ -845,7 +877,7 @@ def testMultipartCharsetLatin1AttachFile(self):
845877 messages = self .db .issue .get ('1' , 'messages' )
846878 messages .sort ()
847879 msg = self .db .msg .getnode (messages [- 1 ])
848- assert (len (msg .files ) == 1 )
880+ self . assertEqual (len (msg .files ), 1 )
849881 name = 'unnamed'
850882 content = '<html>' + c + '</html>\n '
851883 for n , id in enumerate (msg .files ):
@@ -907,7 +939,7 @@ def testMultipartRFC822(self):
907939 messages = self .db .issue .get ('1' , 'messages' )
908940 messages .sort ()
909941 msg = self .db .msg .getnode (messages [- 1 ])
910- assert (len (msg .files ) == 1 )
942+ self . assertEqual (len (msg .files ), 1 )
911943 name = "Fwd: Original email subject.eml"
912944 for n , id in enumerate (msg .files ):
913945 f = self .db .file .getnode (id )
0 commit comments