Skip to content

Commit 66d2fd8

Browse files
committed
Merged in [18021] from rjsparks@nostrum.com:
A little less waste creating meeting/interim test data. - Legacy-Id: 18024 Note: SVN reference [18021] has been migrated to Git commit ba41f9b
2 parents 0f17e03 + ba41f9b commit 66d2fd8

2 files changed

Lines changed: 46 additions & 25 deletions

File tree

ietf/meeting/test_data.py

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@
1010

1111

1212
from ietf.doc.factories import DocumentFactory
13-
from ietf.group.models import Group
13+
from ietf.group.factories import GroupFactory, RoleFactory
14+
from ietf.group.models import Group
1415
from ietf.meeting.models import (Meeting, Room, TimeSlot, Session, Schedule, SchedTimeSessAssignment,
1516
ResourceAssociation, SessionPresentation, UrlResource, SchedulingEvent)
1617
from ietf.meeting.helpers import create_interim_meeting
1718
from ietf.name.models import RoomResourceName
19+
from ietf.person.factories import PersonFactory
1820
from ietf.person.models import Person
1921
from ietf.utils.test_data import make_test_data
2022

@@ -67,7 +69,7 @@ def make_interim_meeting(group,date,status='sched'):
6769
#
6870
return meeting
6971

70-
def make_meeting_test_data(meeting=None):
72+
def make_meeting_test_data(meeting=None, create_interims=False):
7173
if not Group.objects.filter(acronym='mars'):
7274
make_test_data()
7375
system_person = Person.objects.get(name="(System)")
@@ -190,12 +192,31 @@ def make_meeting_test_data(meeting=None):
190192
date2 = datetime.date.today() + datetime.timedelta(days=1000)
191193
ames = Group.objects.get(acronym="ames")
192194

195+
if create_interims:
196+
make_interim_meeting(group=mars,date=date,status='sched')
197+
make_interim_meeting(group=mars,date=date2,status='apprw')
198+
make_interim_meeting(group=ames,date=date,status='canceled')
199+
make_interim_meeting(group=ames,date=date2,status='apprw')
200+
201+
return meeting
202+
203+
def make_interim_test_data():
204+
date = datetime.date.today() + datetime.timedelta(days=365)
205+
date2 = datetime.date.today() + datetime.timedelta(days=1000)
206+
PersonFactory(user__username='plain')
207+
area = GroupFactory(type_id='area')
208+
ad = Person.objects.get(user__username='ad')
209+
RoleFactory(group=area,person=ad,name_id='ad')
210+
mars = GroupFactory(acronym='mars',parent=area,name='Martian Special Interest Group')
211+
ames = GroupFactory(acronym='ames',parent=area)
212+
RoleFactory(group=mars,person__user__username='marschairman',name_id='chair')
213+
RoleFactory(group=ames,person__user__username='ameschairman',name_id='chair')
214+
193215
make_interim_meeting(group=mars,date=date,status='sched')
194216
make_interim_meeting(group=mars,date=date2,status='apprw')
195217
make_interim_meeting(group=ames,date=date,status='canceled')
196218
make_interim_meeting(group=ames,date=date2,status='apprw')
197219

198-
return meeting
199-
220+
return
200221

201222

ietf/meeting/tests_views.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
from ietf.meeting.helpers import send_interim_cancellation_notice
3535
from ietf.meeting.helpers import send_interim_minutes_reminder, populate_important_dates, update_important_dates
3636
from ietf.meeting.models import Session, TimeSlot, Meeting, SchedTimeSessAssignment, Schedule, SessionPresentation, SlideSubmission, SchedulingEvent, Room, Constraint, ConstraintName
37-
from ietf.meeting.test_data import make_meeting_test_data, make_interim_meeting
37+
from ietf.meeting.test_data import make_meeting_test_data, make_interim_meeting, make_interim_test_data
3838
from ietf.meeting.utils import finalize, condition_slide_order
3939
from ietf.meeting.utils import add_event_info_to_session_qs
4040
from ietf.meeting.views import session_draft_list
@@ -1400,7 +1400,7 @@ def check_interim_tabs(self, url):
14001400
self.client.logout()
14011401

