summaryrefslogtreecommitdiff
path: root/tests/db_functions/datetime/test_extract_trunc.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/db_functions/datetime/test_extract_trunc.py')
-rw-r--r--tests/db_functions/datetime/test_extract_trunc.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/tests/db_functions/datetime/test_extract_trunc.py b/tests/db_functions/datetime/test_extract_trunc.py
index bb70ed6094..00e3897e68 100644
--- a/tests/db_functions/datetime/test_extract_trunc.py
+++ b/tests/db_functions/datetime/test_extract_trunc.py
@@ -13,6 +13,7 @@ except ImportError:
pytz = None
from django.conf import settings
+from django.db import DataError, OperationalError
from django.db.models import (
DateField,
DateTimeField,
@@ -244,8 +245,7 @@ class DateFunctionTests(TestCase):
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
- msg = "Invalid lookup_name: "
- with self.assertRaisesMessage(ValueError, msg):
+ with self.assertRaises((DataError, OperationalError, ValueError)):
DTModel.objects.filter(
start_datetime__year=Extract(
"start_datetime", "day' FROM start_datetime)) OR 1=1;--"
@@ -940,14 +940,18 @@ class DateFunctionTests(TestCase):
end_datetime = timezone.make_aware(end_datetime)
self.create_model(start_datetime, end_datetime)
self.create_model(end_datetime, start_datetime)
- msg = "Invalid kind: "
- with self.assertRaisesMessage(ValueError, msg):
- DTModel.objects.filter(
+ # Database backends raise an exception or don't return any results.
+ try:
+ exists = DTModel.objects.filter(
start_datetime__date=Trunc(
"start_datetime",
"year', start_datetime)) OR 1=1;--",
)
).exists()
+ except (DataError, OperationalError):
+ pass
+ else:
+ self.assertIs(exists, False)
def test_trunc_func(self):
start_datetime = datetime(999, 6, 15, 14, 30, 50, 321)