diff --git a/ietf/doc/expire.py b/ietf/doc/expire.py index 141ccfaa3..f7efd00f1 100644 --- a/ietf/doc/expire.py +++ b/ietf/doc/expire.py @@ -90,8 +90,10 @@ def in_draft_expire_freeze(when=None): return second_cut_off <= when < ietf_monday def send_expire_warning_for_draft(doc): - if doc.get_state_slug("draft-iesg") == "dead": - return # don't warn about dead documents + + if ((doc.get_state_slug("draft-iesg") == "dead") or + (doc.get_state_slug("draft") != "active")): + return # don't warn about dead or inactive documents expiration = doc.expires.date() diff --git a/ietf/doc/tests_draft.py b/ietf/doc/tests_draft.py index 8b30b6255..af06a8eb0 100644 --- a/ietf/doc/tests_draft.py +++ b/ietf/doc/tests_draft.py @@ -652,7 +652,20 @@ class ExpireIDsTests(DraftFileMixin, TestCase): self.assertTrue('draft-ietf-mars-test@' in outbox[-1]['To']) # Gets the authors self.assertTrue('mars-chairs@ietf.org' in outbox[-1]['Cc']) self.assertTrue('aread@' in outbox[-1]['Cc']) - + + #Check that we don't sent expiration warnings for dead or replaced drafts + old_state = draft.get_state_slug("draft-iesg") + mailbox_before = len(outbox) + draft.set_state(State.objects.get(type_id="draft-iesg",slug="dead")) + send_expire_warning_for_draft(draft) + self.assertEqual(len(outbox), mailbox_before,"Sent expiration warning for dead draft") + draft.set_state(State.objects.get(type_id="draft-iesg",slug=old_state)) + + mailbox_before = len(outbox) + draft.set_state(State.objects.get(type_id="draft",slug="repl")) + send_expire_warning_for_draft(draft) + self.assertEqual(len(outbox), mailbox_before,"Sent expiration warning for replaced draft") + def test_expire_drafts(self): mars = GroupFactory(type_id='wg',acronym='mars') ad_role = RoleFactory(group=mars, name_id='ad', person=Person.objects.get(user__username='ad'))