@@ -50,13 +50,21 @@ def setUp(self):
5050 by = Person .objects .get (name = "Aread Irector" )
5151 date = get_agenda_date ()
5252
53+ self .draft_dir = os .path .abspath ("tmp-agenda-draft-dir" )
54+ os .mkdir (self .draft_dir )
55+ settings .INTERNET_DRAFT_PATH = self .draft_dir
56+
5357 for d in self .telechat_docs .values ():
5458 TelechatDocEvent .objects .create (type = "scheduled_for_telechat" ,
5559 doc = d ,
5660 by = by ,
5761 telechat_date = date ,
5862 returning_item = True )
5963
64+
65+ def tearDown (self ):
66+ shutil .rmtree (self .draft_dir )
67+
6068 def test_feed (self ):
6169 url = "/feed/iesg-agenda/"
6270
@@ -157,6 +165,35 @@ def test_agenda_documents(self):
157165 self .assertTrue (d .name in r .content , "%s not in response" % k )
158166 self .assertTrue (d .title in r .content , "%s title not in response" % k )
159167
168+ def test_agenda_telechat_docs (self ):
169+ d1 = self .telechat_docs ["ietf_draft" ]
170+ d2 = self .telechat_docs ["ise_draft" ]
171+
172+ d1_filename = "%s-%s.txt" % (d1 .name , d1 .rev )
173+ d2_filename = "%s-%s.txt" % (d2 .name , d2 .rev )
174+
175+ with open (os .path .join (self .draft_dir , d1_filename ), "w" ) as f :
176+ f .write ("test content" )
177+
178+ url = urlreverse ("ietf.iesg.views.telechat_docs_tarfile" , kwargs = dict (date = get_agenda_date ().isoformat ()))
179+ r = self .client .get (url )
180+ self .assertEquals (r .status_code , 200 )
181+
182+ import tarfile , StringIO
183+
184+ tar = tarfile .open (None , fileobj = StringIO .StringIO (r .content ))
185+ names = tar .getnames ()
186+ self .assertTrue (d1_filename in names )
187+ self .assertTrue (d2_filename not in names )
188+ self .assertTrue ("manifest.txt" in names )
189+
190+ f = tar .extractfile (d1_filename )
191+ self .assertEqual (f .read (), "test content" )
192+
193+ f = tar .extractfile ("manifest.txt" )
194+ lines = list (f .readlines ())
195+ self .assertTrue ("Included" in [l for l in lines if d1_filename in l ][0 ])
196+ self .assertTrue ("Not found" in [l for l in lines if d2_filename in l ][0 ])
160197
161198class RescheduleOnAgendaTests (django .test .TestCase ):
162199 def test_reschedule (self ):
0 commit comments