Skip to content

Commit d202c65

Browse files
committed
Add tests of document placement in the agenda
- Legacy-Id: 6488
1 parent 9842eef commit d202c65

1 file changed

Lines changed: 171 additions & 2 deletions

File tree

ietf/iesg/tests.py

Lines changed: 171 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from ietf.group.models import Group
1414
from ietf.name.models import StreamName
1515
from ietf.iesg.models import *
16-
from ietf.iesg.agenda import get_agenda_date
16+
from ietf.iesg.agenda import get_agenda_date, agenda_data
1717

1818
class ReviewDecisionsTests(django.test.TestCase):
1919
def test_review_decisions(self):
@@ -43,7 +43,7 @@ def setUp(self):
4343
"ietf_draft": Document.objects.get(name="draft-ietf-mars-test"),
4444
"ise_draft": ise_draft,
4545
"conflrev": Document.objects.get(name="conflict-review-imaginary-irtf-submission"),
46-
"statusch": Document.objects.get(name="status-change-imaginary-mid-review"),
46+
"statchg": Document.objects.get(name="status-change-imaginary-mid-review"),
4747
"charter": Document.objects.filter(type="charter")[0],
4848
}
4949

@@ -65,6 +65,175 @@ def setUp(self):
6565
def tearDown(self):
6666
shutil.rmtree(self.draft_dir)
6767

