summaryrefslogtreecommitdiff
path: root/tests/field_deconstruction
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/field_deconstruction
parentf68fa8b45dfac545cfc4111d4e52804c86db68d3 (diff)
Refs #33476 -- Reformatted code with Black.
Diffstat (limited to 'tests/field_deconstruction')
-rw-r--r--tests/field_deconstruction/tests.py209
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})