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/model_options | |
parent | f68fa8b45dfac545cfc4111d4e52804c86db68d3 (diff) | |
download | django-9c19aff7c7561e3a82978a272ecdaad40dda5c00.tar.gz |
Refs #33476 -- Reformatted code with Black.
Diffstat (limited to 'tests/model_options')
-rw-r--r-- | tests/model_options/apps.py | 16 | ||||
-rw-r--r-- | tests/model_options/models/tablespaces.py | 30 | ||||
-rw-r--r-- | tests/model_options/test_default_pk.py | 50 | ||||
-rw-r--r-- | tests/model_options/test_default_related_name.py | 9 | ||||
-rw-r--r-- | tests/model_options/test_tablespaces.py | 75 |
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) |