summaryrefslogtreecommitdiff
path: root/tests/db_functions
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2025-02-18 08:35:36 +0100
committerGitHub <noreply@github.com>2025-02-18 08:35:36 +0100
commitefb7f9ced2dcf71294353596a265e3fd67faffeb (patch)
treeb24b6127022fbe48c517d1acbe9e3c0c502391d9 /tests/db_functions
parent0d1dd6bba0c18b7feb6caa5cbd8df80fbac54afd (diff)
Refs #36005 -- Used datetime.UTC alias instead of datetime.timezone.utc.
datetime.UTC was added in Python 3.11.
Diffstat (limited to 'tests/db_functions')
-rw-r--r--tests/db_functions/datetime/test_extract_trunc.py237
1 files changed, 125 insertions, 112 deletions
diff --git a/tests/db_functions/datetime/test_extract_trunc.py b/tests/db_functions/datetime/test_extract_trunc.py
index 3f13ca7989..b4dd160f32 100644
--- a/tests/db_functions/datetime/test_extract_trunc.py
+++ b/tests/db_functions/datetime/test_extract_trunc.py
@@ -1,6 +1,5 @@
+import datetime
import zoneinfo
-from datetime import datetime, timedelta
-from datetime import timezone as datetime_timezone
from django.conf import settings
from django.db import DataError, OperationalError
@@ -63,22 +62,22 @@ def truncate_to(value, kind, tzinfo=None):
if kind == "hour":
return value.replace(minute=0, second=0, microsecond=0)
if kind == "day":
- if isinstance(value, datetime):
+ if isinstance(value, datetime.datetime):
return value.replace(hour=0, minute=0, second=0, microsecond=0)
return value
if kind == "week":
- if isinstance(value, datetime):
- return (value - timedelta(days=value.weekday())).replace(
+ if isinstance(value, datetime.datetime):
+ return (value - datetime.timedelta(days=value.weekday())).replace(
hour=0, minute=0, second=0, microsecond=0
)
- return value - timedelta(days=value.weekday())
+ return value - datetime.timedelta(days=value.weekday())
if kind == "month":
- if isinstance(value, datetime):
+ if isinstance(value, datetime.datetime):
return value.replace(day=1, hour=0, minute=0, second=0, microsecond=0)
return value.replace(day=1)
if kind == "quarter":
month_in_quarter = value.month - (value.month - 1) % 3
- if isinstance(value, datetime):
+ if isinstance(value, datetime.datetime):
return value.replace(
month=month_in_quarter,
day=1,
@@ -89,7 +88,7 @@ def truncate_to(value, kind, tzinfo=None):
)
return value.replace(month=month_in_quarter, day=1)
# otherwise, truncate to year
- if isinstance(value, datetime):
+ if isinstance(value, datetime.datetime):
return value.replace(
month=1, day=1, hour=0, minute=0, second=0, microsecond=0
)
@@ -125,8 +124,8 @@ class DateFunctionTests(TestCase):
Extract year uses a BETWEEN filter to compare the year to allow indexes
to be used.
"""
- start_datetime = datetime(2015, 6, 15, 14, 10)
- end_datetime = datetime(2016, 6, 15, 14, 10)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 10)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -164,8 +163,8 @@ class DateFunctionTests(TestCase):
self.assertEqual(query_string.count("extract"), 3)
def test_extract_year_greaterthan_lookup(self):
- start_datetime = datetime(2015, 6, 15, 14, 10)
- end_datetime = datetime(2016, 6, 15, 14, 10)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 10)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -189,8 +188,8 @@ class DateFunctionTests(TestCase):
self.assertGreaterEqual(str(qs.query).lower().count("extract"), 2)
def test_extract_year_lessthan_lookup(self):
- start_datetime = datetime(2015, 6, 15, 14, 10)
- end_datetime = datetime(2016, 6, 15, 14, 10)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 10)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -214,8 +213,8 @@ class DateFunctionTests(TestCase):
self.assertGreaterEqual(str(qs.query).lower().count("extract"), 2)
def test_extract_lookup_name_sql_injection(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -230,8 +229,8 @@ class DateFunctionTests(TestCase):
).exists()
def test_extract_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -387,8 +386,8 @@ class DateFunctionTests(TestCase):
@skipUnlessDBFeature("has_native_duration_field")
def test_extract_duration(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -435,8 +434,8 @@ class DateFunctionTests(TestCase):
DTModel.objects.annotate(extracted=Extract("duration", lookup))
def test_extract_year_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -464,8 +463,8 @@ class DateFunctionTests(TestCase):
)
def test_extract_iso_year_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -494,12 +493,12 @@ class DateFunctionTests(TestCase):
)
def test_extract_iso_year_func_boundaries(self):
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
end_datetime = timezone.make_aware(end_datetime)
- week_52_day_2014 = datetime(2014, 12, 27, 13, 0) # Sunday
- week_1_day_2014_2015 = datetime(2014, 12, 31, 13, 0) # Wednesday
- week_53_day_2015 = datetime(2015, 12, 31, 13, 0) # Thursday
+ week_52_day_2014 = datetime.datetime(2014, 12, 27, 13, 0) # Sunday
+ week_1_day_2014_2015 = datetime.datetime(2014, 12, 31, 13, 0) # Wednesday
+ week_53_day_2015 = datetime.datetime(2015, 12, 31, 13, 0) # Thursday
if settings.USE_TZ:
week_1_day_2014_2015 = timezone.make_aware(week_1_day_2014_2015)
week_52_day_2014 = timezone.make_aware(week_52_day_2014)
@@ -539,8 +538,8 @@ class DateFunctionTests(TestCase):
self.assertSequenceEqual(qs, [obj_1_iso_2014])
def test_extract_month_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -574,8 +573,8 @@ class DateFunctionTests(TestCase):
)
def test_extract_day_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -603,8 +602,8 @@ class DateFunctionTests(TestCase):
)
def test_extract_week_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -633,8 +632,8 @@ class DateFunctionTests(TestCase):
)
def test_extract_quarter_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 8, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 8, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -662,12 +661,12 @@ class DateFunctionTests(TestCase):
)
def test_extract_quarter_func_boundaries(self):
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
end_datetime = timezone.make_aware(end_datetime)
- last_quarter_2014 = datetime(2014, 12, 31, 13, 0)
- first_quarter_2015 = datetime(2015, 1, 1, 13, 0)
+ last_quarter_2014 = datetime.datetime(2014, 12, 31, 13, 0)
+ first_quarter_2015 = datetime.datetime(2015, 1, 1, 13, 0)
if settings.USE_TZ:
last_quarter_2014 = timezone.make_aware(last_quarter_2014)
first_quarter_2015 = timezone.make_aware(first_quarter_2015)
@@ -691,13 +690,13 @@ class DateFunctionTests(TestCase):
)
def test_extract_week_func_boundaries(self):
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
end_datetime = timezone.make_aware(end_datetime)
- week_52_day_2014 = datetime(2014, 12, 27, 13, 0) # Sunday
- week_1_day_2014_2015 = datetime(2014, 12, 31, 13, 0) # Wednesday
- week_53_day_2015 = datetime(2015, 12, 31, 13, 0) # Thursday
+ week_52_day_2014 = datetime.datetime(2014, 12, 27, 13, 0) # Sunday
+ week_1_day_2014_2015 = datetime.datetime(2014, 12, 31, 13, 0) # Wednesday
+ week_53_day_2015 = datetime.datetime(2015, 12, 31, 13, 0) # Thursday
if settings.USE_TZ:
week_1_day_2014_2015 = timezone.make_aware(week_1_day_2014_2015)
week_52_day_2014 = timezone.make_aware(week_52_day_2014)
@@ -725,8 +724,8 @@ class DateFunctionTests(TestCase):
)
def test_extract_weekday_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -760,8 +759,8 @@ class DateFunctionTests(TestCase):
)
def test_extract_iso_weekday_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -795,8 +794,8 @@ class DateFunctionTests(TestCase):
)
def test_extract_hour_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -824,8 +823,8 @@ class DateFunctionTests(TestCase):
)
def test_extract_minute_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -859,8 +858,8 @@ class DateFunctionTests(TestCase):
)
def test_extract_second_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -894,8 +893,8 @@ class DateFunctionTests(TestCase):
)
def test_extract_second_func_no_fractional(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 30, 50, 783)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 30, 50, 783)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -910,8 +909,8 @@ class DateFunctionTests(TestCase):
)
def test_trunc_lookup_name_sql_injection(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -931,8 +930,8 @@ class DateFunctionTests(TestCase):
self.assertIs(exists, False)
def test_trunc_func(self):
- start_datetime = datetime(999, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(999, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -1045,14 +1044,14 @@ class DateFunctionTests(TestCase):
def test_trunc_week(self):
self._test_trunc_week(
- start_datetime=datetime(2015, 6, 15, 14, 30, 50, 321),
- end_datetime=datetime(2016, 6, 15, 14, 10, 50, 123),
+ start_datetime=datetime.datetime(2015, 6, 15, 14, 30, 50, 321),
+ end_datetime=datetime.datetime(2016, 6, 15, 14, 10, 50, 123),
)
def test_trunc_week_before_1000(self):
self._test_trunc_week(
- start_datetime=datetime(999, 6, 15, 14, 30, 50, 321),
- end_datetime=datetime(2016, 6, 15, 14, 10, 50, 123),
+ start_datetime=datetime.datetime(999, 6, 15, 14, 30, 50, 321),
+ end_datetime=datetime.datetime(2016, 6, 15, 14, 10, 50, 123),
)
def test_trunc_invalid_arguments(self):
@@ -1108,8 +1107,10 @@ class DateFunctionTests(TestCase):
)
def test_trunc_year_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), "year")
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = truncate_to(
+ datetime.datetime(2016, 6, 15, 14, 10, 50, 123), "year"
+ )
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -1155,13 +1156,15 @@ class DateFunctionTests(TestCase):
)
def test_trunc_quarter_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = truncate_to(datetime(2016, 10, 15, 14, 10, 50, 123), "quarter")
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = truncate_to(
+ datetime.datetime(2016, 10, 15, 14, 10, 50, 123), "quarter"
+ )
last_quarter_2015 = truncate_to(
- datetime(2015, 12, 31, 14, 10, 50, 123), "quarter"
+ datetime.datetime(2015, 12, 31, 14, 10, 50, 123), "quarter"
)
first_quarter_2016 = truncate_to(
- datetime(2016, 1, 1, 14, 10, 50, 123), "quarter"
+ datetime.datetime(2016, 1, 1, 14, 10, 50, 123), "quarter"
)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
@@ -1212,8 +1215,10 @@ class DateFunctionTests(TestCase):
)
def test_trunc_month_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), "month")
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = truncate_to(
+ datetime.datetime(2016, 6, 15, 14, 10, 50, 123), "month"
+ )
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -1259,8 +1264,10 @@ class DateFunctionTests(TestCase):
)
def test_trunc_week_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), "week")
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = truncate_to(
+ datetime.datetime(2016, 6, 15, 14, 10, 50, 123), "week"
+ )
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -1296,8 +1303,8 @@ class DateFunctionTests(TestCase):
)
def test_trunc_date_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -1343,8 +1350,8 @@ class DateFunctionTests(TestCase):
)
def test_trunc_time_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -1390,8 +1397,8 @@ class DateFunctionTests(TestCase):
)
def test_trunc_time_comparison(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 26) # 0 microseconds.
- end_datetime = datetime(2015, 6, 15, 14, 30, 26, 321)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 26) # 0 microseconds.
+ end_datetime = datetime.datetime(2015, 6, 15, 14, 30, 26, 321)
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -1417,8 +1424,10 @@ class DateFunctionTests(TestCase):
)
def test_trunc_day_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), "day")
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = truncate_to(
+ datetime.datetime(2016, 6, 15, 14, 10, 50, 123), "day"
+ )
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -1453,8 +1462,10 @@ class DateFunctionTests(TestCase):
)
def test_trunc_hour_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), "hour")
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = truncate_to(
+ datetime.datetime(2016, 6, 15, 14, 10, 50, 123), "hour"
+ )
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -1500,8 +1511,10 @@ class DateFunctionTests(TestCase):
)
def test_trunc_minute_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), "minute")
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = truncate_to(
+ datetime.datetime(2016, 6, 15, 14, 10, 50, 123), "minute"
+ )
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -1549,8 +1562,10 @@ class DateFunctionTests(TestCase):
)
def test_trunc_second_func(self):
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = truncate_to(datetime(2016, 6, 15, 14, 10, 50, 123), "second")
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = truncate_to(
+ datetime.datetime(2016, 6, 15, 14, 10, 50, 123), "second"
+ )
if settings.USE_TZ:
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
@@ -1600,9 +1615,9 @@ class DateFunctionTests(TestCase):
def test_trunc_subquery_with_parameters(self):
author_1 = Author.objects.create(name="J. R. R. Tolkien")
author_2 = Author.objects.create(name="G. R. R. Martin")
- fan_since_1 = datetime(2016, 2, 3, 15, 0, 0)
- fan_since_2 = datetime(2015, 2, 3, 15, 0, 0)
- fan_since_3 = datetime(2017, 2, 3, 15, 0, 0)
+ fan_since_1 = datetime.datetime(2016, 2, 3, 15, 0, 0)
+ fan_since_2 = datetime.datetime(2015, 2, 3, 15, 0, 0)
+ fan_since_3 = datetime.datetime(2017, 2, 3, 15, 0, 0)
if settings.USE_TZ:
fan_since_1 = timezone.make_aware(fan_since_1)
fan_since_2 = timezone.make_aware(fan_since_2)
@@ -1622,25 +1637,25 @@ class DateFunctionTests(TestCase):
outer = Author.objects.annotate(
newest_fan_year=TruncYear(Subquery(inner, output_field=DateTimeField()))
)
- tz = datetime_timezone.utc if settings.USE_TZ else None
+ tz = datetime.UTC if settings.USE_TZ else None
self.assertSequenceEqual(
outer.order_by("name").values("name", "newest_fan_year"),
[
{
"name": "G. R. R. Martin",
- "newest_fan_year": datetime(2017, 1, 1, 0, 0, tzinfo=tz),
+ "newest_fan_year": datetime.datetime(2017, 1, 1, 0, 0, tzinfo=tz),
},
{
"name": "J. R. R. Tolkien",
- "newest_fan_year": datetime(2016, 1, 1, 0, 0, tzinfo=tz),
+ "newest_fan_year": datetime.datetime(2016, 1, 1, 0, 0, tzinfo=tz),
},
],
)
def test_extract_outerref(self):
- datetime_1 = datetime(2000, 1, 1)
- datetime_2 = datetime(2001, 3, 5)
- datetime_3 = datetime(2002, 1, 3)
+ datetime_1 = datetime.datetime(2000, 1, 1)
+ datetime_2 = datetime.datetime(2001, 3, 5)
+ datetime_3 = datetime.datetime(2002, 1, 3)
if settings.USE_TZ:
datetime_1 = timezone.make_aware(datetime_1)
datetime_2 = timezone.make_aware(datetime_2)
@@ -1669,13 +1684,13 @@ class DateFunctionTests(TestCase):
@override_settings(USE_TZ=True, TIME_ZONE="UTC")
class DateFunctionWithTimeZoneTests(DateFunctionTests):
def test_extract_func_with_timezone(self):
- start_datetime = datetime(2015, 6, 15, 23, 30, 1, 321)
- end_datetime = datetime(2015, 6, 16, 13, 11, 27, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 23, 30, 1, 321)
+ end_datetime = datetime.datetime(2015, 6, 16, 13, 11, 27, 123)
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
- delta_tzinfo_pos = datetime_timezone(timedelta(hours=5))
- delta_tzinfo_neg = datetime_timezone(timedelta(hours=-5, minutes=17))
+ delta_tzinfo_pos = datetime.timezone(datetime.timedelta(hours=5))
+ delta_tzinfo_neg = datetime.timezone(datetime.timedelta(hours=-5, minutes=17))
melb = zoneinfo.ZoneInfo("Australia/Melbourne")
qs = DTModel.objects.annotate(
@@ -1729,8 +1744,8 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
self.assertEqual(melb_model.hour_melb, 9)
def test_extract_func_with_timezone_minus_no_offset(self):
- start_datetime = datetime(2015, 6, 15, 23, 30, 1, 321)
- end_datetime = datetime(2015, 6, 16, 13, 11, 27, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 23, 30, 1, 321)
+ end_datetime = datetime.datetime(2015, 6, 16, 13, 11, 27, 123)
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
@@ -1752,8 +1767,8 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
self.assertEqual(ust_nera_model.hour_tz, 9)
def test_extract_func_explicit_timezone_priority(self):
- start_datetime = datetime(2015, 6, 15, 23, 30, 1, 321)
- end_datetime = datetime(2015, 6, 16, 13, 11, 27, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 23, 30, 1, 321)
+ end_datetime = datetime.datetime(2015, 6, 16, 13, 11, 27, 123)
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
@@ -1762,9 +1777,7 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
model = (
DTModel.objects.annotate(
day_melb=Extract("start_datetime", "day"),
- day_utc=Extract(
- "start_datetime", "day", tzinfo=datetime_timezone.utc
- ),
+ day_utc=Extract("start_datetime", "day", tzinfo=datetime.UTC),
)
.order_by("start_datetime")
.get()
@@ -1785,8 +1798,8 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
).get()
def test_trunc_timezone_applied_before_truncation(self):
- start_datetime = datetime(2016, 1, 1, 1, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2016, 1, 1, 1, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
@@ -1826,8 +1839,8 @@ class DateFunctionWithTimeZoneTests(DateFunctionTests):
If the truncated datetime transitions to a different offset (daylight
saving) then the returned value will have that new timezone/offset.
"""
- start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)
- end_datetime = datetime(2016, 6, 15, 14, 10, 50, 123)
+ start_datetime = datetime.datetime(2015, 6, 15, 14, 30, 50, 321)
+ end_datetime = datetime.datetime(2016, 6, 15, 14, 10, 50, 123)
start_datetime = timezone.make_aware(start_datetime)
end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)