From 64d5bafbc674db07537111d5fcbd113e32088d44 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Tue, 15 Jan 2019 21:48:12 -0600 Subject: Fixed #30027 -- Errored out on Window function usage if unsupported. --- tests/expressions_window/tests.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tests') 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): -- cgit v1.3