summaryrefslogtreecommitdiff
path: root/tests/model_options
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/model_options
parentf68fa8b45dfac545cfc4111d4e52804c86db68d3 (diff)
downloaddjango-9c19aff7c7561e3a82978a272ecdaad40dda5c00.tar.gz
Refs #33476 -- Reformatted code with Black.
Diffstat (limited to 'tests/model_options')
-rw-r--r--tests/model_options/apps.py16
-rw-r--r--tests/model_options/models/tablespaces.py30
-rw-r--r--tests/model_options/test_default_pk.py50
-rw-r--r--tests/model_options/test_default_related_name.py9
-rw-r--r--tests/model_options/test_tablespaces.py75
5 files changed, 99 insertions, 81 deletions
diff --git a/tests/model_options/apps.py b/tests/model_options/apps.py
index be2250fe7a..fdb9c64821 100644
--- a/tests/model_options/apps.py
+++ b/tests/model_options/apps.py
@@ -2,24 +2,24 @@ from django.apps import AppConfig
class ModelDefaultPKConfig(AppConfig):
- name = 'model_options'
+ name = "model_options"
class ModelPKConfig(AppConfig):
- name = 'model_options'
- default_auto_field = 'django.db.models.SmallAutoField'
+ name = "model_options"
+ default_auto_field = "django.db.models.SmallAutoField"
class ModelPKNonAutoConfig(AppConfig):
- name = 'model_options'
- default_auto_field = 'django.db.models.TextField'
+ name = "model_options"
+ default_auto_field = "django.db.models.TextField"
class ModelPKNoneConfig(AppConfig):
- name = 'model_options'
+ name = "model_options"
default_auto_field = None
class ModelPKNonexistentConfig(AppConfig):
- name = 'model_options'
- default_auto_field = 'django.db.models.NonexistentAutoField'
+ name = "model_options"
+ default_auto_field = "django.db.models.NonexistentAutoField"
diff --git a/tests/model_options/models/tablespaces.py b/tests/model_options/models/tablespaces.py
index 0ee0e20ef4..19bfd31890 100644
--- a/tests/model_options/models/tablespaces.py
+++ b/tests/model_options/models/tablespaces.py
@@ -15,35 +15,39 @@ class ScientistRef(models.Model):
class ArticleRef(models.Model):
title = models.CharField(max_length=50, unique=True)
code = models.CharField(max_length=50, unique=True)
- authors = models.ManyToManyField(ScientistRef, related_name='articles_written_set')
- reviewers = models.ManyToManyField(ScientistRef, related_name='articles_reviewed_set')
+ authors = models.ManyToManyField(ScientistRef, related_name="articles_written_set")
+ reviewers = models.ManyToManyField(
+ ScientistRef, related_name="articles_reviewed_set"
+ )
class Scientist(models.Model):
name = models.CharField(max_length=50)
class Meta:
- db_table = 'model_options_scientistref'
- db_tablespace = 'tbl_tbsp'
+ db_table = "model_options_scientistref"
+ db_tablespace = "tbl_tbsp"
managed = False
class Article(models.Model):
title = models.CharField(max_length=50, unique=True)
- code = models.CharField(max_length=50, unique=True, db_tablespace='idx_tbsp')
- authors = models.ManyToManyField(Scientist, related_name='articles_written_set')
- reviewers = models.ManyToManyField(Scientist, related_name='articles_reviewed_set', db_tablespace='idx_tbsp')
+ code = models.CharField(max_length=50, unique=True, db_tablespace="idx_tbsp")
+ authors = models.ManyToManyField(Scientist, related_name="articles_written_set")
+ reviewers = models.ManyToManyField(
+ Scientist, related_name="articles_reviewed_set", db_tablespace="idx_tbsp"
+ )
class Meta:
- db_table = 'model_options_articleref'
- db_tablespace = 'tbl_tbsp'
+ db_table = "model_options_articleref"
+ db_tablespace = "tbl_tbsp"
managed = False
# Also set the tables for automatically created models
-Authors = Article._meta.get_field('authors').remote_field.through
-Authors._meta.db_table = 'model_options_articleref_authors'
+Authors = Article._meta.get_field("authors").remote_field.through
+Authors._meta.db_table = "model_options_articleref_authors"
-Reviewers = Article._meta.get_field('reviewers').remote_field.through
-Reviewers._meta.db_table = 'model_options_articleref_reviewers'
+Reviewers = Article._meta.get_field("reviewers").remote_field.through
+Reviewers._meta.db_table = "model_options_articleref_reviewers"
diff --git a/tests/model_options/test_default_pk.py b/tests/model_options/test_default_pk.py
index a3beaba7c3..896eddd828 100644
--- a/tests/model_options/test_default_pk.py
+++ b/tests/model_options/test_default_pk.py
@@ -8,9 +8,9 @@ class MyBigAutoField(models.BigAutoField):
pass
-@isolate_apps('model_options')
+@isolate_apps("model_options")
class TestDefaultPK(SimpleTestCase):
- @override_settings(DEFAULT_AUTO_FIELD='django.db.models.NonexistentAutoField')
+ @override_settings(DEFAULT_AUTO_FIELD="django.db.models.NonexistentAutoField")
def test_default_auto_field_setting_nonexistent(self):
msg = (
"DEFAULT_AUTO_FIELD refers to the module "
@@ -18,10 +18,11 @@ class TestDefaultPK(SimpleTestCase):
"imported."
)
with self.assertRaisesMessage(ImproperlyConfigured, msg):
+
class Model(models.Model):
pass
- @isolate_apps('model_options.apps.ModelPKNonexistentConfig')
+ @isolate_apps("model_options.apps.ModelPKNonexistentConfig")
def test_app_default_auto_field_nonexistent(self):
msg = (
"model_options.apps.ModelPKNonexistentConfig.default_auto_field "
@@ -29,20 +30,22 @@ class TestDefaultPK(SimpleTestCase):
"that could not be imported."
)
with self.assertRaisesMessage(ImproperlyConfigured, msg):
+
class Model(models.Model):
pass
- @override_settings(DEFAULT_AUTO_FIELD='django.db.models.TextField')
+ @override_settings(DEFAULT_AUTO_FIELD="django.db.models.TextField")
def test_default_auto_field_setting_non_auto(self):
msg = (
"Primary key 'django.db.models.TextField' referred by "
"DEFAULT_AUTO_FIELD must subclass AutoField."
)
with self.assertRaisesMessage(ValueError, msg):
+
class Model(models.Model):
pass
- @isolate_apps('model_options.apps.ModelPKNonAutoConfig')
+ @isolate_apps("model_options.apps.ModelPKNonAutoConfig")
def test_app_default_auto_field_non_auto(self):
msg = (
"Primary key 'django.db.models.TextField' referred by "
@@ -50,28 +53,31 @@ class TestDefaultPK(SimpleTestCase):
"subclass AutoField."
)
with self.assertRaisesMessage(ValueError, msg):
+
class Model(models.Model):
pass
@override_settings(DEFAULT_AUTO_FIELD=None)
def test_default_auto_field_setting_none(self):
- msg = 'DEFAULT_AUTO_FIELD must not be empty.'
+ msg = "DEFAULT_AUTO_FIELD must not be empty."
with self.assertRaisesMessage(ImproperlyConfigured, msg):
+
class Model(models.Model):
pass
- @isolate_apps('model_options.apps.ModelPKNoneConfig')
+ @isolate_apps("model_options.apps.ModelPKNoneConfig")
def test_app_default_auto_field_none(self):
msg = (
- 'model_options.apps.ModelPKNoneConfig.default_auto_field must not '
- 'be empty.'
+ "model_options.apps.ModelPKNoneConfig.default_auto_field must not "
+ "be empty."
)
with self.assertRaisesMessage(ImproperlyConfigured, msg):
+
class Model(models.Model):
pass
- @isolate_apps('model_options.apps.ModelDefaultPKConfig')
- @override_settings(DEFAULT_AUTO_FIELD='django.db.models.SmallAutoField')
+ @isolate_apps("model_options.apps.ModelDefaultPKConfig")
+ @override_settings(DEFAULT_AUTO_FIELD="django.db.models.SmallAutoField")
def test_default_auto_field_setting(self):
class Model(models.Model):
pass
@@ -79,7 +85,7 @@ class TestDefaultPK(SimpleTestCase):
self.assertIsInstance(Model._meta.pk, models.SmallAutoField)
@override_settings(
- DEFAULT_AUTO_FIELD='model_options.test_default_pk.MyBigAutoField'
+ DEFAULT_AUTO_FIELD="model_options.test_default_pk.MyBigAutoField"
)
def test_default_auto_field_setting_bigautofield_subclass(self):
class Model(models.Model):
@@ -87,28 +93,28 @@ class TestDefaultPK(SimpleTestCase):
self.assertIsInstance(Model._meta.pk, MyBigAutoField)
- @isolate_apps('model_options.apps.ModelPKConfig')
- @override_settings(DEFAULT_AUTO_FIELD='django.db.models.AutoField')
+ @isolate_apps("model_options.apps.ModelPKConfig")
+ @override_settings(DEFAULT_AUTO_FIELD="django.db.models.AutoField")
def test_app_default_auto_field(self):
class Model(models.Model):
pass
self.assertIsInstance(Model._meta.pk, models.SmallAutoField)
- @isolate_apps('model_options.apps.ModelDefaultPKConfig')
- @override_settings(DEFAULT_AUTO_FIELD='django.db.models.SmallAutoField')
+ @isolate_apps("model_options.apps.ModelDefaultPKConfig")
+ @override_settings(DEFAULT_AUTO_FIELD="django.db.models.SmallAutoField")
def test_m2m_default_auto_field_setting(self):
class M2MModel(models.Model):
- m2m = models.ManyToManyField('self')
+ m2m = models.ManyToManyField("self")
- m2m_pk = M2MModel._meta.get_field('m2m').remote_field.through._meta.pk
+ m2m_pk = M2MModel._meta.get_field("m2m").remote_field.through._meta.pk
self.assertIsInstance(m2m_pk, models.SmallAutoField)
- @isolate_apps('model_options.apps.ModelPKConfig')
- @override_settings(DEFAULT_AUTO_FIELD='django.db.models.AutoField')
+ @isolate_apps("model_options.apps.ModelPKConfig")
+ @override_settings(DEFAULT_AUTO_FIELD="django.db.models.AutoField")
def test_m2m_app_default_auto_field(self):
class M2MModel(models.Model):
- m2m = models.ManyToManyField('self')
+ m2m = models.ManyToManyField("self")
- m2m_pk = M2MModel._meta.get_field('m2m').remote_field.through._meta.pk
+ m2m_pk = M2MModel._meta.get_field("m2m").remote_field.through._meta.pk
self.assertIsInstance(m2m_pk, models.SmallAutoField)
diff --git a/tests/model_options/test_default_related_name.py b/tests/model_options/test_default_related_name.py
index a6b7533e1d..1a59899bb0 100644
--- a/tests/model_options/test_default_related_name.py
+++ b/tests/model_options/test_default_related_name.py
@@ -5,12 +5,13 @@ from .models.default_related_name import Author, Book, Editor
class DefaultRelatedNameTests(TestCase):
-
@classmethod
def setUpTestData(cls):
- cls.author = Author.objects.create(first_name='Dave', last_name='Loper')
- cls.editor = Editor.objects.create(name='Test Editions', bestselling_author=cls.author)
- cls.book = Book.objects.create(title='Test Book', editor=cls.editor)
+ cls.author = Author.objects.create(first_name="Dave", last_name="Loper")
+ cls.editor = Editor.objects.create(
+ name="Test Editions", bestselling_author=cls.author
+ )
+ cls.book = Book.objects.create(title="Test Book", editor=cls.editor)
cls.book.authors.add(cls.author)
def test_no_default_related_name(self):
diff --git a/tests/model_options/test_tablespaces.py b/tests/model_options/test_tablespaces.py
index 8502d8790f..0aa2e0fccf 100644
--- a/tests/model_options/test_tablespaces.py
+++ b/tests/model_options/test_tablespaces.py
@@ -1,12 +1,15 @@
from django.apps import apps
from django.conf import settings
from django.db import connection
-from django.test import (
- TransactionTestCase, skipIfDBFeature, skipUnlessDBFeature,
-)
+from django.test import TransactionTestCase, skipIfDBFeature, skipUnlessDBFeature
from .models.tablespaces import (
- Article, ArticleRef, Authors, Reviewers, Scientist, ScientistRef,
+ Article,
+ ArticleRef,
+ Authors,
+ Reviewers,
+ Scientist,
+ ScientistRef,
)
@@ -17,19 +20,21 @@ def sql_for_table(model):
def sql_for_index(model):
- return '\n'.join(str(sql) for sql in connection.schema_editor()._model_indexes_sql(model))
+ return "\n".join(
+ str(sql) for sql in connection.schema_editor()._model_indexes_sql(model)
+ )
# We can't test the DEFAULT_TABLESPACE and DEFAULT_INDEX_TABLESPACE settings
# because they're evaluated when the model class is defined. As a consequence,
# @override_settings doesn't work, and the tests depend
class TablespacesTests(TransactionTestCase):
- available_apps = ['model_options']
+ available_apps = ["model_options"]
def setUp(self):
# The unmanaged models need to be removed after the test in order to
# prevent bad interactions with the flush operation in other tests.
- self._old_models = apps.app_configs['model_options'].models.copy()
+ self._old_models = apps.app_configs["model_options"].models.copy()
for model in Article, Authors, Reviewers, Scientist:
model._meta.managed = True
@@ -38,67 +43,69 @@ class TablespacesTests(TransactionTestCase):
for model in Article, Authors, Reviewers, Scientist:
model._meta.managed = False
- apps.app_configs['model_options'].models = self._old_models
- apps.all_models['model_options'] = self._old_models
+ apps.app_configs["model_options"].models = self._old_models
+ apps.all_models["model_options"] = self._old_models
apps.clear_cache()
def assertNumContains(self, haystack, needle, count):
real_count = haystack.count(needle)
- self.assertEqual(real_count, count, "Found %d instances of '%s', expected %d" % (real_count, needle, count))
+ self.assertEqual(
+ real_count,
+ count,
+ "Found %d instances of '%s', expected %d" % (real_count, needle, count),
+ )
- @skipUnlessDBFeature('supports_tablespaces')
+ @skipUnlessDBFeature("supports_tablespaces")
def test_tablespace_for_model(self):
sql = sql_for_table(Scientist).lower()
if settings.DEFAULT_INDEX_TABLESPACE:
# 1 for the table
- self.assertNumContains(sql, 'tbl_tbsp', 1)
+ self.assertNumContains(sql, "tbl_tbsp", 1)
# 1 for the index on the primary key
self.assertNumContains(sql, settings.DEFAULT_INDEX_TABLESPACE, 1)
else:
# 1 for the table + 1 for the index on the primary key
- self.assertNumContains(sql, 'tbl_tbsp', 2)
+ self.assertNumContains(sql, "tbl_tbsp", 2)
- @skipIfDBFeature('supports_tablespaces')
+ @skipIfDBFeature("supports_tablespaces")
def test_tablespace_ignored_for_model(self):
# No tablespace-related SQL
- self.assertEqual(sql_for_table(Scientist),
- sql_for_table(ScientistRef))
+ self.assertEqual(sql_for_table(Scientist), sql_for_table(ScientistRef))
- @skipUnlessDBFeature('supports_tablespaces')
+ @skipUnlessDBFeature("supports_tablespaces")
def test_tablespace_for_indexed_field(self):
sql = sql_for_table(Article).lower()
if settings.DEFAULT_INDEX_TABLESPACE:
# 1 for the table
- self.assertNumContains(sql, 'tbl_tbsp', 1)
+ self.assertNumContains(sql, "tbl_tbsp", 1)
# 1 for the primary key + 1 for the index on code
self.assertNumContains(sql, settings.DEFAULT_INDEX_TABLESPACE, 2)
else:
# 1 for the table + 1 for the primary key + 1 for the index on code
- self.assertNumContains(sql, 'tbl_tbsp', 3)
+ self.assertNumContains(sql, "tbl_tbsp", 3)
# 1 for the index on reference
- self.assertNumContains(sql, 'idx_tbsp', 1)
+ self.assertNumContains(sql, "idx_tbsp", 1)
- @skipIfDBFeature('supports_tablespaces')
+ @skipIfDBFeature("supports_tablespaces")
def test_tablespace_ignored_for_indexed_field(self):
# No tablespace-related SQL
- self.assertEqual(sql_for_table(Article),
- sql_for_table(ArticleRef))
+ self.assertEqual(sql_for_table(Article), sql_for_table(ArticleRef))
- @skipUnlessDBFeature('supports_tablespaces')
+ @skipUnlessDBFeature("supports_tablespaces")
def test_tablespace_for_many_to_many_field(self):
sql = sql_for_table(Authors).lower()
# The join table of the ManyToManyField goes to the model's tablespace,
# and its indexes too, unless DEFAULT_INDEX_TABLESPACE is set.
if settings.DEFAULT_INDEX_TABLESPACE:
# 1 for the table
- self.assertNumContains(sql, 'tbl_tbsp', 1)
+ self.assertNumContains(sql, "tbl_tbsp", 1)
# 1 for the primary key
self.assertNumContains(sql, settings.DEFAULT_INDEX_TABLESPACE, 1)
else:
# 1 for the table + 1 for the index on the primary key
- self.assertNumContains(sql, 'tbl_tbsp', 2)
- self.assertNumContains(sql, 'idx_tbsp', 0)
+ self.assertNumContains(sql, "tbl_tbsp", 2)
+ self.assertNumContains(sql, "idx_tbsp", 0)
sql = sql_for_index(Authors).lower()
# The ManyToManyField declares no db_tablespace, its indexes go to
@@ -106,23 +113,23 @@ class TablespacesTests(TransactionTestCase):
if settings.DEFAULT_INDEX_TABLESPACE:
self.assertNumContains(sql, settings.DEFAULT_INDEX_TABLESPACE, 2)
else:
- self.assertNumContains(sql, 'tbl_tbsp', 2)
- self.assertNumContains(sql, 'idx_tbsp', 0)
+ self.assertNumContains(sql, "tbl_tbsp", 2)
+ self.assertNumContains(sql, "idx_tbsp", 0)
sql = sql_for_table(Reviewers).lower()
# The join table of the ManyToManyField goes to the model's tablespace,
# and its indexes too, unless DEFAULT_INDEX_TABLESPACE is set.
if settings.DEFAULT_INDEX_TABLESPACE:
# 1 for the table
- self.assertNumContains(sql, 'tbl_tbsp', 1)
+ self.assertNumContains(sql, "tbl_tbsp", 1)
# 1 for the primary key
self.assertNumContains(sql, settings.DEFAULT_INDEX_TABLESPACE, 1)
else:
# 1 for the table + 1 for the index on the primary key
- self.assertNumContains(sql, 'tbl_tbsp', 2)
- self.assertNumContains(sql, 'idx_tbsp', 0)
+ self.assertNumContains(sql, "tbl_tbsp", 2)
+ self.assertNumContains(sql, "idx_tbsp", 0)
sql = sql_for_index(Reviewers).lower()
# The ManyToManyField declares db_tablespace, its indexes go there.
- self.assertNumContains(sql, 'tbl_tbsp', 0)
- self.assertNumContains(sql, 'idx_tbsp', 2)
+ self.assertNumContains(sql, "tbl_tbsp", 0)
+ self.assertNumContains(sql, "idx_tbsp", 2)