Fixed NonQueryWindowTests.test_unsupported_backend() on MySQL.

This commit is contained in:
Mariusz Felisiak 2019-05-03 13:49:02 +02:00 committed by GitHub
parent e683613649
commit 8c5649bfb7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 6 deletions

View File

@ -779,6 +779,14 @@ class WindowFunctionTests(TestCase):
))) )))
class WindowUnsupportedTests(TestCase):
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()
class NonQueryWindowTests(SimpleTestCase): class NonQueryWindowTests(SimpleTestCase):
def test_window_repr(self): def test_window_repr(self):
self.assertEqual( self.assertEqual(
@ -828,12 +836,6 @@ class NonQueryWindowTests(SimpleTestCase):
with self.assertRaisesMessage(NotSupportedError, msg): with self.assertRaisesMessage(NotSupportedError, msg):
Employee.objects.annotate(dense_rank=Window(expression=DenseRank())).filter(dense_rank__gte=1) 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): def test_invalid_order_by(self):
msg = 'order_by must be either an Expression or a sequence of expressions' msg = 'order_by must be either an Expression or a sequence of expressions'
with self.assertRaisesMessage(ValueError, msg): with self.assertRaisesMessage(ValueError, msg):