diff options
author | Cedric Brandily <zzelle@gmail.com> | 2014-12-26 16:22:24 +0100 |
---|---|---|
committer | Cedric Brandily <zzelle@gmail.com> | 2014-12-26 16:22:24 +0100 |
commit | 626368a9a9f76992cb18dffa25d0f4dac000164a (patch) | |
tree | 705a404d59351c4cff0774368564b247cee28fb7 | |
parent | 2081aa9cdeb41b86e0f58556a20c09f46835a82b (diff) | |
download | oslo-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.py | 3 | ||||
-rw-r--r-- | tests/test_uuidutils.py | 3 |
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)) |