A proper check of UuidType

The validation method of the UuidType should return a valid value.

Change-Id: I0964f3b2a046df48cdf200d7896c60f331789eac
This commit is contained in:
Ilya Kharin 2014-02-26 19:22:01 +04:00
parent 228bfbd084
commit e896a74163
2 changed files with 5 additions and 3 deletions

View File

@ -345,8 +345,10 @@ Value: 'v3'. Value should be one of: v., v.",
def test_validate_uuid_type(self):
v = types.UuidType()
v.validate('6a0a707c-45ef-4758-b533-e55adddba8ce')
v.validate('6a0a707c45ef4758b533e55adddba8ce')
self.assertEqual(v.validate('6a0a707c-45ef-4758-b533-e55adddba8ce'),
'6a0a707c-45ef-4758-b533-e55adddba8ce')
self.assertEqual(v.validate('6a0a707c45ef4758b533e55adddba8ce'),
'6a0a707c-45ef-4758-b533-e55adddba8ce')
self.assertRaises(ValueError, v.validate, '')
self.assertRaises(ValueError, v.validate, 'foo')
self.assertRaises(ValueError, v.validate,

View File

@ -270,7 +270,7 @@ class UuidType(UserType):
@staticmethod
def validate(value):
try:
uuid.UUID(value)
return six.text_type((uuid.UUID(value)))
except (TypeError, ValueError, AttributeError):
error = 'Value should be UUID format'
raise ValueError(error)