Skip to content

Commit 72cc997

Browse files
committed
Add test for /iesg/agenda/telechat-YYYY-MM-DD-docs.tgz
- Legacy-Id: 6408
1 parent 21b32e7 commit 72cc997

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

ietf/iesg/tests.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

161198
class RescheduleOnAgendaTests(django.test.TestCase):
162199
def test_reschedule(self):

0 commit comments

Comments
 (0)