1+ import datetime
2+ import os
3+ import shutil
4+ from pyquery import PyQuery
5+ from StringIO import StringIO
6+
17from django .conf import settings
28from django .core .urlresolvers import reverse
3- from ietf .utils .test_utils import TestCase
49
5- from ietf .person .models import Person
610from ietf .group .models import Group , GroupEvent
711from ietf .meeting .models import Meeting , Room , TimeSlot , ScheduledSession
8- from ietf .utils .mail import outbox
912from ietf .meeting .test_data import make_meeting_test_data
13+ from ietf .person .models import Person
14+ from ietf .utils .mail import outbox
15+ from ietf .utils .test_utils import TestCase
1016
11- from pyquery import PyQuery
12-
13- import datetime
14- import os
15- import shutil
1617
1718class MainTestCase (TestCase ):
1819 def setUp (self ):
20+ self .proceedings_dir = os .path .abspath ("tmp-proceedings-dir" )
21+ if not os .path .exists (self .proceedings_dir ):
22+ os .mkdir (self .proceedings_dir )
23+ settings .SECR_PROCEEDINGS_DIR = self .proceedings_dir
24+ settings .AGENDA_PATH = self .proceedings_dir
25+
1926 self .bluesheet_dir = os .path .abspath (settings .TEST_BLUESHEET_DIR )
2027 self .bluesheet_path = os .path .join (self .bluesheet_dir ,'blue_sheet.rtf' )
2128 if not os .path .exists (self .bluesheet_dir ):
@@ -27,6 +34,7 @@ def setUp(self):
2734 os .mkdir (self .materials_dir )
2835
2936 def tearDown (self ):
37+ shutil .rmtree (self .proceedings_dir )
3038 shutil .rmtree (self .bluesheet_dir )
3139 shutil .rmtree (self .materials_dir )
3240
@@ -85,14 +93,28 @@ def test_edit_meeting(self):
8593 meeting = Meeting .objects .get (number = 1 )
8694 self .assertEqual (meeting .city ,'Toronto' )
8795
88- def test_blue_sheets (self ):
96+ def test_blue_sheets_upload (self ):
8997 "Test Bluesheets"
9098 meeting = make_meeting_test_data ()
99+ os .makedirs (os .path .join (self .proceedings_dir ,str (meeting .number ),'bluesheets' ))
100+
91101 url = reverse ('meetings_blue_sheet' ,kwargs = {'meeting_id' :meeting .number })
92102 self .client .login (username = "secretary" , password = "secretary+password" )
93103 response = self .client .get (url )
94104 self .assertEqual (response .status_code , 200 )
105+
106+ # test upload
107+ group = Group .objects .filter (type = 'wg' ,state = 'active' ).first ()
108+ file = StringIO ('dummy bluesheet' )
109+ file .name = "bluesheets-%s-%s.pdf" % (meeting .number ,group .acronym )
110+ files = {'file' :file }
111+ response = self .client .post (url , files )
112+ self .assertEqual (response .status_code , 302 )
113+ path = os .path .join (settings .SECR_PROCEEDINGS_DIR ,str (meeting .number ),'bluesheets' )
114+ self .assertEqual (len (os .listdir (path )),1 )
95115
116+ def test_blue_sheets_generate (self ):
117+ meeting = make_meeting_test_data ()
96118 url = reverse ('meetings_blue_sheet_generate' ,kwargs = {'meeting_id' :meeting .number })
97119 self .client .login (username = "secretary" , password = "secretary+password" )
98120 response = self .client .get (url )
0 commit comments