diff options
Diffstat (limited to 'tests/model_fields')
| -rw-r--r-- | tests/model_fields/test_uuid.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/model_fields/test_uuid.py b/tests/model_fields/test_uuid.py index 6b6af3ea7e..40fc82812f 100644 --- a/tests/model_fields/test_uuid.py +++ b/tests/model_fields/test_uuid.py @@ -64,6 +64,22 @@ class TestMethods(SimpleTestCase): def test_to_python(self): self.assertIsNone(models.UUIDField().to_python(None)) + def test_to_python_int_values(self): + self.assertEqual( + models.UUIDField().to_python(0), + uuid.UUID('00000000-0000-0000-0000-000000000000') + ) + # Works for integers less than 128 bits. + self.assertEqual( + models.UUIDField().to_python((2 ** 128) - 1), + uuid.UUID('ffffffff-ffff-ffff-ffff-ffffffffffff') + ) + + def test_to_python_int_too_large(self): + # Fails for integers larger than 128 bits. + with self.assertRaises(exceptions.ValidationError): + models.UUIDField().to_python(2 ** 128) + class TestQuerying(TestCase): def setUp(self): |
