1313from ietf .group .models import Group
1414from ietf .name .models import StreamName
1515from 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
1818class 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