summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCedric Brandily <zzelle@gmail.com>2014-12-26 16:22:24 +0100
committerCedric Brandily <zzelle@gmail.com>2014-12-26 16:22:24 +0100
commit626368a9a9f76992cb18dffa25d0f4dac000164a (patch)
tree705a404d59351c4cff0774368564b247cee28fb7
parent2081aa9cdeb41b86e0f58556a20c09f46835a82b (diff)
downloadoslo-utils-626368a9a9f76992cb18dffa25d0f4dac000164a.tar.gz
Support non-lowercase uuids in is_uuid_like
According to RFC 4122 (on uuid), uuids are case insensitive but currently is_uuid_like returns False if the input is a non-lowercase string. This change adds non-lowercase uuid support in is_uuid_like. Change-Id: Ie017e183c3ee36b8dea9c1aa82cdb697c26bbf17 Closes-Bug: #1405624
-rw-r--r--oslo/utils/uuidutils.py3
-rw-r--r--tests/test_uuidutils.py3
2 files changed, 5 insertions, 1 deletions
diff --git a/oslo/utils/uuidutils.py b/oslo/utils/uuidutils.py
index 52c1ded..62b0b5f 100644
--- a/oslo/utils/uuidutils.py
+++ b/oslo/utils/uuidutils.py
@@ -28,7 +28,8 @@ def _format_uuid_string(string):
return (string.replace('urn:', '')
.replace('uuid:', '')
.strip('{}')
- .replace('-', ''))
+ .replace('-', '')
+ .lower())
def is_uuid_like(val):
diff --git a/tests/test_uuidutils.py b/tests/test_uuidutils.py
index 14512e0..63e5551 100644
--- a/tests/test_uuidutils.py
+++ b/tests/test_uuidutils.py
@@ -44,6 +44,9 @@ class UUIDUtilsTest(test_base.BaseTestCase):
self.assertTrue(uuidutils.is_uuid_like(
'{}---bbb---aaa--aaa--aaa-----aaa---aaa--bbb-bbb---bbb-bbb-bb-{}'))
+ def test_is_uuid_like_insensitive(self):
+ self.assertTrue(uuidutils.is_uuid_like(str(uuid.uuid4()).upper()))
+
def test_id_is_uuid_like(self):
self.assertFalse(uuidutils.is_uuid_like(1234567))