Skip to content

Commit dbeb0e8

Browse files
committed
Fixes ietf-tools#3032: Only send expiration warnings for drafts with a "draft" state of "active", to match the drafts that we will actually expire. Commit ready for merge.
- Legacy-Id: 18723
1 parent 0bf56c9 commit dbeb0e8

2 files changed

Lines changed: 18 additions & 3 deletions

File tree

ietf/doc/expire.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,10 @@ def in_draft_expire_freeze(when=None):
9090
return second_cut_off <= when < ietf_monday
9191

9292
def send_expire_warning_for_draft(doc):
93-
if doc.get_state_slug("draft-iesg") == "dead":
94-
return # don't warn about dead documents
93+
94+
if ((doc.get_state_slug("draft-iesg") == "dead") or
95+
(doc.get_state_slug("draft") != "active")):
96+
return # don't warn about dead or inactive documents
9597

9698
expiration = doc.expires.date()
9799

ietf/doc/tests_draft.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -632,7 +632,20 @@ def test_warn_expirable_drafts(self):
632632
self.assertTrue('draft-ietf-mars-test@' in outbox[-1]['To']) # Gets the authors
633633
self.assertTrue('mars-chairs@ietf.org' in outbox[-1]['Cc'])
634634
self.assertTrue('aread@' in outbox[-1]['Cc'])
635-
635+
636+
#Check that we don't sent expiration warnings for dead or replaced drafts
637+
old_state = draft.get_state_slug("draft-iesg")
638+
mailbox_before = len(outbox)
639+
draft.set_state(State.objects.get(type_id="draft-iesg",slug="dead"))
640+
send_expire_warning_for_draft(draft)
641+
self.assertEqual(len(outbox), mailbox_before,"Sent expiration warning for dead draft")
642+
draft.set_state(State.objects.get(type_id="draft-iesg",slug=old_state))
643+
644+
mailbox_before = len(outbox)
645+
draft.set_state(State.objects.get(type_id="draft",slug="repl"))
646+
send_expire_warning_for_draft(draft)
647+
self.assertEqual(len(outbox), mailbox_before,"Sent expiration warning for replaced draft")
648+
636649
def test_expire_drafts(self):
637650
mars = GroupFactory(type_id='wg',acronym='mars')
638651
ad_role = RoleFactory(group=mars, name_id='ad', person=Person.objects.get(user__username='ad'))

0 commit comments

Comments
 (0)