Skip to content

Commit bb7198d

Browse files
committed
Skipped outdated timezone tests for Django 5.0.
1 parent b1a41ef commit bb7198d

File tree

4 files changed

+20
-4
lines changed

4 files changed

+20
-4
lines changed

django_filters/utils.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import datetime
12
import warnings
23
from collections import OrderedDict
34

5+
import django
46
from django.conf import settings
57
from django.core.exceptions import FieldDoesNotExist, FieldError
68
from django.db import models
@@ -229,9 +231,11 @@ def resolve_field(model_field, lookup_expr):
229231

230232
def handle_timezone(value, is_dst=None):
231233
if settings.USE_TZ and timezone.is_naive(value):
232-
return timezone.make_aware(value, timezone.get_current_timezone(), is_dst)
234+
if django.VERSION < (5, 0):
235+
return timezone.make_aware(value, timezone.get_current_timezone(), is_dst)
236+
return timezone.make_aware(value, timezone.get_current_timezone())
233237
elif not settings.USE_TZ and timezone.is_aware(value):
234-
return timezone.make_naive(value, timezone.utc)
238+
return timezone.make_naive(value, datetime.timezone.utc)
235239
return value
236240

237241

tests/test_fields.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1+
import datetime as dt
12
import decimal
3+
import unittest
24
from datetime import datetime, time, timedelta, tzinfo
35

6+
import django
47
import pytz
58
from django import forms
69
from django.test import TestCase, override_settings
@@ -97,8 +100,8 @@ def test_clean(self):
97100
w = RangeWidget()
98101
f = IsoDateTimeRangeField(widget=w)
99102
expected = slice(
100-
datetime(2015, 1, 1, 9, 30, 1, 123000, tzinfo=timezone.utc),
101-
datetime(2015, 1, 10, 7, 45, 2, 345000, tzinfo=timezone.utc),
103+
datetime(2015, 1, 1, 9, 30, 1, 123000, tzinfo=dt.timezone.utc),
104+
datetime(2015, 1, 10, 7, 45, 2, 345000, tzinfo=dt.timezone.utc),
102105
)
103106
actual = f.clean(
104107
["2015-01-01T10:30:01.123000+01:00", "2015-01-10T08:45:02.345000+01:00"]
@@ -178,6 +181,7 @@ def test_datetime_zulu(self):
178181
d = self.parse_input(self.reference_str + "Z")
179182
self.assertTrue(isinstance(d, datetime))
180183

184+
@unittest.skipUnless(django.VERSION < (5, 0), "pytz support removed in Django 5.0")
181185
@override_settings(TIME_ZONE="UTC")
182186
def test_datetime_timezone_awareness(self):
183187
utc, tokyo = pytz.timezone("UTC"), pytz.timezone("Asia/Tokyo")

tests/test_filtering.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from operator import attrgetter
55
from unittest import mock
66

7+
import django
78
from django import forms
89
from django.http import QueryDict
910
from django.test import TestCase, override_settings
@@ -847,6 +848,7 @@ class Meta:
847848
)
848849
self.assertEqual(len(results.qs), 3)
849850

851+
@unittest.skipUnless(django.VERSION < (5, 0), "is_dst removed in Django 5.0")
850852
@override_settings(TIME_ZONE="America/Sao_Paulo")
851853
def test_filtering_dst_start_midnight(self):
852854
tz = timezone.get_default_timezone()
@@ -875,6 +877,7 @@ class Meta:
875877
)
876878
self.assertEqual(len(results.qs), 2)
877879

880+
@unittest.skipUnless(django.VERSION < (5, 0), "is_dst removed in Django 5.0")
878881
@override_settings(TIME_ZONE="America/Sao_Paulo")
879882
def test_filtering_dst_ends_midnight(self):
880883
tz = timezone.get_default_timezone()
@@ -903,6 +906,7 @@ class Meta:
903906
)
904907
self.assertEqual(len(results.qs), 2)
905908

909+
@unittest.skipUnless(django.VERSION < (5, 0), "is_dst removed in Django 5.0")
906910
@override_settings(TIME_ZONE="Europe/Paris")
907911
def test_filtering_dst_start(self):
908912
tz = timezone.get_default_timezone()
@@ -934,6 +938,7 @@ class Meta:
934938
)
935939
self.assertEqual(len(results.qs), 3)
936940

941+
@unittest.skipUnless(django.VERSION < (5, 0), "is_dst removed in Django 5.0")
937942
@override_settings(TIME_ZONE="Europe/Paris")
938943
def test_filtering_dst_end(self):
939944
tz = timezone.get_default_timezone()

tests/test_utils.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import datetime
2+
import unittest
23
import warnings
34

5+
import django
46
from django.db import models
57
from django.db.models.constants import LOOKUP_SEP
68
from django.db.models.fields.related import ForeignObjectRel
@@ -513,6 +515,7 @@ def test_field_all_caps(self):
513515
self.assertEqual(label, "Exclude CIDR contains")
514516

515517

518+
@unittest.skipUnless(django.VERSION < (5, 0), "is_dst removed in Django 5.0")
516519
class HandleTimezone(TestCase):
517520
@override_settings(TIME_ZONE="America/Sao_Paulo")
518521
def test_handle_dst_ending(self):

0 commit comments

Comments
 (0)