summaryrefslogtreecommitdiff
path: root/tests/model_fields/test_binaryfield.py
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2016-03-21 21:06:54 -0400
committerTim Graham <timograham@gmail.com>2016-03-23 19:31:47 -0400
commit3c1b572f1815c295878795b183b1957d0df2ca39 (patch)
tree61397fc7b086f99e2e76d0eba0b568f1124ccd3e /tests/model_fields/test_binaryfield.py
parent14e6823d090a077d27f9f7caff2d505db31e55a7 (diff)
Split model_fields tests into different files.
Diffstat (limited to 'tests/model_fields/test_binaryfield.py')
-rw-r--r--tests/model_fields/test_binaryfield.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/model_fields/test_binaryfield.py b/tests/model_fields/test_binaryfield.py
new file mode 100644
index 0000000000..641dc17287
--- /dev/null
+++ b/tests/model_fields/test_binaryfield.py
@@ -0,0 +1,28 @@
+from django.core.exceptions import ValidationError
+from django.test import TestCase
+from django.utils import six
+
+from .models import DataModel
+
+
+class BinaryFieldTests(TestCase):
+ binary_data = b'\x00\x46\xFE'
+
+ def test_set_and_retrieve(self):
+ data_set = (self.binary_data, six.memoryview(self.binary_data))
+ for bdata in data_set:
+ dm = DataModel(data=bdata)
+ dm.save()
+ dm = DataModel.objects.get(pk=dm.pk)
+ self.assertEqual(bytes(dm.data), bytes(bdata))
+ # Resave (=update)
+ dm.save()
+ dm = DataModel.objects.get(pk=dm.pk)
+ self.assertEqual(bytes(dm.data), bytes(bdata))
+ # Test default value
+ self.assertEqual(bytes(dm.short_data), b'\x08')
+
+ def test_max_length(self):
+ dm = DataModel(short_data=self.binary_data * 4)
+ with self.assertRaises(ValidationError):
+ dm.full_clean()