From 6b0027688b5b6753c3cce207435bb530769d9f47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrei=20Pr=C4=83dan?= Date: Tue, 7 Feb 2017 19:41:57 +0200 Subject: [PATCH] serialisers.UUIDField with Boolean value not raising "invalid UUID" exeption --- rest_framework/fields.py | 2 ++ tests/test_fields.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index f46edef1e..abebeb2ef 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -827,6 +827,8 @@ class UUIDField(Field): if not isinstance(data, uuid.UUID): try: if isinstance(data, six.integer_types): + # if isinstance(data, bool): + # self.fail('invalid', value=data) return uuid.UUID(int=data) elif isinstance(data, six.string_types): return uuid.UUID(hex=data) diff --git a/tests/test_fields.py b/tests/test_fields.py index 16221d4cc..da923da38 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -731,7 +731,8 @@ class TestUUIDField(FieldValues): } invalid_inputs = { '825d7aeb-05a9-45b5-a5b7': ['"825d7aeb-05a9-45b5-a5b7" is not a valid UUID.'], - (1, 2, 3): ['"(1, 2, 3)" is not a valid UUID.'] + (1, 2, 3): ['"(1, 2, 3)" is not a valid UUID.'], + True: ['"True" is not a valid UUID.'], } outputs = { uuid.UUID('825d7aeb-05a9-45b5-a5b7-05df87923cda'): '825d7aeb-05a9-45b5-a5b7-05df87923cda'