diff options
| author | Adam Johnson <me@adamj.eu> | 2017-07-11 10:53:22 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-07-11 13:12:17 -0400 |
| commit | f816ceedf1ae13bec22363f6d78de53d3f60c3e9 (patch) | |
| tree | a29b125901648d3cf324baab1b2aad5b73962240 /tests/invalid_models_tests/test_ordinary_fields.py | |
| parent | 169c3b3e07829d9ffa409b6eb5c1094d8ef918a8 (diff) | |
Made assertions in invalid_models_tests consistent.
Diffstat (limited to 'tests/invalid_models_tests/test_ordinary_fields.py')
| -rw-r--r-- | tests/invalid_models_tests/test_ordinary_fields.py | 161 |
1 files changed, 53 insertions, 108 deletions
diff --git a/tests/invalid_models_tests/test_ordinary_fields.py b/tests/invalid_models_tests/test_ordinary_fields.py index cad375aae5..d06f6dd689 100644 --- a/tests/invalid_models_tests/test_ordinary_fields.py +++ b/tests/invalid_models_tests/test_ordinary_fields.py @@ -15,9 +15,7 @@ class AutoFieldTests(SimpleTestCase): id = models.AutoField(primary_key=True) field = Model._meta.get_field('id') - errors = field.check() - expected = [] - self.assertEqual(errors, expected) + self.assertEqual(field.check(), []) def test_primary_key(self): # primary_key must be True. Refs #12467. @@ -30,15 +28,13 @@ class AutoFieldTests(SimpleTestCase): another = models.IntegerField(primary_key=True) field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( 'AutoFields must set primary_key=True.', obj=field, id='fields.E100', ), - ] - self.assertEqual(errors, expected) + ]) @isolate_apps('invalid_models_tests') @@ -49,16 +45,14 @@ class BooleanFieldTests(SimpleTestCase): field = models.BooleanField(null=True) field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( 'BooleanFields do not accept null values.', hint='Use a NullBooleanField instead.', obj=field, id='fields.E110', ), - ] - self.assertEqual(errors, expected) + ]) @isolate_apps('invalid_models_tests') @@ -75,99 +69,85 @@ class CharFieldTests(TestCase): db_index=True) field = Model._meta.get_field('field') - errors = field.check() - expected = [] - self.assertEqual(errors, expected) + self.assertEqual(field.check(), []) def test_missing_max_length(self): class Model(models.Model): field = models.CharField() field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "CharFields must define a 'max_length' attribute.", obj=field, id='fields.E120', ), - ] - self.assertEqual(errors, expected) + ]) def test_negative_max_length(self): class Model(models.Model): field = models.CharField(max_length=-1) field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "'max_length' must be a positive integer.", obj=field, id='fields.E121', ), - ] - self.assertEqual(errors, expected) + ]) def test_bad_max_length_value(self): class Model(models.Model): field = models.CharField(max_length="bad") field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "'max_length' must be a positive integer.", obj=field, id='fields.E121', ), - ] - self.assertEqual(errors, expected) + ]) def test_str_max_length_value(self): class Model(models.Model): field = models.CharField(max_length='20') field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "'max_length' must be a positive integer.", obj=field, id='fields.E121', ), - ] - self.assertEqual(errors, expected) + ]) def test_str_max_length_type(self): class Model(models.Model): field = models.CharField(max_length=True) field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "'max_length' must be a positive integer.", obj=field, id='fields.E121' ), - ] - self.assertEqual(errors, expected) + ]) def test_non_iterable_choices(self): class Model(models.Model): field = models.CharField(max_length=10, choices='bad') field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "'choices' must be an iterable (e.g., a list or tuple).", obj=field, id='fields.E004', ), - ] - self.assertEqual(errors, expected) + ]) def test_iterable_of_iterable_choices(self): class ThingItem: @@ -195,30 +175,26 @@ class CharFieldTests(TestCase): field = models.CharField(max_length=10, choices=[(1, 2, 3), (1, 2, 3)]) field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "'choices' must be an iterable containing (actual value, human readable name) tuples.", obj=field, id='fields.E005', ), - ] - self.assertEqual(errors, expected) + ]) def test_bad_db_index_value(self): class Model(models.Model): field = models.CharField(max_length=10, db_index='bad') field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "'db_index' must be None, True or False.", obj=field, id='fields.E006', ), - ] - self.assertEqual(errors, expected) + ]) def test_bad_validators(self): class Model(models.Model): @@ -247,19 +223,18 @@ class CharFieldTests(TestCase): field = Model._meta.get_field('field') validator = DatabaseValidation(connection=connection) - errors = validator.check_field(field) - expected = [ + self.assertEqual(validator.check_field(field), [ Error( 'MySQL does not allow unique CharFields to have a max_length > 255.', obj=field, id='mysql.E001', ) - ] - self.assertEqual(errors, expected) + ]) @isolate_apps('invalid_models_tests') class DateFieldTests(TestCase): + maxDiff = None def test_auto_now_and_auto_now_add_raise_error(self): class Model(models.Model): @@ -294,7 +269,7 @@ class DateFieldTests(TestCase): errors = field_dt.check() errors.extend(field_d.check()) errors.extend(field_now.check()) # doesn't raise a warning - expected = [ + self.assertEqual(errors, [ DjangoWarning( 'Fixed default value provided.', hint='It seems you set a fixed date / time / datetime ' @@ -313,11 +288,7 @@ class DateFieldTests(TestCase): obj=field_d, id='fields.W161', ) - ] - maxDiff = self.maxDiff - self.maxDiff = None - self.assertEqual(errors, expected) - self.maxDiff = maxDiff + ]) @override_settings(USE_TZ=True) def test_fix_default_value_tz(self): @@ -326,6 +297,7 @@ class DateFieldTests(TestCase): @isolate_apps('invalid_models_tests') class DateTimeFieldTests(TestCase): + maxDiff = None def test_fix_default_value(self): class Model(models.Model): @@ -339,7 +311,7 @@ class DateTimeFieldTests(TestCase): errors = field_dt.check() errors.extend(field_d.check()) errors.extend(field_now.check()) # doesn't raise a warning - expected = [ + self.assertEqual(errors, [ DjangoWarning( 'Fixed default value provided.', hint='It seems you set a fixed date / time / datetime ' @@ -358,11 +330,7 @@ class DateTimeFieldTests(TestCase): obj=field_d, id='fields.W161', ) - ] - maxDiff = self.maxDiff - self.maxDiff = None - self.assertEqual(errors, expected) - self.maxDiff = maxDiff + ]) @override_settings(USE_TZ=True) def test_fix_default_value_tz(self): @@ -377,8 +345,7 @@ class DecimalFieldTests(SimpleTestCase): field = models.DecimalField() field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "DecimalFields must define a 'decimal_places' attribute.", obj=field, @@ -389,16 +356,14 @@ class DecimalFieldTests(SimpleTestCase): obj=field, id='fields.E132', ), - ] - self.assertEqual(errors, expected) + ]) def test_negative_max_digits_and_decimal_places(self): class Model(models.Model): field = models.DecimalField(max_digits=-1, decimal_places=-1) field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "'decimal_places' must be a non-negative integer.", obj=field, @@ -409,16 +374,14 @@ class DecimalFieldTests(SimpleTestCase): obj=field, id='fields.E133', ), - ] - self.assertEqual(errors, expected) + ]) def test_bad_values_of_max_digits_and_decimal_places(self): class Model(models.Model): field = models.DecimalField(max_digits="bad", decimal_places="bad") field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "'decimal_places' must be a non-negative integer.", obj=field, @@ -429,32 +392,27 @@ class DecimalFieldTests(SimpleTestCase): obj=field, id='fields.E133', ), - ] - self.assertEqual(errors, expected) + ]) def test_decimal_places_greater_than_max_digits(self): class Model(models.Model): field = models.DecimalField(max_digits=9, decimal_places=10) field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "'max_digits' must be greater or equal to 'decimal_places'.", obj=field, id='fields.E134', ), - ] - self.assertEqual(errors, expected) + ]) def test_valid_field(self): class Model(models.Model): field = models.DecimalField(max_digits=10, decimal_places=10) field = Model._meta.get_field('field') - errors = field.check() - expected = [] - self.assertEqual(errors, expected) + self.assertEqual(field.check(), []) @isolate_apps('invalid_models_tests') @@ -471,24 +429,20 @@ class FileFieldTests(SimpleTestCase): field = models.FileField(upload_to='somewhere') field = Model._meta.get_field('field') - errors = field.check() - expected = [] - self.assertEqual(errors, expected) + self.assertEqual(field.check(), []) def test_primary_key(self): class Model(models.Model): field = models.FileField(primary_key=False, upload_to='somewhere') field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "'primary_key' is not a valid argument for a FileField.", obj=field, id='fields.E201', ) - ] - self.assertEqual(errors, expected) + ]) def test_upload_to_starts_with_slash(self): class Model(models.Model): @@ -524,15 +478,13 @@ class FilePathFieldTests(SimpleTestCase): field = models.FilePathField(allow_files=False, allow_folders=False) field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( "FilePathFields must have either 'allow_files' or 'allow_folders' set to True.", obj=field, id='fields.E140', ), - ] - self.assertEqual(errors, expected) + ]) @isolate_apps('invalid_models_tests') @@ -543,16 +495,14 @@ class GenericIPAddressFieldTests(SimpleTestCase): field = models.GenericIPAddressField(null=False, blank=True) field = Model._meta.get_field('field') - errors = field.check() - expected = [ + self.assertEqual(field.check(), [ Error( ('GenericIPAddressFields cannot have blank=True if null=False, ' 'as blank values are stored as nulls.'), obj=field, id='fields.E150', ), - ] - self.assertEqual(errors, expected) + ]) @isolate_apps('invalid_models_tests') @@ -590,21 +540,20 @@ class IntegerFieldTests(SimpleTestCase): class Model(models.Model): value = models.IntegerField(max_length=2) - value = Model._meta.get_field('value') - errors = Model.check() - expected = [ + field = Model._meta.get_field('value') + self.assertEqual(field.check(), [ DjangoWarning( "'max_length' is ignored when used with IntegerField", hint="Remove 'max_length' from field", - obj=value, + obj=field, id='fields.W122', ) - ] - self.assertEqual(errors, expected) + ]) @isolate_apps('invalid_models_tests') class TimeFieldTests(TestCase): + maxDiff = None def test_fix_default_value(self): class Model(models.Model): @@ -618,7 +567,7 @@ class TimeFieldTests(TestCase): errors = field_dt.check() errors.extend(field_t.check()) errors.extend(field_now.check()) # doesn't raise a warning - expected = [ + self.assertEqual(errors, [ DjangoWarning( 'Fixed default value provided.', hint='It seems you set a fixed date / time / datetime ' @@ -637,11 +586,7 @@ class TimeFieldTests(TestCase): obj=field_t, id='fields.W161', ) - ] - maxDiff = self.maxDiff - self.maxDiff = None - self.assertEqual(errors, expected) - self.maxDiff = maxDiff + ]) @override_settings(USE_TZ=True) def test_fix_default_value_tz(self): |
