summaryrefslogtreecommitdiff
path: root/tests/invalid_models_tests/test_ordinary_fields.py
diff options
context:
space:
mode:
authorHasan Ramezani <hasan.r67@gmail.com>2019-03-17 21:47:21 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-03-25 20:04:35 +0100
commit981dd6dd71ea80e5149c2eff564622e96c12b5be (patch)
treecf778f7862805def6a46f9ffd29e8a2dde7d1de7 /tests/invalid_models_tests/test_ordinary_fields.py
parentdc53f2135b341ef0b6203ecb0a1894cdbd174a9c (diff)
Fixed #28431 -- Added a system check for BinaryField to prevent strings defaults.
Thanks Claude Paroz for the initial patch.
Diffstat (limited to 'tests/invalid_models_tests/test_ordinary_fields.py')
-rw-r--r--tests/invalid_models_tests/test_ordinary_fields.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/invalid_models_tests/test_ordinary_fields.py b/tests/invalid_models_tests/test_ordinary_fields.py
index a106ab175a..b1a289c977 100644
--- a/tests/invalid_models_tests/test_ordinary_fields.py
+++ b/tests/invalid_models_tests/test_ordinary_fields.py
@@ -40,6 +40,33 @@ class AutoFieldTests(SimpleTestCase):
@isolate_apps('invalid_models_tests')
+class BinaryFieldTests(SimpleTestCase):
+
+ def test_valid_default_value(self):
+ class Model(models.Model):
+ field1 = models.BinaryField(default=b'test')
+ field2 = models.BinaryField(default=None)
+
+ for field_name in ('field1', 'field2'):
+ field = Model._meta.get_field(field_name)
+ self.assertEqual(field.check(), [])
+
+ def test_str_default_value(self):
+ class Model(models.Model):
+ field = models.BinaryField(default='test')
+
+ field = Model._meta.get_field('field')
+ self.assertEqual(field.check(), [
+ Error(
+ "BinaryField's default cannot be a string. Use bytes content "
+ "instead.",
+ obj=field,
+ id='fields.E170',
+ ),
+ ])
+
+
+@isolate_apps('invalid_models_tests')
class CharFieldTests(SimpleTestCase):
def test_valid_field(self):