summaryrefslogtreecommitdiff
path: root/tests/custom_pk
diff options
context:
space:
mode:
authordjango-bot <ops@djangoproject.com>2022-02-03 20:24:19 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-02-07 20:37:05 +0100
commit9c19aff7c7561e3a82978a272ecdaad40dda5c00 (patch)
treef0506b668a013d0063e5fba3dbf4863b466713ba /tests/custom_pk
parentf68fa8b45dfac545cfc4111d4e52804c86db68d3 (diff)
Refs #33476 -- Reformatted code with Black.
Diffstat (limited to 'tests/custom_pk')
-rw-r--r--tests/custom_pk/fields.py5
-rw-r--r--tests/custom_pk/models.py6
-rw-r--r--tests/custom_pk/tests.py99
3 files changed, 64 insertions, 46 deletions
diff --git a/tests/custom_pk/fields.py b/tests/custom_pk/fields.py
index bc7259300b..2d70c6b6dc 100644
--- a/tests/custom_pk/fields.py
+++ b/tests/custom_pk/fields.py
@@ -21,15 +21,14 @@ class MyWrapper:
class MyWrapperField(models.CharField):
-
def __init__(self, *args, **kwargs):
- kwargs['max_length'] = 10
+ kwargs["max_length"] = 10
super().__init__(*args, **kwargs)
def pre_save(self, instance, add):
value = getattr(instance, self.attname, None)
if not value:
- value = MyWrapper(''.join(random.sample(string.ascii_lowercase, 10)))
+ value = MyWrapper("".join(random.sample(string.ascii_lowercase, 10)))
setattr(instance, self.attname, value)
return value
diff --git a/tests/custom_pk/models.py b/tests/custom_pk/models.py
index d9a73885f2..000ea7a29d 100644
--- a/tests/custom_pk/models.py
+++ b/tests/custom_pk/models.py
@@ -11,12 +11,12 @@ from .fields import MyAutoField, MyWrapperField
class Employee(models.Model):
- employee_code = models.IntegerField(primary_key=True, db_column='code')
+ employee_code = models.IntegerField(primary_key=True, db_column="code")
first_name = models.CharField(max_length=20)
last_name = models.CharField(max_length=20)
class Meta:
- ordering = ('last_name', 'first_name')
+ ordering = ("last_name", "first_name")
def __str__(self):
return "%s %s" % (self.first_name, self.last_name)
@@ -27,7 +27,7 @@ class Business(models.Model):
employees = models.ManyToManyField(Employee)
class Meta:
- verbose_name_plural = 'businesses'
+ verbose_name_plural = "businesses"
class Bar(models.Model):
diff --git a/tests/custom_pk/tests.py b/tests/custom_pk/tests.py
index cbf1fd2cb6..ee2d56efdd 100644
--- a/tests/custom_pk/tests.py
+++ b/tests/custom_pk/tests.py
@@ -9,10 +9,14 @@ class BasicCustomPKTests(TestCase):
@classmethod
def setUpTestData(cls):
cls.dan = Employee.objects.create(
- employee_code=123, first_name="Dan", last_name="Jones",
+ employee_code=123,
+ first_name="Dan",
+ last_name="Jones",
)
cls.fran = Employee.objects.create(
- employee_code=456, first_name="Fran", last_name="Bones",
+ employee_code=456,
+ first_name="Fran",
+ last_name="Bones",
)
cls.business = Business.objects.create(name="Sears")
cls.business.employees.add(cls.dan, cls.fran)
@@ -22,46 +26,48 @@ class BasicCustomPKTests(TestCase):
Both pk and custom attribute_name can be used in filter and friends
"""
self.assertQuerysetEqual(
- Employee.objects.filter(pk=123), [
+ Employee.objects.filter(pk=123),
+ [
"Dan Jones",
],
- str
+ str,
)
self.assertQuerysetEqual(
- Employee.objects.filter(employee_code=123), [
+ Employee.objects.filter(employee_code=123),
+ [
"Dan Jones",
],
- str
+ str,
)
self.assertQuerysetEqual(
- Employee.objects.filter(pk__in=[123, 456]), [
+ Employee.objects.filter(pk__in=[123, 456]),
+ [
"Fran Bones",
"Dan Jones",
],
- str
+ str,
)
self.assertQuerysetEqual(
- Employee.objects.all(), [
+ Employee.objects.all(),
+ [
"Fran Bones",
"Dan Jones",
],
- str
+ str,
)
self.assertQuerysetEqual(
- Business.objects.filter(name="Sears"), [
- "Sears"
- ],
- lambda b: b.name
+ Business.objects.filter(name="Sears"), ["Sears"], lambda b: b.name
)
self.assertQuerysetEqual(
- Business.objects.filter(pk="Sears"), [
+ Business.objects.filter(pk="Sears"),
+ [
"Sears",
],
- lambda b: b.name
+ lambda b: b.name,
)
def test_querysets_related_name(self):
@@ -69,17 +75,19 @@ class BasicCustomPKTests(TestCase):
Custom pk doesn't affect related_name based lookups
"""
self.assertQuerysetEqual(
- self.business.employees.all(), [
+ self.business.employees.all(),
+ [
"Fran Bones",
"Dan Jones",
],
- str
+ str,
)
self.assertQuerysetEqual(
- self.fran.business_set.all(), [
+ self.fran.business_set.all(),
+ [
"Sears",
],
- lambda b: b.name
+ lambda b: b.name,
)
def test_querysets_relational(self):
@@ -87,14 +95,16 @@ class BasicCustomPKTests(TestCase):
Queries across tables, involving primary key
"""
self.assertQuerysetEqual(
- Employee.objects.filter(business__name="Sears"), [
+ Employee.objects.filter(business__name="Sears"),
+ [
"Fran Bones",
"Dan Jones",
],
str,
)
self.assertQuerysetEqual(
- Employee.objects.filter(business__pk="Sears"), [
+ Employee.objects.filter(business__pk="Sears"),
+ [
"Fran Bones",
"Dan Jones",
],
@@ -102,23 +112,26 @@ class BasicCustomPKTests(TestCase):
)
self.assertQuerysetEqual(
- Business.objects.filter(employees__employee_code=123), [
+ Business.objects.filter(employees__employee_code=123),
+ [
"Sears",
],
- lambda b: b.name
+ lambda b: b.name,
)
self.assertQuerysetEqual(
- Business.objects.filter(employees__pk=123), [
+ Business.objects.filter(employees__pk=123),
+ [
"Sears",
],
lambda b: b.name,
)
self.assertQuerysetEqual(
- Business.objects.filter(employees__first_name__startswith="Fran"), [
+ Business.objects.filter(employees__first_name__startswith="Fran"),
+ [
"Sears",
],
- lambda b: b.name
+ lambda b: b.name,
)
def test_get(self):
@@ -146,7 +159,9 @@ class BasicCustomPKTests(TestCase):
# Or we can use the real attribute name for the primary key:
self.assertEqual(e.employee_code, 123)
- with self.assertRaisesMessage(AttributeError, "'Employee' object has no attribute 'id'"):
+ with self.assertRaisesMessage(
+ AttributeError, "'Employee' object has no attribute 'id'"
+ ):
e.id
def test_in_bulk(self):
@@ -156,9 +171,12 @@ class BasicCustomPKTests(TestCase):
emps = Employee.objects.in_bulk([123, 456])
self.assertEqual(emps[123], self.dan)
- self.assertEqual(Business.objects.in_bulk(["Sears"]), {
- "Sears": self.business,
- })
+ self.assertEqual(
+ Business.objects.in_bulk(["Sears"]),
+ {
+ "Sears": self.business,
+ },
+ )
def test_save(self):
"""
@@ -169,11 +187,12 @@ class BasicCustomPKTests(TestCase):
fran.save()
self.assertQuerysetEqual(
- Employee.objects.filter(last_name="Jones"), [
+ Employee.objects.filter(last_name="Jones"),
+ [
"Dan Jones",
"Fran Jones",
],
- str
+ str,
)
@@ -189,7 +208,7 @@ class CustomPKTests(TestCase):
def test_unicode_pk(self):
# Primary key may be Unicode string.
- Business.objects.create(name='jaźń')
+ Business.objects.create(name="jaźń")
def test_unique_pk(self):
# The primary key must also be unique, so trying to create a new object
@@ -199,12 +218,12 @@ class CustomPKTests(TestCase):
)
with self.assertRaises(IntegrityError):
with transaction.atomic():
- Employee.objects.create(employee_code=123, first_name="Fred", last_name="Jones")
+ Employee.objects.create(
+ employee_code=123, first_name="Fred", last_name="Jones"
+ )
def test_zero_non_autoincrement_pk(self):
- Employee.objects.create(
- employee_code=0, first_name="Frank", last_name="Jones"
- )
+ Employee.objects.create(employee_code=0, first_name="Frank", last_name="Jones")
employee = Employee.objects.get(pk=0)
self.assertEqual(employee.employee_code, 0)
@@ -224,7 +243,7 @@ class CustomPKTests(TestCase):
# SQLite lets objects be saved with an empty primary key, even though an
# integer is expected. So we can't check for an error being raised in that
# case for SQLite. Remove it from the suite for this next bit.
- @skipIfDBFeature('supports_unspecified_pk')
+ @skipIfDBFeature("supports_unspecified_pk")
def test_required_pk(self):
# The primary key must be specified, so an error is raised if you
# try to create an object without it.
@@ -236,7 +255,7 @@ class CustomPKTests(TestCase):
obj = CustomAutoFieldModel.objects.create()
self.assertIsInstance(obj.id, MyWrapper)
- @skipUnlessDBFeature('can_return_rows_from_bulk_insert')
+ @skipUnlessDBFeature("can_return_rows_from_bulk_insert")
def test_auto_field_subclass_bulk_create(self):
obj = CustomAutoFieldModel()
CustomAutoFieldModel.objects.bulk_create([obj])