Skip to content

Commit 12d999a

Browse files
committed
Modified the IESG position setting API to send email messages about positions set.
- Legacy-Id: 15050
1 parent 2ed9fac commit 12d999a

1 file changed

Lines changed: 21 additions & 2 deletions

File tree

ietf/doc/tests_ballot.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ def test_api_set_position(self):
9999

100100
# vote
101101
events_before = draft.docevent_set.count()
102-
102+
mailbox_before = len(outbox)
103+
103104
r = self.client.post(url, dict(
104105
apikey=apikey.hash(),
105106
doc=draft.name,
@@ -118,9 +119,11 @@ def test_api_set_position(self):
118119
self.assertTrue(pos.comment_time != None)
119120
self.assertTrue("New position" in pos.desc)
120121
self.assertEqual(draft.docevent_set.count(), events_before + 3)
122+
self.assertEqual(len(outbox), mailbox_before + 1)
121123

122124
# recast vote
123125
events_before = draft.docevent_set.count()
126+
mailbox_before = len(outbox)
124127
r = self.client.post(url, dict(apikey=apikey.hash(), doc=draft.name, position="noobj"))
125128
self.assertEqual(r.status_code, 200)
126129

@@ -129,9 +132,16 @@ def test_api_set_position(self):
129132
self.assertEqual(pos.pos.slug, "noobj")
130133
self.assertEqual(draft.docevent_set.count(), events_before + 1)
131134
self.assertTrue("Position for" in pos.desc)
132-
135+
self.assertEqual(len(outbox), mailbox_before + 1)
136+
m = outbox[-1]
137+
self.assertIn('No Objection', m['Subject'])
138+
self.assertIn('iesg@', m['To'])
139+
self.assertIn(draft.name, m['Cc'])
140+
self.assertIn(draft.group.acronym+'-chairs@', m['Cc'])
141+
133142
# clear vote
134143
events_before = draft.docevent_set.count()
144+
mailbox_before = len(outbox)
135145
r = self.client.post(url, dict(apikey=apikey.hash(), doc=draft.name, position="norecord"))
136146
self.assertEqual(r.status_code, 200)
137147

@@ -140,9 +150,13 @@ def test_api_set_position(self):
140150
self.assertEqual(pos.pos.slug, "norecord")
141151
self.assertEqual(draft.docevent_set.count(), events_before + 1)
142152
self.assertTrue("Position for" in pos.desc)
153+
self.assertEqual(len(outbox), mailbox_before + 1)
154+
m = outbox[-1]
155+
self.assertIn('No Record', m['Subject'])
143156

144157
# change comment
145158
events_before = draft.docevent_set.count()
159+
mailbox_before = len(outbox)
146160
r = self.client.post(url, dict(apikey=apikey.hash(), doc=draft.name, position="norecord", comment="New comment."))
147161
self.assertEqual(r.status_code, 200)
148162

@@ -151,6 +165,11 @@ def test_api_set_position(self):
151165
self.assertEqual(pos.pos.slug, "norecord")
152166
self.assertEqual(draft.docevent_set.count(), events_before + 2)
153167
self.assertTrue("Ballot comment text updated" in pos.desc)
168+
self.assertEqual(len(outbox), mailbox_before + 1)
169+
m = outbox[-1]
170+
self.assertIn('COMMENT', m['Subject'])
171+
self.assertIn('New comment', m.get_payload())
172+
154173

155174
def test_edit_position_as_secretary(self):
156175
draft = make_test_data()

0 commit comments

Comments
 (0)