14021402
def test_interim_announce(self):
1403-
make_meeting_test_data()
1403+
make_interim_test_data()
14041404
url = urlreverse("ietf.meeting.views.interim_announce")
14051405
meeting = Meeting.objects.filter(type='interim', session__group__acronym='mars').first()
14061406
session = meeting.session_set.first()
@@ -1431,7 +1431,7 @@ def test_interim_skip_announcement(self):
14311431
self.assertEqual(len(outbox), len_before)
14321432

14331433
def test_interim_send_announcement(self):
1434-
make_meeting_test_data()
1434+
make_interim_test_data()
14351435
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
14361436
meeting.time_zone = 'America/Los_Angeles'
14371437
meeting.save()
@@ -1452,7 +1452,7 @@ def test_interim_send_announcement(self):
14521452
self.assertIn('(%s to %s UTC)'%(timeslot.utc_start_time().strftime('%H:%M'),timeslot.utc_end_time().strftime('%H:%M')), get_payload_text(outbox[-1]))
14531453

14541454
def test_interim_approve_by_ad(self):
1455-
make_meeting_test_data()
1455+
make_interim_test_data()
14561456
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
14571457
url = urlreverse('ietf.meeting.views.interim_request_details', kwargs={'number': meeting.number})
14581458
length_before = len(outbox)
@@ -1465,7 +1465,7 @@ def test_interim_approve_by_ad(self):
14651465
self.assertIn('ready for announcement', outbox[-1]['Subject'])
14661466

14671467
def test_interim_approve_by_secretariat(self):
1468-
make_meeting_test_data()
1468+
make_interim_test_data()
14691469
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
14701470
url = urlreverse('ietf.meeting.views.interim_request_details', kwargs={'number': meeting.number})
14711471
login_testing_unauthorized(self, "secretary", url)
@@ -1488,7 +1488,7 @@ def test_past(self):
14881488
self.assertIn('CANCELLED', q('tr>td>a>span').text())
14891489

14901490
def test_upcoming(self):
1491-
make_meeting_test_data()
1491+
make_meeting_test_data(create_interims=True)
14921492
url = urlreverse("ietf.meeting.views.upcoming")
14931493
today = datetime.date.today()
14941494
add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first()
@@ -1504,7 +1504,7 @@ def test_upcoming(self):
15041504
self.check_interim_tabs(url)
15051505

15061506
def test_upcoming_ical(self):
1507-
make_meeting_test_data()
1507+
make_meeting_test_data(create_interims=True)
15081508
url = urlreverse("ietf.meeting.views.upcoming_ical")
15091509
r = self.client.get(url)
15101510
self.assertEqual(r.status_code, 200)
@@ -1520,7 +1520,7 @@ def test_upcoming_ical(self):
15201520

15211521

15221522
def test_upcoming_json(self):
1523-
make_meeting_test_data()
1523+
make_meeting_test_data(create_interims=True)
15241524
url = urlreverse("ietf.meeting.views.upcoming_json")
15251525
r = self.client.get(url)
15261526
self.assertEqual(r.status_code, 200)
@@ -1884,7 +1884,7 @@ def test_interim_request_series(self):
18841884

18851885

