From 3c1b572f1815c295878795b183b1957d0df2ca39 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Mon, 21 Mar 2016 21:06:54 -0400 Subject: Split model_fields tests into different files. --- tests/model_fields/test_binaryfield.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tests/model_fields/test_binaryfield.py (limited to 'tests/model_fields/test_binaryfield.py') 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() -- cgit v1.3