@@ -131,11 +131,12 @@ def test_changes_sync_errors(self):
131131 def test_iana_review_mail (self ):
132132 draft = make_test_data ()
133133
134+ subject_template = u'Subject: [IANA #12345] Last Call: <%(draft)s-%(rev)s.txt> (Long text) to Informational RFC'
134135 msg_template = u"""From: "%(person)s via RT" <drafts-lastcall@iana.org>
135136Date: Thu, 10 May 2012 12:00:0%(rtime)d +0000
136- Subject: [IANA #12345] Last Call: <%(draft)s-%(rev)s.txt> (Long text) to Informational RFC
137+ %(subject)s
137138
138- (BEGIN IANA %(tag)s)
139+ (BEGIN IANA %(tag)s%(embedded_name)s )
139140
140141IESG:
141142
@@ -154,32 +155,44 @@ def test_iana_review_mail(self):
154155(END IANA %(tag)s)
155156"""
156157
157- tags = ("LAST CALL COMMENTS" ,"COMMENTS" )
158- for tag in tags :
159- msg = msg_template % dict (person = Person .objects .get (user__username = "iana" ).name ,
160- draft = draft .name ,
161- rev = draft .rev ,
162- tag = tag ,
163- rtime = tags .index (tag ))
164-
165- doc_name , review_time , by , comment = iana .parse_review_email (msg .encode ('utf-8' ))
166-
167- self .assertEqual (doc_name , draft .name )
168- # self.assertEqual(review_time, datetime.datetime(2012, 5, 10, 5, 0, 0))
169- self .assertEqual (by , Person .objects .get (user__username = "iana" ))
170- self .assertTrue ("there are no IANA Actions" in comment .replace ("\n " , "" ))
171-
172- events_before = DocEvent .objects .filter (doc = draft , type = "iana_review" ).count ()
173- iana .add_review_comment (doc_name , review_time , by , comment )
174-
175- e = draft .latest_event (type = "iana_review" )
176- self .assertTrue (e )
177- self .assertEqual (e .desc , comment )
178- self .assertEqual (e .by , by )
179-
180- # make sure it doesn't create duplicates
181- iana .add_review_comment (doc_name , review_time , by , comment )
182- self .assertEqual (DocEvent .objects .filter (doc = draft , type = "iana_review" ).count (), events_before + 1 )
158+ subjects = ( subject_template % dict (draft = draft .name ,rev = draft .rev ) , 'Subject: Vacuous Subject' )
159+
160+ tags = ('LAST CALL COMMENTS' , 'COMMENTS' )
161+
162+ embedded_names = (': %s-%s.txt' % (draft .name ,draft .rev ), '' )
163+
164+ for subject in subjects :
165+ for tag in tags :
166+ for embedded_name in embedded_names :
167+ if embedded_name or not 'Vacuous' in subject :
168+
169+ rtime = 7 * subjects .index (subject ) + 5 * tags .index (tag ) + embedded_names .index (embedded_name )
170+ msg = msg_template % dict (person = Person .objects .get (user__username = "iana" ).name ,
171+ draft = draft .name ,
172+ rev = draft .rev ,
173+ tag = tag ,
174+ rtime = rtime ,
175+ subject = subject ,
176+ embedded_name = embedded_name ,)
177+
178+ doc_name , review_time , by , comment = iana .parse_review_email (msg .encode ('utf-8' ))
179+
180+ self .assertEqual (doc_name , draft .name )
181+ self .assertEqual (review_time , datetime .datetime (2012 , 5 , 10 , 5 , 0 , rtime ))
182+ self .assertEqual (by , Person .objects .get (user__username = "iana" ))
183+ self .assertTrue ("there are no IANA Actions" in comment .replace ("\n " , "" ))
184+
185+ events_before = DocEvent .objects .filter (doc = draft , type = "iana_review" ).count ()
186+ iana .add_review_comment (doc_name , review_time , by , comment )
187+
188+ e = draft .latest_event (type = "iana_review" )
189+ self .assertTrue (e )
190+ self .assertEqual (e .desc , comment )
191+ self .assertEqual (e .by , by )
192+
193+ # make sure it doesn't create duplicates
194+ iana .add_review_comment (doc_name , review_time , by , comment )
195+ self .assertEqual (DocEvent .objects .filter (doc = draft , type = "iana_review" ).count (), events_before + 1 )
183196
184197 def test_notify_page (self ):
185198 # check that we can get the notify page
0 commit comments