18861886
def test_interim_pending(self):
1887-
make_meeting_test_data()
1887+
make_interim_test_data()
18881888
url = urlreverse('ietf.meeting.views.interim_pending')
18891889
count = len(set(s.meeting_id for s in add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim')).filter(current_status='apprw')))
18901890

@@ -1903,7 +1903,7 @@ def test_interim_pending(self):
19031903

19041904

19051905
def test_can_approve_interim_request(self):
1906-
make_meeting_test_data()
1906+
make_interim_test_data()
19071907
# unprivileged user
19081908
user = User.objects.get(username='plain')
19091909
group = Group.objects.get(acronym='mars')
@@ -1926,7 +1926,7 @@ def test_can_approve_interim_request(self):
19261926
self.assertFalse(can_approve_interim_request(meeting=meeting,user=user))
19271927

19281928
def test_can_view_interim_request(self):
1929-
make_meeting_test_data()
1929+
make_interim_test_data()
19301930
# unprivileged user
19311931
user = User.objects.get(username='plain')
19321932
group = Group.objects.get(acronym='mars')
@@ -1971,7 +1971,7 @@ def test_can_manage_group(self):
19711971
self.assertFalse(can_manage_group(user=user,group=group))
19721972

19731973
def test_interim_request_details(self):
1974-
make_meeting_test_data()
1974+
make_interim_test_data()
19751975
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
19761976
url = urlreverse('ietf.meeting.views.interim_request_details',kwargs={'number':meeting.number})
19771977
login_testing_unauthorized(self,"secretary",url)
@@ -2005,7 +2005,7 @@ def test_interim_request_details_announcement(self):
20052005
self.assertEqual(len(q("a.btn:contains('Announce')")),2)
20062006

20072007
def test_interim_request_disapprove(self):
2008-
make_meeting_test_data()
2008+
make_interim_test_data()
20092009
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
20102010
url = urlreverse('ietf.meeting.views.interim_request_details',kwargs={'number':meeting.number})
20112011
login_testing_unauthorized(self,"secretary",url)
@@ -2015,7 +2015,7 @@ def test_interim_request_disapprove(self):
20152015
self.assertEqual(session.current_status,'disappr')
20162016

20172017
def test_interim_request_cancel(self):
2018-
make_meeting_test_data()
2018+
make_interim_test_data()
20192019
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
20202020
url = urlreverse('ietf.meeting.views.interim_request_details', kwargs={'number': meeting.number})
20212021
self.client.login(username="marschairman", password="marschairman+password")
@@ -2051,7 +2051,7 @@ def test_interim_request_cancel(self):
20512051

20522052
def test_interim_request_edit_no_notice(self):
20532053
'''Edit a request. No notice should go out if it hasn't been announced yet'''
2054-
make_meeting_test_data()
2054+
make_interim_test_data()
20552055
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
20562056
group = meeting.session_set.first().group
20572057
url = urlreverse('ietf.meeting.views.interim_request_edit', kwargs={'number': meeting.number})
@@ -2089,7 +2089,7 @@ def test_interim_request_edit_no_notice(self):
20892089

20902090
def test_interim_request_edit(self):
20912091
'''Edit request. Send notice of change'''
2092-
make_meeting_test_data()
2092+
make_interim_test_data()
20932093
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='sched').first().meeting
20942094
group = meeting.session_set.first().group
20952095
url = urlreverse('ietf.meeting.views.interim_request_edit', kwargs={'number': meeting.number})
@@ -2135,7 +2135,7 @@ def strfdelta(self, tdelta, fmt):
21352135
return fmt.format(**d)
21362136

21372137
def test_interim_request_details_permissions(self):
2138-
make_meeting_test_data()
2138+
make_interim_test_data()
21392139
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
21402140
url = urlreverse('ietf.meeting.views.interim_request_details',kwargs={'number':meeting.number})
21412141

@@ -2145,15 +2145,15 @@ def test_interim_request_details_permissions(self):
21452145
self.assertEqual(r.status_code, 403)
21462146

21472147
def test_send_interim_approval_request(self):
2148-
make_meeting_test_data()
2148+
make_interim_test_data()
21492149
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='apprw').first().meeting
21502150
length_before = len(outbox)
21512151
send_interim_approval_request(meetings=[meeting])
21522152
self.assertEqual(len(outbox),length_before+1)
21532153
self.assertIn('New Interim Meeting Request', outbox[-1]['Subject'])
21542154

21552155
def test_send_interim_cancellation_notice(self):
2156-
make_meeting_test_data()
2156+
make_interim_test_data()
21572157
meeting = add_event_info_to_session_qs(Session.objects.filter(meeting__type='interim', group__acronym='mars')).filter(current_status='sched').first().meeting
21582158
length_before = len(outbox)
21592159
send_interim_cancellation_notice(meeting=meeting)
@@ -2172,7 +2172,7 @@ def test_send_interim_minutes_reminder(self):
21722172

21732173

21742174
def test_group_ical(self):
2175-
make_meeting_test_data()
2175+
make_interim_test_data()
21762176
meeting = Meeting.objects.filter(type='interim', session__group__acronym='mars').first()
21772177
s1 = Session.objects.filter(meeting=meeting, group__acronym="mars").first()
21782178
a1 = s1.official_timeslotassignment()
@@ -2260,7 +2260,7 @@ def tearDown(self):
22602260
pass
22612261

22622262
def test_iphone_app_json_interim(self):
2263-
make_meeting_test_data()
2263+
make_interim_test_data()
22642264
meeting = Meeting.objects.filter(type_id='interim').order_by('id').last()
22652265
url = urlreverse('ietf.meeting.views.agenda_json',kwargs={'num':meeting.number})
22662266
r = self.client.get(url)

0 commit comments

Comments
 (0)