1
0
mirror of https://github.com/django/django.git synced 2025-10-24 14:16:09 +00:00

Relaxed some query ordering assertions in various tests.

It accounts for differences seen on MySQL with MyISAM storage engine.
This commit is contained in:
Mariusz Felisiak
2022-04-14 12:12:13 +02:00
committed by GitHub
parent 08f30d1b6a
commit 1760ad4e8c
16 changed files with 55 additions and 49 deletions

View File

@@ -326,7 +326,7 @@ class TestQuerying(TestCase):
)
def test_icontains(self):
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(value__icontains="BaX"),
self.objs[6:8],
)
@@ -495,7 +495,7 @@ class TestQuerying(TestCase):
)
def test_expression_wrapper_key_transform(self):
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.annotate(
expr=ExpressionWrapper(
KeyTransform("c", "value"),
@@ -506,7 +506,7 @@ class TestQuerying(TestCase):
)
def test_has_key(self):
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(value__has_key="a"),
[self.objs[3], self.objs[4]],
)
@@ -570,7 +570,7 @@ class TestQuerying(TestCase):
)
def test_has_any_keys(self):
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(value__has_any_keys=["c", "l"]),
[self.objs[3], self.objs[4], self.objs[6]],
)
@@ -622,7 +622,7 @@ class TestQuerying(TestCase):
for value, expected in tests:
with self.subTest(value=value):
qs = NullableJSONModel.objects.filter(value__contains=value)
self.assertSequenceEqual(qs, expected)
self.assertCountEqual(qs, expected)
@skipIfDBFeature("supports_json_field_contains")
def test_contains_unsupported(self):
@@ -647,7 +647,7 @@ class TestQuerying(TestCase):
qs = NullableJSONModel.objects.filter(
value__contained_by={"a": "b", "c": 14, "h": True}
)
self.assertSequenceEqual(qs, self.objs[2:4])
self.assertCountEqual(qs, self.objs[2:4])
@skipIfDBFeature("supports_json_field_contains")
def test_contained_by_unsupported(self):
@@ -656,7 +656,7 @@ class TestQuerying(TestCase):
NullableJSONModel.objects.filter(value__contained_by={"a": "b"}).get()
def test_deep_values(self):
qs = NullableJSONModel.objects.values_list("value__k__l")
qs = NullableJSONModel.objects.values_list("value__k__l").order_by("pk")
expected_objs = [(None,)] * len(self.objs)
expected_objs[4] = ("m",)
self.assertSequenceEqual(qs, expected_objs)
@@ -670,15 +670,15 @@ class TestQuerying(TestCase):
def test_isnull_key(self):
# key__isnull=False works the same as has_key='key'.
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(value__a__isnull=True),
self.objs[:3] + self.objs[5:],
)
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(value__j__isnull=True),
self.objs[:4] + self.objs[5:],
)
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(value__a__isnull=False),
[self.objs[3], self.objs[4]],
)
@@ -689,7 +689,7 @@ class TestQuerying(TestCase):
def test_isnull_key_or_none(self):
obj = NullableJSONModel.objects.create(value={"a": None})
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(
Q(value__a__isnull=True) | Q(value__a=None)
),
@@ -723,7 +723,7 @@ class TestQuerying(TestCase):
)
def test_shallow_obj_lookup(self):
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(value__a="b"),
[self.objs[3], self.objs[4]],
)
@@ -734,7 +734,7 @@ class TestQuerying(TestCase):
NullableJSONModel.objects.filter(pk=OuterRef("pk")).values("value")
),
).filter(field__a="b")
self.assertSequenceEqual(qs, [self.objs[3], self.objs[4]])
self.assertCountEqual(qs, [self.objs[3], self.objs[4]])
def test_deep_lookup_objs(self):
self.assertSequenceEqual(
@@ -761,11 +761,11 @@ class TestQuerying(TestCase):
)
def test_deep_lookup_transform(self):
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(value__c__gt=2),
[self.objs[3], self.objs[4]],
)
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(value__c__gt=2.33),
[self.objs[3], self.objs[4]],
)
@@ -777,11 +777,11 @@ class TestQuerying(TestCase):
(Q(value__foo="bax"), [self.objs[0], self.objs[7]]),
]
for condition, expected in tests:
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.exclude(condition),
expected,
)
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(~condition),
expected,
)
@@ -791,7 +791,7 @@ class TestQuerying(TestCase):
condition = Q(value__foo="bax")
objs_with_value = [self.objs[6]]
objs_with_different_value = [self.objs[0], self.objs[7]]
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.exclude(condition),
objs_with_different_value,
)
@@ -808,7 +808,7 @@ class TestQuerying(TestCase):
objs_with_value + objs_with_different_value,
)
# Add the __isnull lookup to get an exhaustive set.
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.exclude(condition & Q(value__foo__isnull=False)),
self.objs[0:6] + self.objs[7:],
)
@@ -818,7 +818,7 @@ class TestQuerying(TestCase):
)
def test_usage_in_subquery(self):
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(
id__in=NullableJSONModel.objects.filter(value__c=14),
),
@@ -876,7 +876,7 @@ class TestQuerying(TestCase):
]
for lookup, value, expected in tests:
with self.subTest(lookup=lookup, value=value):
self.assertSequenceEqual(
self.assertCountEqual(
NullableJSONModel.objects.filter(**{lookup: value}),
expected,
)