|
1 | 1 | # Copyright The IETF Trust 2011, All Rights Reserved |
2 | 2 |
|
3 | | -import os, shutil |
| 3 | +import os |
| 4 | +import shutil |
| 5 | +import datetime |
4 | 6 | from StringIO import StringIO |
5 | 7 | from pyquery import PyQuery |
6 | 8 |
|
|
9 | 11 |
|
10 | 12 | from ietf.doc.models import Document, State, DocAlias |
11 | 13 | from ietf.group.models import Group |
| 14 | +from ietf.meeting.models import Meeting, Session, SessionPresentation |
| 15 | +from ietf.name.models import SessionStatusName |
| 16 | +from ietf.person.models import Person |
12 | 17 | from ietf.utils.test_utils import TestCase, login_testing_unauthorized |
| 18 | +from ietf.utils.test_data import make_test_data |
13 | 19 |
|
14 | 20 | class GroupMaterialTests(TestCase): |
15 | 21 | def setUp(self): |
16 | 22 | self.materials_dir = os.path.abspath("tmp-document-dir") |
17 | | - os.mkdir(self.materials_dir) |
18 | | - os.mkdir(os.path.join(self.materials_dir, "slides")) |
| 23 | + if not os.path.exists(self.materials_dir): |
| 24 | + os.makedirs(os.path.join(self.materials_dir, "slides")) |
19 | 25 | settings.DOCUMENT_PATH_PATTERN = self.materials_dir + "/{doc.type_id}/" |
20 | 26 |
|
| 27 | + self.agenda_dir = os.path.abspath("tmp-agenda-dir") |
| 28 | + if not os.path.exists(self.agenda_dir): |
| 29 | + os.makedirs(os.path.join(self.agenda_dir, "42", "slides")) |
| 30 | + settings.AGENDA_PATH = self.agenda_dir |
| 31 | + |
21 | 32 | def tearDown(self): |
22 | 33 | shutil.rmtree(self.materials_dir) |
| 34 | + shutil.rmtree(self.agenda_dir) |
23 | 35 |
|
24 | 36 | def create_slides(self): |
| 37 | + make_test_data() |
| 38 | + |
25 | 39 | group = Group.objects.create(type_id="team", acronym="testteam", name="Test Team", state_id="active") |
26 | 40 |
|
27 | 41 | doc = Document.objects.create(name="slides-testteam-test-file", rev="00", type_id="slides", group=group) |
28 | 42 | doc.set_state(State.objects.get(type="slides", slug="active")) |
29 | 43 | DocAlias.objects.create(name=doc.name, document=doc) |
30 | 44 |
|
| 45 | + session = Session.objects.create( |
| 46 | + name = "session-42-mars-1", |
| 47 | + meeting = Meeting.objects.get(number='42'), |
| 48 | + group = Group.objects.get(acronym='mars'), |
| 49 | + status = SessionStatusName.objects.create(slug='scheduled', name='Scheduled'), |
| 50 | + modified = datetime.datetime.now(), |
| 51 | + requested_by = Person.objects.get(user__username="marschairman"), |
| 52 | + ) |
| 53 | + SessionPresentation.objects.create(session=session, document=doc, rev=doc.rev) |
| 54 | + |
31 | 55 | return doc |
32 | 56 |
|
33 | 57 | def test_choose_material_type(self): |
@@ -135,6 +159,6 @@ def test_revise(self): |
135 | 159 | self.assertEqual(doc.title, "New title") |
136 | 160 | self.assertEqual(doc.get_state_slug(), "active") |
137 | 161 |
|
138 | | - with open(os.path.join(self.materials_dir, "slides", doc.name + "-" + doc.rev + ".txt")) as f: |
| 162 | + with open(os.path.join(self.agenda_dir, "42", "slides", doc.name + "-" + doc.rev + ".txt")) as f: |
139 | 163 | self.assertEqual(f.read(), content) |
140 | 164 |
|
0 commit comments