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/field_deconstruction | |
| parent | f68fa8b45dfac545cfc4111d4e52804c86db68d3 (diff) | |
Refs #33476 -- Reformatted code with Black.
Diffstat (limited to 'tests/field_deconstruction')
| -rw-r--r-- | tests/field_deconstruction/tests.py | 209 |
1 files changed, 148 insertions, 61 deletions
diff --git a/tests/field_deconstruction/tests.py b/tests/field_deconstruction/tests.py index 70846f23d3..64b90953f1 100644 --- a/tests/field_deconstruction/tests.py +++ b/tests/field_deconstruction/tests.py @@ -34,20 +34,20 @@ class FieldDeconstructionTests(SimpleTestCase): self.assertEqual(args, []) self.assertEqual(kwargs, {}) # With a DEFAULT_DB_TABLESPACE. - with self.settings(DEFAULT_DB_TABLESPACE='foo'): + with self.settings(DEFAULT_DB_TABLESPACE="foo"): _, _, args, kwargs = field.deconstruct() self.assertEqual(args, []) self.assertEqual(kwargs, {}) # With a db_tablespace. - field = models.Field(db_tablespace='foo') + field = models.Field(db_tablespace="foo") _, _, args, kwargs = field.deconstruct() self.assertEqual(args, []) - self.assertEqual(kwargs, {'db_tablespace': 'foo'}) + self.assertEqual(kwargs, {"db_tablespace": "foo"}) # With a db_tablespace equal to DEFAULT_DB_TABLESPACE. - with self.settings(DEFAULT_DB_TABLESPACE='foo'): + with self.settings(DEFAULT_DB_TABLESPACE="foo"): _, _, args, kwargs = field.deconstruct() self.assertEqual(args, []) - self.assertEqual(kwargs, {'db_tablespace': 'foo'}) + self.assertEqual(kwargs, {"db_tablespace": "foo"}) def test_auto_field(self): field = models.AutoField(primary_key=True) @@ -93,7 +93,9 @@ class FieldDeconstructionTests(SimpleTestCase): name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.CharField") self.assertEqual(args, []) - self.assertEqual(kwargs, {"choices": [("A", "One"), ("B", "Two")], "max_length": 1}) + self.assertEqual( + kwargs, {"choices": [("A", "One"), ("B", "Two")], "max_length": 1} + ) def test_csi_field(self): field = models.CommaSeparatedIntegerField(max_length=100) @@ -184,7 +186,9 @@ class FieldDeconstructionTests(SimpleTestCase): name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.FilePathField") self.assertEqual(args, []) - self.assertEqual(kwargs, {"recursive": True, "allow_folders": True, "max_length": 123}) + self.assertEqual( + kwargs, {"recursive": True, "allow_folders": True, "max_length": 123} + ) def test_float_field(self): field = models.FloatField() @@ -196,6 +200,7 @@ class FieldDeconstructionTests(SimpleTestCase): def test_foreign_key(self): # Test basic pointing from django.contrib.auth.models import Permission + field = models.ForeignKey("auth.Permission", models.CASCADE) field.remote_field.model = Permission field.remote_field.field_name = "id" @@ -203,21 +208,21 @@ class FieldDeconstructionTests(SimpleTestCase): self.assertEqual(path, "django.db.models.ForeignKey") self.assertEqual(args, []) self.assertEqual(kwargs, {"to": "auth.permission", "on_delete": models.CASCADE}) - self.assertFalse(hasattr(kwargs['to'], "setting_name")) + self.assertFalse(hasattr(kwargs["to"], "setting_name")) # Test swap detection for swappable model field = models.ForeignKey("auth.User", models.CASCADE) name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.ForeignKey") self.assertEqual(args, []) self.assertEqual(kwargs, {"to": "auth.user", "on_delete": models.CASCADE}) - self.assertEqual(kwargs['to'].setting_name, "AUTH_USER_MODEL") + self.assertEqual(kwargs["to"].setting_name, "AUTH_USER_MODEL") # Swap detection for lowercase swappable model. - field = models.ForeignKey('auth.user', models.CASCADE) + field = models.ForeignKey("auth.user", models.CASCADE) name, path, args, kwargs = field.deconstruct() - self.assertEqual(path, 'django.db.models.ForeignKey') + self.assertEqual(path, "django.db.models.ForeignKey") self.assertEqual(args, []) - self.assertEqual(kwargs, {'to': 'auth.user', 'on_delete': models.CASCADE}) - self.assertEqual(kwargs['to'].setting_name, 'AUTH_USER_MODEL') + self.assertEqual(kwargs, {"to": "auth.user", "on_delete": models.CASCADE}) + self.assertEqual(kwargs["to"].setting_name, "AUTH_USER_MODEL") # Test nonexistent (for now) model field = models.ForeignKey("something.Else", models.CASCADE) name, path, args, kwargs = field.deconstruct() @@ -235,37 +240,68 @@ class FieldDeconstructionTests(SimpleTestCase): name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.ForeignKey") self.assertEqual(args, []) - self.assertEqual(kwargs, {"to": "auth.permission", "to_field": "foobar", "on_delete": models.CASCADE}) + self.assertEqual( + kwargs, + { + "to": "auth.permission", + "to_field": "foobar", + "on_delete": models.CASCADE, + }, + ) # Test related_name preservation - field = models.ForeignKey("auth.Permission", models.CASCADE, related_name="foobar") + field = models.ForeignKey( + "auth.Permission", models.CASCADE, related_name="foobar" + ) name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.ForeignKey") self.assertEqual(args, []) - self.assertEqual(kwargs, {"to": "auth.permission", "related_name": "foobar", "on_delete": models.CASCADE}) + self.assertEqual( + kwargs, + { + "to": "auth.permission", + "related_name": "foobar", + "on_delete": models.CASCADE, + }, + ) # Test related_query_name - field = models.ForeignKey("auth.Permission", models.CASCADE, related_query_name="foobar") + field = models.ForeignKey( + "auth.Permission", models.CASCADE, related_query_name="foobar" + ) name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.ForeignKey") self.assertEqual(args, []) self.assertEqual( kwargs, - {"to": "auth.permission", "related_query_name": "foobar", "on_delete": models.CASCADE} + { + "to": "auth.permission", + "related_query_name": "foobar", + "on_delete": models.CASCADE, + }, ) # Test limit_choices_to - field = models.ForeignKey("auth.Permission", models.CASCADE, limit_choices_to={'foo': 'bar'}) + field = models.ForeignKey( + "auth.Permission", models.CASCADE, limit_choices_to={"foo": "bar"} + ) name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.ForeignKey") self.assertEqual(args, []) self.assertEqual( kwargs, - {"to": "auth.permission", "limit_choices_to": {'foo': 'bar'}, "on_delete": models.CASCADE} + { + "to": "auth.permission", + "limit_choices_to": {"foo": "bar"}, + "on_delete": models.CASCADE, + }, ) # Test unique field = models.ForeignKey("auth.Permission", models.CASCADE, unique=True) name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.ForeignKey") self.assertEqual(args, []) - self.assertEqual(kwargs, {"to": "auth.permission", "unique": True, "on_delete": models.CASCADE}) + self.assertEqual( + kwargs, + {"to": "auth.permission", "unique": True, "on_delete": models.CASCADE}, + ) @override_settings(AUTH_USER_MODEL="auth.Permission") def test_foreign_key_swapped(self): @@ -278,24 +314,25 @@ class FieldDeconstructionTests(SimpleTestCase): self.assertEqual(path, "django.db.models.ForeignKey") self.assertEqual(args, []) self.assertEqual(kwargs, {"to": "auth.permission", "on_delete": models.CASCADE}) - self.assertEqual(kwargs['to'].setting_name, "AUTH_USER_MODEL") + self.assertEqual(kwargs["to"].setting_name, "AUTH_USER_MODEL") # Model names are case-insensitive. with isolate_lru_cache(apps.get_swappable_settings_name): # It doesn't matter that we swapped out user for permission; # there's no validation. We just want to check the setting stuff # works. - field = models.ForeignKey('auth.permission', models.CASCADE) + field = models.ForeignKey("auth.permission", models.CASCADE) name, path, args, kwargs = field.deconstruct() - self.assertEqual(path, 'django.db.models.ForeignKey') + self.assertEqual(path, "django.db.models.ForeignKey") self.assertEqual(args, []) - self.assertEqual(kwargs, {'to': 'auth.permission', 'on_delete': models.CASCADE}) - self.assertEqual(kwargs['to'].setting_name, 'AUTH_USER_MODEL') + self.assertEqual(kwargs, {"to": "auth.permission", "on_delete": models.CASCADE}) + self.assertEqual(kwargs["to"].setting_name, "AUTH_USER_MODEL") def test_one_to_one(self): # Test basic pointing from django.contrib.auth.models import Permission + field = models.OneToOneField("auth.Permission", models.CASCADE) field.remote_field.model = Permission field.remote_field.field_name = "id" @@ -303,14 +340,14 @@ class FieldDeconstructionTests(SimpleTestCase): self.assertEqual(path, "django.db.models.OneToOneField") self.assertEqual(args, []) self.assertEqual(kwargs, {"to": "auth.permission", "on_delete": models.CASCADE}) - self.assertFalse(hasattr(kwargs['to'], "setting_name")) + self.assertFalse(hasattr(kwargs["to"], "setting_name")) # Test swap detection for swappable model field = models.OneToOneField("auth.User", models.CASCADE) name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.OneToOneField") self.assertEqual(args, []) self.assertEqual(kwargs, {"to": "auth.user", "on_delete": models.CASCADE}) - self.assertEqual(kwargs['to'].setting_name, "AUTH_USER_MODEL") + self.assertEqual(kwargs["to"].setting_name, "AUTH_USER_MODEL") # Test nonexistent (for now) model field = models.OneToOneField("something.Else", models.CASCADE) name, path, args, kwargs = field.deconstruct() @@ -324,34 +361,64 @@ class FieldDeconstructionTests(SimpleTestCase): self.assertEqual(args, []) self.assertEqual(kwargs, {"to": "auth.user", "on_delete": models.SET_NULL}) # Test to_field - field = models.OneToOneField("auth.Permission", models.CASCADE, to_field="foobar") + field = models.OneToOneField( + "auth.Permission", models.CASCADE, to_field="foobar" + ) name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.OneToOneField") self.assertEqual(args, []) - self.assertEqual(kwargs, {"to": "auth.permission", "to_field": "foobar", "on_delete": models.CASCADE}) + self.assertEqual( + kwargs, + { + "to": "auth.permission", + "to_field": "foobar", + "on_delete": models.CASCADE, + }, + ) # Test related_name - field = models.OneToOneField("auth.Permission", models.CASCADE, related_name="foobar") + field = models.OneToOneField( + "auth.Permission", models.CASCADE, related_name="foobar" + ) name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.OneToOneField") self.assertEqual(args, []) - self.assertEqual(kwargs, {"to": "auth.permission", "related_name": "foobar", "on_delete": models.CASCADE}) + self.assertEqual( + kwargs, + { + "to": "auth.permission", + "related_name": "foobar", + "on_delete": models.CASCADE, + }, + ) # Test related_query_name - field = models.OneToOneField("auth.Permission", models.CASCADE, related_query_name="foobar") + field = models.OneToOneField( + "auth.Permission", models.CASCADE, related_query_name="foobar" + ) name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.OneToOneField") self.assertEqual(args, []) self.assertEqual( kwargs, - {"to": "auth.permission", "related_query_name": "foobar", "on_delete": models.CASCADE} + { + "to": "auth.permission", + "related_query_name": "foobar", + "on_delete": models.CASCADE, + }, ) # Test limit_choices_to - field = models.OneToOneField("auth.Permission", models.CASCADE, limit_choices_to={'foo': 'bar'}) + field = models.OneToOneField( + "auth.Permission", models.CASCADE, limit_choices_to={"foo": "bar"} + ) name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.OneToOneField") self.assertEqual(args, []) self.assertEqual( kwargs, - {"to": "auth.permission", "limit_choices_to": {'foo': 'bar'}, "on_delete": models.CASCADE} + { + "to": "auth.permission", + "limit_choices_to": {"foo": "bar"}, + "on_delete": models.CASCADE, + }, ) # Test unique field = models.OneToOneField("auth.Permission", models.CASCADE, unique=True) @@ -361,11 +428,20 @@ class FieldDeconstructionTests(SimpleTestCase): self.assertEqual(kwargs, {"to": "auth.permission", "on_delete": models.CASCADE}) def test_image_field(self): - field = models.ImageField(upload_to="foo/barness", width_field="width", height_field="height") + field = models.ImageField( + upload_to="foo/barness", width_field="width", height_field="height" + ) name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.ImageField") self.assertEqual(args, []) - self.assertEqual(kwargs, {"upload_to": "foo/barness", "width_field": "width", "height_field": "height"}) + self.assertEqual( + kwargs, + { + "upload_to": "foo/barness", + "width_field": "width", + "height_field": "height", + }, + ) def test_integer_field(self): field = models.IntegerField() @@ -400,14 +476,14 @@ class FieldDeconstructionTests(SimpleTestCase): self.assertEqual(path, "django.db.models.ManyToManyField") self.assertEqual(args, []) self.assertEqual(kwargs, {"to": "auth.Permission"}) - self.assertFalse(hasattr(kwargs['to'], "setting_name")) + self.assertFalse(hasattr(kwargs["to"], "setting_name")) # Test swappable field = models.ManyToManyField("auth.User") name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.ManyToManyField") self.assertEqual(args, []) self.assertEqual(kwargs, {"to": "auth.User"}) - self.assertEqual(kwargs['to'].setting_name, "AUTH_USER_MODEL") + self.assertEqual(kwargs["to"].setting_name, "AUTH_USER_MODEL") # Test through field = models.ManyToManyField("auth.Permission", through="auth.Group") name, path, args, kwargs = field.deconstruct() @@ -425,19 +501,27 @@ class FieldDeconstructionTests(SimpleTestCase): name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.ManyToManyField") self.assertEqual(args, []) - self.assertEqual(kwargs, {"to": "auth.Permission", "related_name": "custom_table"}) + self.assertEqual( + kwargs, {"to": "auth.Permission", "related_name": "custom_table"} + ) # Test related_query_name field = models.ManyToManyField("auth.Permission", related_query_name="foobar") name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.ManyToManyField") self.assertEqual(args, []) - self.assertEqual(kwargs, {"to": "auth.Permission", "related_query_name": "foobar"}) + self.assertEqual( + kwargs, {"to": "auth.Permission", "related_query_name": "foobar"} + ) # Test limit_choices_to - field = models.ManyToManyField("auth.Permission", limit_choices_to={'foo': 'bar'}) + field = models.ManyToManyField( + "auth.Permission", limit_choices_to={"foo": "bar"} + ) name, path, args, kwargs = field.deconstruct() self.assertEqual(path, "django.db.models.ManyToManyField") self.assertEqual(args, []) - self.assertEqual(kwargs, {"to": "auth.Permission", "limit_choices_to": {'foo': 'bar'}}) + self.assertEqual( + kwargs, {"to": "auth.Permission", "limit_choices_to": {"foo": "bar"}} + ) @override_settings(AUTH_USER_MODEL="auth.Permission") def test_many_to_many_field_swapped(self): @@ -450,33 +534,36 @@ class FieldDeconstructionTests(SimpleTestCase): self.assertEqual(path, "django.db.models.ManyToManyField") self.assertEqual(args, []) self.assertEqual(kwargs, {"to": "auth.Permission"}) - self.assertEqual(kwargs['to'].setting_name, "AUTH_USER_MODEL") + self.assertEqual(kwargs["to"].setting_name, "AUTH_USER_MODEL") def test_many_to_many_field_related_name(self): class MyModel(models.Model): flag = models.BooleanField(default=True) - m2m = models.ManyToManyField('self') + m2m = models.ManyToManyField("self") m2m_related_name = models.ManyToManyField( - 'self', - related_query_name='custom_query_name', - limit_choices_to={'flag': True}, + "self", + related_query_name="custom_query_name", + limit_choices_to={"flag": True}, ) name, path, args, kwargs = MyModel.m2m.field.deconstruct() - self.assertEqual(path, 'django.db.models.ManyToManyField') + self.assertEqual(path, "django.db.models.ManyToManyField") self.assertEqual(args, []) # deconstruct() should not include attributes which were not passed to # the field during initialization. - self.assertEqual(kwargs, {'to': 'field_deconstruction.MyModel'}) + self.assertEqual(kwargs, {"to": "field_deconstruction.MyModel"}) # Passed attributes. name, path, args, kwargs = MyModel.m2m_related_name.field.deconstruct() - self.assertEqual(path, 'django.db.models.ManyToManyField') + self.assertEqual(path, "django.db.models.ManyToManyField") self.assertEqual(args, []) - self.assertEqual(kwargs, { - 'to': 'field_deconstruction.MyModel', - 'related_query_name': 'custom_query_name', - 'limit_choices_to': {'flag': True}, - }) + self.assertEqual( + kwargs, + { + "to": "field_deconstruction.MyModel", + "related_query_name": "custom_query_name", + "limit_choices_to": {"flag": True}, + }, + ) def test_positive_integer_field(self): field = models.PositiveIntegerField() @@ -495,7 +582,7 @@ class FieldDeconstructionTests(SimpleTestCase): def test_positive_big_integer_field(self): field = models.PositiveBigIntegerField() name, path, args, kwargs = field.deconstruct() - self.assertEqual(path, 'django.db.models.PositiveBigIntegerField') + self.assertEqual(path, "django.db.models.PositiveBigIntegerField") self.assertEqual(args, []) self.assertEqual(kwargs, {}) @@ -535,12 +622,12 @@ class FieldDeconstructionTests(SimpleTestCase): field = models.TimeField(auto_now=True) name, path, args, kwargs = field.deconstruct() self.assertEqual(args, []) - self.assertEqual(kwargs, {'auto_now': True}) + self.assertEqual(kwargs, {"auto_now": True}) field = models.TimeField(auto_now_add=True) name, path, args, kwargs = field.deconstruct() self.assertEqual(args, []) - self.assertEqual(kwargs, {'auto_now_add': True}) + self.assertEqual(kwargs, {"auto_now_add": True}) def test_url_field(self): field = models.URLField() @@ -563,4 +650,4 @@ class FieldDeconstructionTests(SimpleTestCase): field = models.BinaryField(editable=True) name, path, args, kwargs = field.deconstruct() self.assertEqual(args, []) - self.assertEqual(kwargs, {'editable': True}) + self.assertEqual(kwargs, {"editable": True}) |
