diff options
Diffstat (limited to 'tests/db_functions/datetime')
| -rw-r--r-- | tests/db_functions/datetime/test_extract_trunc.py | 237 |
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) |
