diff options
author | Simon Charette <charette.s@gmail.com> | 2022-11-06 11:19:33 -0500 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-11-07 20:23:53 +0100 |
commit | 76e37513e22f4d9a01c7f15eee36fe44388e6670 (patch) | |
tree | 575decec7547c3c128857b0444f342452865a0f9 /tests/queries | |
parent | 4b702c832cd550fe682ef37a69e93866815b9123 (diff) | |
download | django-76e37513e22f4d9a01c7f15eee36fe44388e6670.tar.gz |
Refs #33374 -- Adjusted full match condition handling.
Adjusting WhereNode.as_sql() to raise an exception when encoutering a
full match just like with empty matches ensures that all case are
explicitly handled.
Diffstat (limited to 'tests/queries')
-rw-r--r-- | tests/queries/tests.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/tests/queries/tests.py b/tests/queries/tests.py index 63e9ea6687..332a6e5d9a 100644 --- a/tests/queries/tests.py +++ b/tests/queries/tests.py @@ -5,7 +5,7 @@ import unittest from operator import attrgetter from threading import Lock -from django.core.exceptions import EmptyResultSet, FieldError +from django.core.exceptions import EmptyResultSet, FieldError, FullResultSet from django.db import DEFAULT_DB_ALIAS, connection from django.db.models import CharField, Count, Exists, F, Max, OuterRef, Q from django.db.models.expressions import RawSQL @@ -3588,7 +3588,8 @@ class WhereNodeTest(SimpleTestCase): with self.assertRaises(EmptyResultSet): w.as_sql(compiler, connection) w.negate() - self.assertEqual(w.as_sql(compiler, connection), ("", [])) + with self.assertRaises(FullResultSet): + w.as_sql(compiler, connection) w = WhereNode(children=[self.DummyNode(), self.DummyNode()]) self.assertEqual(w.as_sql(compiler, connection), ("(dummy AND dummy)", [])) w.negate() @@ -3597,7 +3598,8 @@ class WhereNodeTest(SimpleTestCase): with self.assertRaises(EmptyResultSet): w.as_sql(compiler, connection) w.negate() - self.assertEqual(w.as_sql(compiler, connection), ("", [])) + with self.assertRaises(FullResultSet): + w.as_sql(compiler, connection) def test_empty_full_handling_disjunction(self): compiler = WhereNodeTest.MockCompiler() @@ -3605,7 +3607,8 @@ class WhereNodeTest(SimpleTestCase): with self.assertRaises(EmptyResultSet): w.as_sql(compiler, connection) w.negate() - self.assertEqual(w.as_sql(compiler, connection), ("", [])) + with self.assertRaises(FullResultSet): + w.as_sql(compiler, connection) w = WhereNode(children=[self.DummyNode(), self.DummyNode()], connector=OR) self.assertEqual(w.as_sql(compiler, connection), ("(dummy OR dummy)", [])) w.negate() @@ -3619,7 +3622,8 @@ class WhereNodeTest(SimpleTestCase): compiler = WhereNodeTest.MockCompiler() empty_w = WhereNode() w = WhereNode(children=[empty_w, empty_w]) - self.assertEqual(w.as_sql(compiler, connection), ("", [])) + with self.assertRaises(FullResultSet): + w.as_sql(compiler, connection) w.negate() with self.assertRaises(EmptyResultSet): w.as_sql(compiler, connection) @@ -3627,9 +3631,11 @@ class WhereNodeTest(SimpleTestCase): with self.assertRaises(EmptyResultSet): w.as_sql(compiler, connection) w.negate() - self.assertEqual(w.as_sql(compiler, connection), ("", [])) + with self.assertRaises(FullResultSet): + w.as_sql(compiler, connection) w = WhereNode(children=[empty_w, NothingNode()], connector=OR) - self.assertEqual(w.as_sql(compiler, connection), ("", [])) + with self.assertRaises(FullResultSet): + w.as_sql(compiler, connection) w = WhereNode(children=[empty_w, NothingNode()], connector=AND) with self.assertRaises(EmptyResultSet): w.as_sql(compiler, connection) |