diff options
| author | django-bot <ops@djangoproject.com> | 2022-02-03 20:24:19 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-02-07 20:37:05 +0100 |
| commit | 9c19aff7c7561e3a82978a272ecdaad40dda5c00 (patch) | |
| tree | f0506b668a013d0063e5fba3dbf4863b466713ba /tests/custom_pk | |
| parent | f68fa8b45dfac545cfc4111d4e52804c86db68d3 (diff) | |
Refs #33476 -- Reformatted code with Black.
Diffstat (limited to 'tests/custom_pk')
| -rw-r--r-- | tests/custom_pk/fields.py | 5 | ||||
| -rw-r--r-- | tests/custom_pk/models.py | 6 | ||||
| -rw-r--r-- | tests/custom_pk/tests.py | 99 |
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]) |
