0004-misc-fix-unused-variable-pylint-error-55505.patch
chrono/agendas/migrations/0017_timeperiod_desk.py | ||
---|---|---|
8 | 8 |
TimePeriod = apps.get_model('agendas', 'TimePeriod') |
9 | 9 |
Desk = apps.get_model('agendas', 'Desk') |
10 | 10 |
for time_period in TimePeriod.objects.all(): |
11 |
desk, created = Desk.objects.get_or_create( |
|
12 |
label='Guichet 1', slug='guichet-1', agenda=time_period.agenda |
|
13 |
) |
|
11 |
desk, _ = Desk.objects.get_or_create(label='Guichet 1', slug='guichet-1', agenda=time_period.agenda) |
|
14 | 12 |
time_period.desk = desk |
15 | 13 |
time_period.save() |
16 | 14 |
chrono/agendas/migrations/0018_event_desk.py | ||
---|---|---|
11 | 11 |
if not event.agenda.kind == 'meetings': |
12 | 12 |
continue |
13 | 13 | |
14 |
desk, created = Desk.objects.get_or_create(label='Guichet 1', slug='guichet-1', agenda=event.agenda)
|
|
14 |
desk, _ = Desk.objects.get_or_create(label='Guichet 1', slug='guichet-1', agenda=event.agenda)
|
|
15 | 15 |
event.desk = desk |
16 | 16 |
event.save() |
17 | 17 |
chrono/agendas/migrations/0066_timeperiodexceptionsource_unique_settings_slug.py | ||
---|---|---|
15 | 15 | |
16 | 16 |
def remove_duplicate_sources(apps, schema_editor): |
17 | 17 |
Desk = apps.get_model('agendas', 'Desk') |
18 |
TimePeriodExceptionSource = apps.get_model('agendas', 'TimePeriodExceptionSource') |
|
19 | 18 |
for desk in Desk.objects.all(): |
20 | 19 |
duplicate_source_slugs = ( |
21 | 20 |
desk.timeperiodexceptionsource_set.values('settings_slug') |
chrono/agendas/models.py | ||
---|---|---|
810 | 810 |
events = recurrences.filter(start_datetime__gt=min_start).exclude(start_datetime__in=datetimes) |
811 | 811 |
events.filter(Q(booking__isnull=True) | Q(booking__cancellation_datetime__isnull=False)).delete() |
812 | 812 |
# report events that weren't deleted because they have bookings |
813 |
report, _ = RecurrenceExceptionsReport.objects.get_or_create(agenda=self)
|
|
813 |
report, dummy = RecurrenceExceptionsReport.objects.get_or_create(agenda=self)
|
|
814 | 814 |
report.events.set(events) |
815 | 815 | |
816 | 816 |
# add recurrences |
... | ... | |
1949 | 1949 |
sources = data.pop('exception_sources', []) |
1950 | 1950 |
unavailability_calendars = data.pop('unavailability_calendars', []) |
1951 | 1951 |
data = clean_import_data(cls, data) |
1952 |
desk, created = cls.objects.update_or_create(slug=data['slug'], agenda=data['agenda'], defaults=data)
|
|
1952 |
desk, dummy = cls.objects.update_or_create(slug=data['slug'], agenda=data['agenda'], defaults=data)
|
|
1953 | 1953 |
for timeperiod in timeperiods: |
1954 | 1954 |
timeperiod['desk'] = desk |
1955 | 1955 |
TimePeriod.import_json(timeperiod) |
chrono/api/views.py | ||
---|---|---|
2089 | 2089 |
def increase(self, booking, secondary_bookings, primary_booked_places, primary_wanted_places): |
2090 | 2090 |
with transaction.atomic(): |
2091 | 2091 |
bulk_bookings = [] |
2092 |
for i in range(0, primary_wanted_places - primary_booked_places):
|
|
2092 |
for dummy in range(0, primary_wanted_places - primary_booked_places):
|
|
2093 | 2093 |
bulk_bookings.append( |
2094 | 2094 |
booking.clone( |
2095 | 2095 |
primary_booking=booking, |
chrono/manager/views.py | ||
---|---|---|
431 | 431 | |
432 | 432 |
def get_week_timetable_infos(self, week_index, week_end_offset=0): |
433 | 433 |
date = self.date + datetime.timedelta(week_index * 7) |
434 |
year, week_number, dow = date.isocalendar()
|
|
434 |
dow = date.isocalendar()[2]
|
|
435 | 435 |
start_date = date - datetime.timedelta(dow) |
436 | 436 | |
437 | 437 |
interval = datetime.timedelta(minutes=60) |
... | ... | |
1358 | 1358 | |
1359 | 1359 |
def get_week_timetable_infos(self, week_index, week_end_offset=0): |
1360 | 1360 |
date = self.date + datetime.timedelta(week_index * 7) |
1361 |
year, week_number, dow = date.isocalendar()
|
|
1361 |
dow = date.isocalendar()[2]
|
|
1362 | 1362 |
start_date = date - datetime.timedelta(dow) |
1363 | 1363 | |
1364 | 1364 |
interval = datetime.timedelta(minutes=60) |
... | ... | |
1399 | 1399 |
while period <= max_date: |
1400 | 1400 |
left = 1 |
1401 | 1401 |
period_end = period + interval |
1402 |
for desk_index, desk in enumerate(desks):
|
|
1402 |
for desk in desks:
|
|
1403 | 1403 |
width = (98.0 / desks_len) - 1 |
1404 | 1404 |
for event in [ |
1405 | 1405 |
x |
chrono/utils/requests_wrapper.py | ||
---|---|---|
64 | 64 |
for services in settings.KNOWN_SERVICES.values(): |
65 | 65 |
for service in services.values(): |
66 | 66 |
remote_url = service.get('url') |
67 |
remote_scheme, remote_netloc, r_path, r_params, r_query, r_fragment = urlparse.urlparse( |
|
68 |
remote_url |
|
69 |
) |
|
67 |
remote_scheme, remote_netloc = urlparse.urlparse(remote_url)[:2] |
|
70 | 68 |
if remote_scheme == scheme and remote_netloc == netloc: |
71 | 69 |
remote_service = service |
72 | 70 |
break |
... | ... | |
104 | 102 |
query_params['orig'] = remote_service.get('orig') |
105 | 103 | |
106 | 104 |
remote_service_base_url = remote_service.get('url') |
107 |
scheme, netloc, old_path, params, old_query, fragment = urlparse.urlparse(remote_service_base_url)
|
|
105 |
scheme, netloc, dummy, params, old_query, fragment = urlparse.urlparse(remote_service_base_url)
|
|
108 | 106 | |
109 | 107 |
query = urlencode(query_params) |
110 | 108 |
if '?' in url: |
tests/api/conftest.py | ||
---|---|---|
74 | 74 |
test_1st_weekday = (localtime(now()).weekday() + 2) % 7 |
75 | 75 |
test_2nd_weekday = (localtime(now()).weekday() + 3) % 7 |
76 | 76 | |
77 |
default_desk, created = Desk.objects.get_or_create(agenda=agenda, label='Desk 1')
|
|
77 |
default_desk, _ = Desk.objects.get_or_create(agenda=agenda, label='Desk 1')
|
|
78 | 78 | |
79 | 79 |
time_period = TimePeriod( |
80 | 80 |
weekday=test_1st_weekday, |
tests/api/test_all.py | ||
---|---|---|
232 | 232 |
resp = app.get('/api/agenda/', params={'with_open_events': '1'}) |
233 | 233 |
assert len(resp.json['data']) == 1 |
234 | 234 | |
235 |
for i in range(10):
|
|
235 |
for _ in range(10):
|
|
236 | 236 |
event_agenda = Agenda.objects.create(label='Foo bar', category=category_a) |
237 | 237 |
Desk.objects.create(agenda=event_agenda, slug='_exceptions_holder') |
238 |
event = Event.objects.create(
|
|
238 |
Event.objects.create( |
|
239 | 239 |
start_datetime=now(), places=10, agenda=event_agenda, recurrence_days=[now().weekday()] |
240 | 240 |
) |
241 | 241 |
TimePeriodException.objects.create( |
tests/api/test_booking.py | ||
---|---|---|
187 | 187 |
def test_bookings_api_filter_agenda(app, user): |
188 | 188 |
bookings = [] |
189 | 189 |
for label in ['foobar', 'foobaz']: |
190 |
agenda = Agenda.objects.create(label='foobar')
|
|
190 |
agenda = Agenda.objects.create(label=label)
|
|
191 | 191 |
event = Event.objects.create(agenda=agenda, start_datetime=now(), places=10) |
192 | 192 |
bookings.append(Booking.objects.create(event=event, user_external_id='42')) |
193 | 193 |
tests/api/test_datetimes.py | ||
---|---|---|
348 | 348 |
assert len([x for x in resp.json['data'] if not x.get('disabled')]) == 3 |
349 | 349 |
assert event.slug in [x['id'] for x in resp.json['data']] |
350 | 350 | |
351 |
for i in range(event.places):
|
|
351 |
for _ in range(event.places):
|
|
352 | 352 |
Booking(event=event).save() |
353 | 353 | |
354 | 354 |
# all places are booked but all the dates are still displayed as there is a |
... | ... | |
357 | 357 |
assert len([x for x in resp.json['data'] if not x.get('disabled')]) == 3 |
358 | 358 | |
359 | 359 |
# fill the waiting list |
360 |
for i in range(event.waiting_list_places):
|
|
360 |
for _ in range(event.waiting_list_places):
|
|
361 | 361 |
Booking(event=event, in_waiting_list=True).save() |
362 | 362 | |
363 | 363 |
# the event datetime should no longer be returned |
... | ... | |
512 | 512 |
} |
513 | 513 | |
514 | 514 |
def simulate_booking(event, nb_places): |
515 |
for i in range(nb_places):
|
|
515 |
for _ in range(nb_places):
|
|
516 | 516 |
Booking(event=event, user_external_id='42').save() |
517 | 517 | |
518 | 518 |
simulate_booking(events[0], 10) |
tests/api/test_fillslot.py | ||
---|---|---|
1024 | 1024 |
assert len([x for x in resp.json['data'] if not x.get('disabled')]) == 3 |
1025 | 1025 |
assert event.slug in [x['id'] for x in resp.json['data']] |
1026 | 1026 | |
1027 |
for i in range(event.places):
|
|
1027 |
for _ in range(event.places):
|
|
1028 | 1028 |
Booking(event=event).save() |
1029 | 1029 | |
1030 | 1030 |
resp = app.get('/api/agenda/%s/datetimes/' % agenda_id) |
... | ... | |
1046 | 1046 |
event.waiting_list_places = 5 |
1047 | 1047 |
event.save() |
1048 | 1048 | |
1049 |
for i in range(event.places):
|
|
1049 |
for _ in range(event.places):
|
|
1050 | 1050 |
Booking(event=event).save() |
1051 | 1051 | |
1052 | 1052 |
app.authorization = ('Basic', ('john.doe', 'password')) |
... | ... | |
1072 | 1072 |
assert resp.json['in_waiting_list'] is True |
1073 | 1073 | |
1074 | 1074 |
# fill the waiting list |
1075 |
for i in range(event.waiting_list_places):
|
|
1075 |
for _ in range(event.waiting_list_places):
|
|
1076 | 1076 |
Booking(event=event, in_waiting_list=True).save() |
1077 | 1077 | |
1078 | 1078 |
app.authorization = ('Basic', ('john.doe', 'password')) |
... | ... | |
1411 | 1411 |
assert resp.json['err_desc'] == 'no more desk available' |
1412 | 1412 | |
1413 | 1413 |
# fill the agenda and make sure big O is O(1) |
1414 |
for idx, event_data in enumerate(resp2.json['data'][2:10]):
|
|
1414 |
for event_data in resp2.json['data'][2:10]:
|
|
1415 | 1415 |
booking_url = event_data['api']['fillslot_url'] |
1416 | 1416 |
with CaptureQueriesContext(connection) as ctx: |
1417 | 1417 |
app.post(booking_url) |
tests/manager/test_all.py | ||
---|---|---|
397 | 397 | |
398 | 398 |
resp = app.get('/manage/agendas/%s/settings' % agenda.id) |
399 | 399 |
resp = resp.click('Configure', href='roles') |
400 |
role = manager_user.groups.all()[0]
|
|
400 |
manager_user.groups.all()[0] |
|
401 | 401 |
resp.form['edit_role'] = manager_user.groups.all()[0].pk |
402 | 402 |
resp = resp.form.submit().follow() |
403 | 403 |
assert 'Edit Role: Managers' in resp.text |
... | ... | |
410 | 410 |
agenda_events = Agenda.objects.create(label=u'Foo bar', kind='events') |
411 | 411 |
Desk.objects.create(agenda=agenda_events, slug='_exceptions_holder') |
412 | 412 |
agenda_meetings = Agenda.objects.create(label=u'Foo bar', kind='meetings') |
413 |
agenda_virtual = Agenda.objects.create(label=u'Foo bar', kind='virtual')
|
|
413 |
Agenda.objects.create(label=u'Foo bar', kind='virtual') |
|
414 | 414 | |
415 | 415 |
app = login(app) |
416 | 416 |
resp = app.get('/manage/agendas/%s/edit' % agenda_events.pk) |
... | ... | |
813 | 813 |
agenda = Agenda(label=u'Foo bar', kind='meetings') |
814 | 814 |
agenda.save() |
815 | 815 |
desk_a = Desk.objects.create(agenda=agenda, label='Desk A') |
816 |
desk_b = Desk.objects.create(agenda=agenda, label='Desk B')
|
|
816 |
Desk.objects.create(agenda=agenda, label='Desk B') |
|
817 | 817 | |
818 | 818 |
event = Event(start_datetime=now() + datetime.timedelta(days=10), places=10, agenda=agenda, desk=desk_a) |
819 | 819 |
event.save() |
... | ... | |
2769 | 2769 |
assert 'abc' in resp.pyquery.find('.event-info')[3].text |
2770 | 2770 |
assert 'abc' in resp.pyquery.find('.event-info')[4].text |
2771 | 2771 | |
2772 |
time_period_exception = TimePeriodException.objects.create(
|
|
2772 |
TimePeriodException.objects.create( |
|
2773 | 2773 |
desk=agenda.desk_set.get(), |
2774 | 2774 |
start_datetime=start_datetime + datetime.timedelta(days=6), |
2775 | 2775 |
end_datetime=start_datetime + datetime.timedelta(days=8), |
... | ... | |
2884 | 2884 |
) |
2885 | 2885 |
# weekly recurring event, first recurrence is in the past but second is in range |
2886 | 2886 |
start_datetime = now() - datetime.timedelta(days=3) |
2887 |
event = Event.objects.create(
|
|
2887 |
Event.objects.create( |
|
2888 | 2888 |
label='event G', |
2889 | 2889 |
start_datetime=start_datetime, |
2890 | 2890 |
places=10, |
... | ... | |
4369 | 4369 |
resp = app.get('/manage/agendas/%s/settings' % agenda.id) |
4370 | 4370 |
resp = resp.click('Configure', href='roles') |
4371 | 4371 | |
4372 |
role = manager_user.groups.all()[0]
|
|
4372 |
manager_user.groups.all()[0] |
|
4373 | 4373 |
resp.form['edit_role'] = manager_user.groups.all()[0].pk |
4374 | 4374 |
resp = resp.form.submit().follow() |
4375 | 4375 | |
... | ... | |
4404 | 4404 |
desk = Desk.objects.create(agenda=agenda, label='New Desk') |
4405 | 4405 |
meetingtype = MeetingType.objects.create(agenda=agenda, label='Bar', duration=30) |
4406 | 4406 |
today = datetime.date.today() |
4407 |
timeperiod = TimePeriod.objects.create(
|
|
4407 |
TimePeriod.objects.create( |
|
4408 | 4408 |
desk=desk, weekday=today.weekday(), start_time=datetime.time(10, 0), end_time=datetime.time(18, 0) |
4409 | 4409 |
) |
4410 | 4410 |
tests/manager/test_event.py | ||
---|---|---|
360 | 360 |
Desk.objects.create(agenda=agenda, slug='_exceptions_holder') |
361 | 361 |
event = Event(start_datetime=make_aware(datetime.datetime(2016, 2, 15, 17, 0)), places=10, agenda=agenda) |
362 | 362 |
event.save() |
363 |
for i in range(2):
|
|
363 |
for _ in range(2):
|
|
364 | 364 |
Booking(event=event).save() |
365 | 365 |
app = login(app) |
366 | 366 | |
... | ... | |
372 | 372 |
resp = app.get('/manage/agendas/%s/events/%s/check' % (agenda.pk, event.pk)) |
373 | 373 |
assert '<span class="tag">Full</span>' not in resp |
374 | 374 | |
375 |
for i in range(8):
|
|
375 |
for _ in range(8):
|
|
376 | 376 |
Booking(event=event).save() |
377 | 377 | |
378 | 378 |
resp = app.get('/manage/agendas/%s/settings' % agenda.id, status=200) |
... | ... | |
916 | 916 |
def mocked_requests_connection_error(*args, **kwargs): |
917 | 917 |
raise requests.exceptions.ConnectionError('unreachable') |
918 | 918 | |
919 |
for i in range(5):
|
|
919 |
for _ in range(5):
|
|
920 | 920 |
Booking.objects.create(event=event, cancel_callback_url='http://example.org/jump/trigger/') |
921 | 921 | |
922 | 922 |
login(app) |
tests/test_agendas.py | ||
---|---|---|
669 | 669 | |
670 | 670 |
mocked_get.side_effect = mocked_requests_http_forbidden_error |
671 | 671 |
call_command('sync_desks_timeperiod_exceptions') |
672 |
out, err = capsys.readouterr()
|
|
672 |
err = capsys.readouterr()[1]
|
|
673 | 673 |
assert ( |
674 | 674 |
err |
675 | 675 |
== 'unable to create timeperiod exceptions for "Test 11 desk": Failed to retrieve remote calendar (http://example.com/sample.ics, HTTP error 403).\n' |
... | ... | |
960 | 960 | |
961 | 961 |
def test_agenda_get_effective_time_periods(db): |
962 | 962 |
real_agenda = Agenda.objects.create(label='Real Agenda', kind='meetings') |
963 |
meeting_type = MeetingType.objects.create(agenda=real_agenda, label='MT1')
|
|
963 |
MeetingType.objects.create(agenda=real_agenda, label='MT1') |
|
964 | 964 |
desk = Desk.objects.create(label='Real Agenda Desk1', agenda=real_agenda) |
965 | 965 |
time_period = TimePeriod.objects.create( |
966 | 966 |
weekday=0, start_time=datetime.time(10, 0), end_time=datetime.time(18, 0), desk=desk |
... | ... | |
1450 | 1450 |
agenda = Agenda.objects.create(label='Events', kind='events') |
1451 | 1451 |
event = Event.objects.create(agenda=agenda, start_datetime=now(), places=10, label='Event') |
1452 | 1452 | |
1453 |
for i in range(5):
|
|
1453 |
for _ in range(5):
|
|
1454 | 1454 |
Booking.objects.create(event=event, cancel_callback_url='http://example.org/jump/trigger/') |
1455 | 1455 | |
1456 | 1456 |
event.cancellation_scheduled = True |
... | ... | |
1479 | 1479 |
raise requests.exceptions.ConnectionError('unreachable') |
1480 | 1480 | |
1481 | 1481 |
booking_good_url = Booking.objects.create(event=event, cancel_callback_url='http://good.org/') |
1482 |
for i in range(5):
|
|
1482 |
for _ in range(5):
|
|
1483 | 1483 |
Booking.objects.create(event=event, cancel_callback_url='http://example.org/jump/trigger/') |
1484 | 1484 | |
1485 | 1485 |
event.cancellation_scheduled = True |
... | ... | |
1541 | 1541 |
settings.save() |
1542 | 1542 | |
1543 | 1543 |
# book 9/10 places to reach almost full state |
1544 |
for i in range(9):
|
|
1544 |
for _ in range(9):
|
|
1545 | 1545 |
Booking.objects.create(event=event) |
1546 | 1546 |
event.refresh_from_db() |
1547 | 1547 |
assert event.almost_full |
... | ... | |
1568 | 1568 |
settings.full_event_emails = recipients = ['hop@entrouvert.com', 'top@entrouvert.com'] |
1569 | 1569 |
settings.save() |
1570 | 1570 | |
1571 |
for i in range(10):
|
|
1571 |
for _ in range(10):
|
|
1572 | 1572 |
Booking.objects.create(event=event) |
1573 | 1573 |
event.refresh_from_db() |
1574 | 1574 |
assert event.full |
... | ... | |
1633 | 1633 |
start_datetime = now() + datetime.timedelta(days=2) |
1634 | 1634 |
event = Event.objects.create(agenda=agenda, start_datetime=start_datetime, places=10, label='Event') |
1635 | 1635 | |
1636 |
for i in range(5):
|
|
1637 |
booking = Booking.objects.create(event=event, user_email='t@test.org')
|
|
1636 |
for _ in range(5):
|
|
1637 |
Booking.objects.create(event=event, user_email='t@test.org') |
|
1638 | 1638 |
# extra booking with no email, should be ignored |
1639 |
booking = Booking.objects.create(event=event)
|
|
1639 |
Booking.objects.create(event=event) |
|
1640 | 1640 | |
1641 | 1641 |
freezer.move_to('2020-01-02 10:00') |
1642 | 1642 |
# not time to send reminders yet |
... | ... | |
1656 | 1656 | |
1657 | 1657 |
# booking is placed the day of the event, notfication should no be sent |
1658 | 1658 |
freezer.move_to('2020-01-03 08:00') |
1659 |
booking = Booking.objects.create(event=event, user_email='t@test.org')
|
|
1659 |
Booking.objects.create(event=event, user_email='t@test.org') |
|
1660 | 1660 |
call_command('send_booking_reminders') |
1661 | 1661 |
assert len(mailoutbox) == 0 |
1662 | 1662 | |
... | ... | |
1669 | 1669 |
start_datetime = now() + datetime.timedelta(days=2) |
1670 | 1670 |
event = Event.objects.create(agenda=agenda, start_datetime=start_datetime, places=10, label='Event') |
1671 | 1671 | |
1672 |
for i in range(5):
|
|
1673 |
booking = Booking.objects.create(event=event, user_phone_number='+336123456789')
|
|
1674 |
booking = Booking.objects.create(event=event)
|
|
1672 |
for _ in range(5):
|
|
1673 |
Booking.objects.create(event=event, user_phone_number='+336123456789') |
|
1674 |
Booking.objects.create(event=event) |
|
1675 | 1675 | |
1676 | 1676 |
freezer.move_to('2020-01-02 15:00') |
1677 | 1677 |
with mock.patch('chrono.utils.requests_wrapper.RequestsSession.send') as mock_send: |
... | ... | |
1770 | 1770 |
def test_agenda_reminders_email_content(mailoutbox, freezer): |
1771 | 1771 |
freezer.move_to('2020-01-01 14:00') |
1772 | 1772 |
agenda = Agenda.objects.create(label='Events', kind='events') |
1773 |
settings = AgendaReminderSettings.objects.create(
|
|
1773 |
AgendaReminderSettings.objects.create( |
|
1774 | 1774 |
agenda=agenda, days=1, send_email=True, email_extra_info='Do no forget ID card.' |
1775 | 1775 |
) |
1776 | 1776 |
start_datetime = now() + datetime.timedelta(days=2) |
... | ... | |
1784 | 1784 |
pricing='10€', |
1785 | 1785 |
) |
1786 | 1786 | |
1787 |
booking = Booking.objects.create(event=event, user_email='t@test.org')
|
|
1787 |
Booking.objects.create(event=event, user_email='t@test.org') |
|
1788 | 1788 | |
1789 | 1789 |
freezer.move_to('2020-01-02 15:00') |
1790 | 1790 |
call_command('send_booking_reminders') |
... | ... | |
1805 | 1805 |
mailoutbox.clear() |
1806 | 1806 | |
1807 | 1807 |
freezer.move_to('2020-01-01 14:00') |
1808 |
booking = Booking.objects.create(event=event, user_email='t@test.org', form_url='https://example.org/')
|
|
1808 |
Booking.objects.create(event=event, user_email='t@test.org', form_url='https://example.org/') |
|
1809 | 1809 |
freezer.move_to('2020-01-02 15:00') |
1810 | 1810 |
call_command('send_booking_reminders') |
1811 | 1811 | |
... | ... | |
1825 | 1825 |
start_datetime = now() + datetime.timedelta(days=2) |
1826 | 1826 |
event = Event.objects.create(agenda=agenda, start_datetime=start_datetime, places=10, label='Pool party') |
1827 | 1827 | |
1828 |
booking = Booking.objects.create(event=event, user_phone_number='+336123456789')
|
|
1828 |
Booking.objects.create(event=event, user_phone_number='+336123456789') |
|
1829 | 1829 | |
1830 | 1830 |
freezer.move_to('2020-01-02 15:00') |
1831 | 1831 |
with mock.patch('chrono.utils.requests_wrapper.RequestsSession.send') as mock_send: |
... | ... | |
1846 | 1846 |
agenda = Agenda.objects.create(label='Events', kind='meetings') |
1847 | 1847 |
desk = Desk.objects.create(agenda=agenda, label='Desk') |
1848 | 1848 |
meetingtype = MeetingType.objects.create(agenda=agenda, label='Bar', duration=30) |
1849 |
timeperiod = TimePeriod.objects.create(
|
|
1849 |
TimePeriod.objects.create( |
|
1850 | 1850 |
desk=desk, weekday=now().weekday(), start_time=datetime.time(10, 0), end_time=datetime.time(18, 0) |
1851 | 1851 |
) |
1852 | 1852 |
AgendaReminderSettings.objects.create(agenda=agenda, days=2, send_email=True) |
... | ... | |
1877 | 1877 |
agenda=agenda, start_datetime=now() + datetime.timedelta(days=10), places=10, label='Event' |
1878 | 1878 |
) |
1879 | 1879 | |
1880 |
for i in range(5):
|
|
1880 |
for _ in range(5):
|
|
1881 | 1881 |
Booking.objects.create( |
1882 | 1882 |
event=event, |
1883 | 1883 |
extra_data={'test': True}, |
... | ... | |
2113 | 2113 |
places=5, |
2114 | 2114 |
) |
2115 | 2115 |
event.refresh_from_db() |
2116 |
start_datetime = localtime(event.start_datetime)
|
|
2116 |
localtime(event.start_datetime) |
|
2117 | 2117 | |
2118 | 2118 |
recurrences = event.get_recurrences(now(), now() + datetime.timedelta(days=7)) |
2119 | 2119 |
assert recurrences[0].start_datetime.strftime('%m-%d') == '05-01' |
... | ... | |
2228 | 2228 |
event = daily_event_no_end_date.get_or_create_event_recurrence( |
2229 | 2229 |
now() + datetime.timedelta(days=6, hours=2) |
2230 | 2230 |
) |
2231 |
booking = Booking.objects.create(event=event)
|
|
2231 |
Booking.objects.create(event=event) |
|
2232 | 2232 |
time_period_exception.save() |
2233 | 2233 | |
2234 | 2234 |
agenda.update_event_recurrences() |
tests/test_import_export.py | ||
---|---|---|
224 | 224 |
def test_import_export_recurring_event(app, freezer): |
225 | 225 |
freezer.move_to('2021-01-12 12:10') |
226 | 226 |
agenda = Agenda.objects.create(label='Foo Bar', kind='events') |
227 |
desk = Desk.objects.create(agenda=agenda, slug='_exceptions_holder')
|
|
227 |
Desk.objects.create(agenda=agenda, slug='_exceptions_holder') |
|
228 | 228 |
event = Event.objects.create( |
229 | 229 |
agenda=agenda, |
230 | 230 |
start_datetime=now(), |
tests/test_misc.py | ||
---|---|---|
225 | 225 |
source_desk = TimePeriodExceptionSource.objects.create(desk=desk, settings_slug='holidays', enabled=True) |
226 | 226 |
start_datetime = datetime.datetime(year=2020, month=1, day=2) |
227 | 227 |
end_datetime = datetime.datetime(year=2020, month=1, day=3) |
228 |
for i in range(5):
|
|
228 |
for _ in range(5):
|
|
229 | 229 |
TimePeriodException.objects.create( |
230 | 230 |
desk=desk, |
231 | 231 |
source=source_desk, |
... | ... | |
241 | 241 |
source_new_desk = TimePeriodExceptionSource.objects.create( |
242 | 242 |
desk=new_desk, settings_slug='holidays', enabled=True |
243 | 243 |
) |
244 |
for i in range(5):
|
|
244 |
for _ in range(5):
|
|
245 | 245 |
TimePeriodException.objects.create( |
246 | 246 |
desk=new_desk, |
247 | 247 |
source=source_new_desk, |
... | ... | |
254 | 254 |
TimePeriodExceptionSource.objects.create(desk=new_desk, settings_slug='holidays', enabled=True) |
255 | 255 | |
256 | 256 |
# wrong duplicate of exceptions, referencing original desk source |
257 |
for i in range(5):
|
|
257 |
for _ in range(5):
|
|
258 | 258 |
TimePeriodException.objects.create( |
259 | 259 |
desk=new_desk, |
260 | 260 |
source=source_desk, |
tests/test_requests.py | ||
---|---|---|
34 | 34 |
requests.get('/foo/bar/', remote_service=remote_service) |
35 | 35 |
url = send.call_args[0][0].url |
36 | 36 |
assert url.startswith('http://example.org/foo/bar/?') |
37 |
scheme, netloc, path, params, querystring, fragment = urlparse.urlparse(url)
|
|
37 |
querystring = urlparse.urlparse(url)[4]
|
|
38 | 38 |
query = urlparse.parse_qs(querystring, keep_blank_values=True) |
39 | 39 |
assert query['orig'][0] == 'myself' |
40 | 40 |
assert query['email'][0] == '' |
... | ... | |
44 | 44 |
requests.get('/foo/bar/', remote_service=remote_service, without_user=True) |
45 | 45 |
url = send.call_args[0][0].url |
46 | 46 |
assert url.startswith('http://example.org/foo/bar/?') |
47 |
scheme, netloc, path, params, querystring, fragment = urlparse.urlparse(url)
|
|
47 |
querystring = urlparse.urlparse(url)[4]
|
|
48 | 48 |
query = urlparse.parse_qs(querystring, keep_blank_values=True) |
49 | 49 |
assert query['orig'][0] == 'myself' |
50 | 50 |
assert 'email' not in query |
... | ... | |
57 | 57 |
requests.get('http://example.org/foo/bar/', remote_service='auto') |
58 | 58 |
url = send.call_args[0][0].url |
59 | 59 |
assert url.startswith('http://example.org/foo/bar/?') |
60 |
scheme, netloc, path, params, querystring, fragment = urlparse.urlparse(url)
|
|
60 |
querystring = urlparse.urlparse(url)[4]
|
|
61 | 61 |
query = urlparse.parse_qs(querystring, keep_blank_values=True) |
62 | 62 |
assert query['orig'][0] == 'chrono' |
63 | 63 |
assert check_query(querystring, 'chrono') == True |
... | ... | |
75 | 75 |
requests.get('/foo/bar/', remote_service=remote_service, user=user) |
76 | 76 |
url = send.call_args[0][0].url |
77 | 77 |
assert url.startswith('http://example.org/foo/bar/?') |
78 |
scheme, netloc, path, params, querystring, fragment = urlparse.urlparse(url)
|
|
78 |
querystring = urlparse.urlparse(url)[4]
|
|
79 | 79 |
query = urlparse.parse_qs(querystring, keep_blank_values=True) |
80 | 80 |
assert query['NameID'][0] == 'r2d2' |
81 | 81 |
assert 'email' not in query |
... | ... | |
85 | 85 |
requests.get('/foo/bar/', remote_service=remote_service, user=user, federation_key='email') |
86 | 86 |
url = send.call_args[0][0].url |
87 | 87 |
assert url.startswith('http://example.org/foo/bar/?') |
88 |
scheme, netloc, path, params, querystring, fragment = urlparse.urlparse(url)
|
|
88 |
querystring = urlparse.urlparse(url)[4]
|
|
89 | 89 |
query = urlparse.parse_qs(querystring, keep_blank_values=True) |
90 | 90 |
assert query['email'][0] == 'foo@example.net' |
91 | 91 |
assert 'NameID' not in query |
... | ... | |
97 | 97 |
requests.get('/foo/bar/', remote_service=remote_service, user=user) |
98 | 98 |
url = send.call_args[0][0].url |
99 | 99 |
assert url.startswith('http://example.org/foo/bar/?') |
100 |
scheme, netloc, path, params, querystring, fragment = urlparse.urlparse(url)
|
|
100 |
querystring = urlparse.urlparse(url)[4]
|
|
101 | 101 |
query = urlparse.parse_qs(querystring, keep_blank_values=True) |
102 | 102 |
assert 'NameID' not in query |
103 | 103 |
assert query['email'][0] == 'foo@example.net' |
... | ... | |
114 | 114 |
requests.get('/foo/bar/', remote_service=remote_service, user=user) |
115 | 115 |
url = send.call_args[0][0].url |
116 | 116 |
assert url.startswith('http://example.org/foo/bar/?') |
117 |
scheme, netloc, path, params, querystring, fragment = urlparse.urlparse(url)
|
|
117 |
querystring = urlparse.urlparse(url)[4]
|
|
118 | 118 |
query = urlparse.parse_qs(querystring, keep_blank_values=True) |
119 | 119 |
assert query['NameID'][0] == '' |
120 | 120 |
assert query['email'][0] == '' |
121 |
- |