summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2019-01-15 21:48:12 -0600
committerTim Graham <timograham@gmail.com>2019-02-09 08:47:41 -0500
commit64d5bafbc674db07537111d5fcbd113e32088d44 (patch)
tree1476780b9f9face762e68aa926073c338605c55a /tests
parentebd2fe186186800af343f0041a0904381b4dfc44 (diff)
Fixed #30027 -- Errored out on Window function usage if unsupported.
Diffstat (limited to 'tests')
-rw-r--r--tests/expressions_window/tests.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/tests/expressions_window/tests.py b/tests/expressions_window/tests.py
index fa9bb2916b..a993a5e575 100644
--- a/tests/expressions_window/tests.py
+++ b/tests/expressions_window/tests.py
@@ -1,5 +1,5 @@
import datetime
-from unittest import skipIf, skipUnless
+from unittest import mock, skipIf, skipUnless
from django.core.exceptions import FieldError
from django.db import NotSupportedError, connection
@@ -821,6 +821,12 @@ class NonQueryWindowTests(SimpleTestCase):
with self.assertRaisesMessage(NotSupportedError, msg):
Employee.objects.annotate(dense_rank=Window(expression=DenseRank())).filter(dense_rank__gte=1)
+ def test_unsupported_backend(self):
+ msg = 'This backend does not support window expressions.'
+ with mock.patch.object(connection.features, 'supports_over_clause', False):
+ with self.assertRaisesMessage(NotSupportedError, msg):
+ Employee.objects.annotate(dense_rank=Window(expression=DenseRank())).get()
+
def test_invalid_order_by(self):
msg = 'order_by must be either an Expression or a sequence of expressions'
with self.assertRaisesMessage(ValueError, msg):