68+
def test_fill_in_agenda_docs(self):
69+
draft = self.telechat_docs["ietf_draft"]
70+
statchg = self.telechat_docs["statchg"]
71+
conflrev = self.telechat_docs["conflrev"]
72+
charter = self.telechat_docs["charter"]
73+
74+
# put on agenda
75+
date = datetime.date.today() + datetime.timedelta(days=50)
76+
TelechatDate.objects.create(date=date)
77+
telechat_event = TelechatDocEvent.objects.create(
78+
type="scheduled_for_telechat",
79+
doc=draft,
80+
by=Person.objects.get(name="Aread Irector"),
81+
telechat_date=date,
82+
returning_item=False)
83+
date_str = date.isoformat()
84+
85+
# 2.1 protocol WG submissions
86+
draft.intended_std_level_id = "ps"
87+
draft.group = Group.objects.get(acronym="mars")
88+
draft.save()
89+
draft.set_state(State.objects.get(type="draft-iesg", slug="iesg-eva"))
90+
self.assertTrue(draft in agenda_data(date_str)["sections"]["2.1.1"]["docs"])
91+
92+
telechat_event.returning_item = True
93+
telechat_event.save()
94+
self.assertTrue(draft in agenda_data(date_str)["sections"]["2.1.2"]["docs"])
95+
96+
telechat_event.returning_item = False
97+
telechat_event.save()
98+
draft.set_state(State.objects.get(type="draft-iesg", slug="pub-req"))
99+
self.assertTrue(draft in agenda_data(date_str)["sections"]["2.1.3"]["docs"])
100+
101+
# 2.2 protocol individual submissions
102+
draft.group = Group.objects.get(type="individ")
103+
draft.save()
104+
draft.set_state(State.objects.get(type="draft-iesg", slug="iesg-eva"))
105+
self.assertTrue(draft in agenda_data(date_str)["sections"]["2.2.1"]["docs"])
106+
107+
telechat_event.returning_item = True
108+
telechat_event.save()
109+
self.assertTrue(draft in agenda_data(date_str)["sections"]["2.2.2"]["docs"])
110+
111+
telechat_event.returning_item = False
112+
telechat_event.save()
113+
draft.set_state(State.objects.get(type="draft-iesg", slug="pub-req"))
114+
self.assertTrue(draft in agenda_data(date_str)["sections"]["2.2.3"]["docs"])
115+
116+
# 3.1 document WG submissions
117+
draft.intended_std_level_id = "inf"
118+
draft.group = Group.objects.get(acronym="mars")
119+
draft.save()
120+
draft.set_state(State.objects.get(type="draft-iesg", slug="iesg-eva"))
121+
self.assertTrue(draft in agenda_data(date_str)["sections"]["3.1.1"]["docs"])
122+
123+
telechat_event.returning_item = True
124+
telechat_event.save()
125+
self.assertTrue(draft in agenda_data(date_str)["sections"]["3.1.2"]["docs"])
126+
127+
telechat_event.returning_item = False
128+
telechat_event.save()
129+
draft.set_state(State.objects.get(type="draft-iesg", slug="pub-req"))
130+
self.assertTrue(draft in agenda_data(date_str)["sections"]["3.1.3"]["docs"])
131+
132+
# 3.2 document individual submissions
133+
draft.group = Group.objects.get(type="individ")
134+
draft.save()
135+
draft.set_state(State.objects.get(type="draft-iesg", slug="iesg-eva"))
136+
self.assertTrue(draft in agenda_data(date_str)["sections"]["3.2.1"]["docs"])
137+
138+
telechat_event.returning_item = True
139+
telechat_event.save()
140+
self.assertTrue(draft in agenda_data(date_str)["sections"]["3.2.2"]["docs"])
141+
142+
telechat_event.returning_item = False
143+
telechat_event.save()
144+
draft.set_state(State.objects.get(type="draft-iesg", slug="pub-req"))
145+
self.assertTrue(draft in agenda_data(date_str)["sections"]["3.2.3"]["docs"])
146+
147+
148+
# 2.3 protocol status changes
149+
telechat_event.doc = statchg
150+
telechat_event.save()
151+
152+
relation = RelatedDocument.objects.create(
153+
source=statchg,
154+
target=DocAlias.objects.filter(name__startswith='rfc', document__std_level="ps")[0],
155+
relationship_id="tohist")
156+
157+
statchg.group = Group.objects.get(acronym="mars")
158+
statchg.save()
159+
statchg.set_state(State.objects.get(type="statchg", slug="iesgeval"))
160+
self.assertTrue(statchg in agenda_data(date_str)["sections"]["2.3.1"]["docs"])
161+
162+
telechat_event.returning_item = True
163+
telechat_event.save()
164+
self.assertTrue(statchg in agenda_data(date_str)["sections"]["2.3.2"]["docs"])
165+
166+
telechat_event.returning_item = False
167+
telechat_event.save()
168+
statchg.set_state(State.objects.get(type="statchg", slug="adrev"))
169+
self.assertTrue(statchg in agenda_data(date_str)["sections"]["2.3.3"]["docs"])
170+
171+
# 3.3 document status changes
172+
relation.target = DocAlias.objects.filter(name__startswith='rfc', document__std_level="inf")[0]
173+
relation.save()
174+
175+
statchg.group = Group.objects.get(acronym="mars")
176+
statchg.save()
177+
statchg.set_state(State.objects.get(type="statchg", slug="iesgeval"))
178+
self.assertTrue(statchg in agenda_data(date_str)["sections"]["3.3.1"]["docs"])
179+
180+
telechat_event.returning_item = True
181+
telechat_event.save()
182+
self.assertTrue(statchg in agenda_data(date_str)["sections"]["3.3.2"]["docs"])
183+
184+
telechat_event.returning_item = False
185+
telechat_event.save()
186+
statchg.set_state(State.objects.get(type="statchg", slug="adrev"))
187+
self.assertTrue(statchg in agenda_data(date_str)["sections"]["3.3.3"]["docs"])
188+
189+
190+
# 3.4 IRTF/ISE conflict reviews
191+
telechat_event.doc = conflrev
192+
telechat_event.save()
193+
194+
conflrev.group = Group.objects.get(acronym="mars")
195+
conflrev.save()
196+
conflrev.set_state(State.objects.get(type="conflrev", slug="iesgeval"))
197+
self.assertTrue(conflrev in agenda_data(date_str)["sections"]["3.4.1"]["docs"])
198+
199+
telechat_event.returning_item = True
200+
telechat_event.save()
201+
self.assertTrue(conflrev in agenda_data(date_str)["sections"]["3.4.2"]["docs"])
202+
203+
telechat_event.returning_item = False
204+
telechat_event.save()
205+
conflrev.set_state(State.objects.get(type="conflrev", slug="needshep"))
206+
self.assertTrue(conflrev in agenda_data(date_str)["sections"]["3.4.3"]["docs"])
207+
208+
209+
# 4 WGs
210+
telechat_event.doc = charter
211+
telechat_event.save()
212+
213+
charter.group = Group.objects.get(acronym="mars")
214+
charter.save()
215+
216+
charter.group.state_id = "bof"
217+
charter.group.save()
218+
219+
charter.set_state(State.objects.get(type="charter", slug="infrev"))
220+
self.assertTrue(charter in agenda_data(date_str)["sections"]["4.1.1"]["docs"])
221+
222+
charter.set_state(State.objects.get(type="charter", slug="iesgrev"))
223+
self.assertTrue(charter in agenda_data(date_str)["sections"]["4.1.2"]["docs"])
224+
225+
charter.group.state_id = "active"
226+
charter.group.save()
227+
228+
charter.set_state(State.objects.get(type="charter", slug="infrev"))
229+
self.assertTrue(charter in agenda_data(date_str)["sections"]["4.2.1"]["docs"])
230+
231+
charter.set_state(State.objects.get(type="charter", slug="iesgrev"))
232+
self.assertTrue(charter in agenda_data(date_str)["sections"]["4.2.2"]["docs"])
233+
234+
#for n, s in agenda_data(date_str)["sections"].iteritems():
235+
# print n, s.get("docs") if "docs" in s else s["title"]
236+
68237
def test_feed(self):
69238
url = "/feed/iesg-agenda/"
70239

0 commit comments

Comments
 (0)