mirror of
https://github.com/pretix/pretix.git
synced 2026-05-05 15:14:04 +00:00
Bump Django to 4.1.* (#2989)
This commit is contained in:
@@ -21,13 +21,12 @@
|
||||
#
|
||||
import copy
|
||||
import json
|
||||
from datetime import datetime, timedelta
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from unittest import mock
|
||||
|
||||
import pytest
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scopes_disabled
|
||||
from pytz import UTC
|
||||
|
||||
from pretix.base.models import (
|
||||
Event, Item, Order, OrderPosition, Organizer, Quota, Team, User,
|
||||
@@ -91,7 +90,7 @@ RES_JOB = {
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_api_list(env, client):
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
@@ -111,7 +110,7 @@ def test_api_list(env, client):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_api_detail(env, client):
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=UTC)
|
||||
testtime = datetime(2017, 12, 1, 10, 0, 0, tzinfo=timezone.utc)
|
||||
|
||||
with mock.patch('django.utils.timezone.now') as mock_now:
|
||||
mock_now.return_value = testtime
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
#
|
||||
|
||||
import datetime
|
||||
from zoneinfo import ZoneInfo
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django.core import mail as djmail
|
||||
from django.utils.timezone import now, utc
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scopes_disabled
|
||||
|
||||
from pretix.base.models import InvoiceAddress, Order
|
||||
@@ -46,8 +46,8 @@ def test_sendmail_rule_create_single(event):
|
||||
|
||||
|
||||
dt_now = now()
|
||||
NZ = pytz.timezone('NZ')
|
||||
Berlin = pytz.timezone('Europe/Berlin')
|
||||
NZ = ZoneInfo('NZ')
|
||||
Berlin = ZoneInfo('Europe/Berlin')
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@@ -71,62 +71,62 @@ Berlin = pytz.timezone('Europe/Berlin')
|
||||
(dt_now + datetime.timedelta(days=1)).replace(hour=9, minute=0, second=0, microsecond=0)
|
||||
),
|
||||
( # "Relative, before event start"
|
||||
datetime.datetime(2021, 5, 17, 12, 14, 0, tzinfo=utc),
|
||||
datetime.datetime(2021, 5, 17, 12, 14, 0, tzinfo=datetime.timezone.utc),
|
||||
None,
|
||||
'UTC',
|
||||
Rule(date_is_absolute=False, send_offset_days=2, send_offset_time=datetime.time(hour=0)),
|
||||
datetime.datetime(2021, 5, 15, 0, tzinfo=utc)
|
||||
datetime.datetime(2021, 5, 15, 0, tzinfo=datetime.timezone.utc)
|
||||
),
|
||||
( # "Relative, after event end"
|
||||
datetime.datetime(2021, 5, 17, 18, tzinfo=utc),
|
||||
datetime.datetime(2021, 5, 18, 5, tzinfo=utc),
|
||||
datetime.datetime(2021, 5, 17, 18, tzinfo=datetime.timezone.utc),
|
||||
datetime.datetime(2021, 5, 18, 5, tzinfo=datetime.timezone.utc),
|
||||
'UTC',
|
||||
Rule(date_is_absolute=False, offset_to_event_end=True, offset_is_after=True, send_offset_days=1, send_offset_time=datetime.time(hour=10)),
|
||||
datetime.datetime(2021, 5, 19, 10, tzinfo=utc)
|
||||
datetime.datetime(2021, 5, 19, 10, tzinfo=datetime.timezone.utc)
|
||||
),
|
||||
( # "Relative, before event end"
|
||||
datetime.datetime(2021, 5, 17, 18, tzinfo=utc),
|
||||
datetime.datetime(2021, 5, 22, 5, tzinfo=utc),
|
||||
datetime.datetime(2021, 5, 17, 18, tzinfo=datetime.timezone.utc),
|
||||
datetime.datetime(2021, 5, 22, 5, tzinfo=datetime.timezone.utc),
|
||||
'UTC',
|
||||
Rule(date_is_absolute=False, offset_to_event_end=True, offset_is_after=False, send_offset_days=1, send_offset_time=datetime.time(hour=10)),
|
||||
datetime.datetime(2021, 5, 21, 10, tzinfo=utc)
|
||||
datetime.datetime(2021, 5, 21, 10, tzinfo=datetime.timezone.utc)
|
||||
),
|
||||
|
||||
# Tests for timezone quirks
|
||||
( # Test sending on leap day
|
||||
datetime.datetime(2020, 2, 27, 9, tzinfo=utc),
|
||||
datetime.datetime(2020, 2, 27, 9, tzinfo=datetime.timezone.utc),
|
||||
None,
|
||||
'UTC',
|
||||
Rule(date_is_absolute=False, offset_is_after=True, send_offset_days=2, send_offset_time=datetime.time(hour=9)),
|
||||
datetime.datetime(2020, 2, 29, 9, tzinfo=utc)
|
||||
datetime.datetime(2020, 2, 29, 9, tzinfo=datetime.timezone.utc)
|
||||
),
|
||||
( # Test timezone far off from UTC
|
||||
NZ.localize(datetime.datetime(2021, 5, 17, 22)),
|
||||
datetime.datetime(2021, 5, 17, 22, tzinfo=NZ),
|
||||
None,
|
||||
'NZ',
|
||||
Rule(date_is_absolute=False, offset_is_after=True, send_offset_days=1, send_offset_time=datetime.time(hour=9)),
|
||||
NZ.localize(datetime.datetime(2021, 5, 18, 9))
|
||||
datetime.datetime(2021, 5, 18, 9, tzinfo=NZ)
|
||||
),
|
||||
( # Test across DST change
|
||||
Berlin.localize(datetime.datetime(2021, 10, 29, 16, 30)),
|
||||
datetime.datetime(2021, 10, 29, 16, 30, tzinfo=Berlin),
|
||||
None,
|
||||
'Europe/Berlin',
|
||||
Rule(date_is_absolute=False, offset_is_after=True, send_offset_days=4, send_offset_time=datetime.time(hour=2, minute=30)),
|
||||
Berlin.localize(datetime.datetime(2021, 11, 2, 2, 30))
|
||||
datetime.datetime(2021, 11, 2, 2, 30, tzinfo=Berlin)
|
||||
),
|
||||
( # Test ambiguous time at DST change
|
||||
Berlin.localize(datetime.datetime(2021, 10, 29, 18, 30)),
|
||||
datetime.datetime(2021, 10, 29, 18, 30, tzinfo=Berlin),
|
||||
None,
|
||||
'Europe/Berlin',
|
||||
Rule(date_is_absolute=False, offset_is_after=True, send_offset_days=2, send_offset_time=datetime.time(hour=2, minute=30)),
|
||||
datetime.datetime(2021, 10, 31, 1, 30, tzinfo=utc)
|
||||
datetime.datetime(2021, 10, 31, 1, 30, tzinfo=datetime.timezone.utc)
|
||||
),
|
||||
( # Test non-existing time at DST change
|
||||
Berlin.localize(datetime.datetime(2021, 3, 29, 14, 30)),
|
||||
datetime.datetime(2021, 3, 29, 14, 30, tzinfo=Berlin),
|
||||
None,
|
||||
'Europe/Berlin',
|
||||
Rule(date_is_absolute=False, offset_is_after=False, send_offset_days=1, send_offset_time=datetime.time(hour=2, minute=30)),
|
||||
datetime.datetime(2021, 3, 28, 1, 30, tzinfo=utc)
|
||||
datetime.datetime(2021, 3, 28, 1, 30, tzinfo=datetime.timezone.utc)
|
||||
),
|
||||
|
||||
])
|
||||
@@ -145,7 +145,7 @@ def test_sendmail_rule_send_time(event_from, event_to, event_tz, rule, expected,
|
||||
rule.save()
|
||||
m = ScheduledMail.objects.filter(rule=rule).get()
|
||||
|
||||
assert m.computed_datetime.astimezone(event.timezone) == expected
|
||||
assert m.computed_datetime.astimezone(event.timezone) == expected.astimezone(event.timezone)
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@@ -166,7 +166,7 @@ def test_sendmail_rule_recompute(event):
|
||||
sendmail_run_rules(None)
|
||||
|
||||
m = ScheduledMail.objects.filter(rule=rule).first()
|
||||
assert m.computed_datetime.astimezone(utc) == expected
|
||||
assert m.computed_datetime.astimezone(datetime.timezone.utc) == expected
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
|
||||
@@ -23,7 +23,6 @@ import datetime
|
||||
from decimal import Decimal
|
||||
|
||||
import pytest
|
||||
import pytz
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scope
|
||||
|
||||
@@ -51,7 +50,7 @@ def event():
|
||||
order_paid = Order.objects.create(
|
||||
code='FOO', event=event, email='dummy@dummy.test', phone="+498912345678",
|
||||
status=Order.STATUS_PAID,
|
||||
datetime=datetime.datetime(2019, 2, 22, 14, 0, 0, tzinfo=pytz.UTC), expires=now() + datetime.timedelta(days=10),
|
||||
datetime=datetime.datetime(2019, 2, 22, 14, 0, 0, tzinfo=datetime.timezone.utc), expires=now() + datetime.timedelta(days=10),
|
||||
total=33, locale='en'
|
||||
)
|
||||
item_ticket = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True)
|
||||
@@ -150,7 +149,7 @@ def test_csv_order_by_inherited_name_parts(event): # noqa
|
||||
order2 = Order.objects.create(
|
||||
code='BAR', event=event, email='dummy@dummy.test', phone='+498912345678',
|
||||
status=Order.STATUS_PAID,
|
||||
datetime=datetime.datetime(2019, 2, 22, 14, 0, 0, tzinfo=pytz.UTC), expires=now() + datetime.timedelta(days=10),
|
||||
datetime=datetime.datetime(2019, 2, 22, 14, 0, 0, tzinfo=datetime.timezone.utc), expires=now() + datetime.timedelta(days=10),
|
||||
total=33, locale='en'
|
||||
)
|
||||
OrderPosition.objects.create(
|
||||
|
||||
Reference in New Issue
Block a user