test_uuidfield.py 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. import uuid
  2. from django.core.exceptions import ValidationError
  3. from django.forms import UUIDField
  4. from django.test import SimpleTestCase
  5. class UUIDFieldTest(SimpleTestCase):
  6. def test_uuidfield_1(self):
  7. field = UUIDField()
  8. value = field.clean('550e8400e29b41d4a716446655440000')
  9. self.assertEqual(value, uuid.UUID('550e8400e29b41d4a716446655440000'))
  10. def test_clean_value_with_dashes(self):
  11. field = UUIDField()
  12. value = field.clean('550e8400-e29b-41d4-a716-446655440000')
  13. self.assertEqual(value, uuid.UUID('550e8400e29b41d4a716446655440000'))
  14. def test_uuidfield_2(self):
  15. field = UUIDField(required=False)
  16. value = field.clean('')
  17. self.assertIsNone(value)
  18. def test_uuidfield_3(self):
  19. field = UUIDField()
  20. with self.assertRaisesMessage(ValidationError, 'Enter a valid UUID.'):
  21. field.clean('550e8400')
  22. def test_uuidfield_4(self):
  23. field = UUIDField()
  24. value = field.prepare_value(uuid.UUID('550e8400e29b41d4a716446655440000'))
  25. self.assertEqual(value, '550e8400-e29b-41d4-a716-446655440000')