diff options
| author | Tim Graham <timograham@gmail.com> | 2016-03-21 21:06:54 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-03-23 19:31:47 -0400 |
| commit | 3c1b572f1815c295878795b183b1957d0df2ca39 (patch) | |
| tree | 61397fc7b086f99e2e76d0eba0b568f1124ccd3e /tests/model_fields/test_binaryfield.py | |
| parent | 14e6823d090a077d27f9f7caff2d505db31e55a7 (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.py | 28 |
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() |
