diff --git a/app/utility/base_world.py b/app/utility/base_world.py index 5fe028aa7..acdf6cc58 100644 --- a/app/utility/base_world.py +++ b/app/utility/base_world.py @@ -125,7 +125,7 @@ def is_base64(s): @staticmethod def is_uuid4(s): - if BaseWorld.re_base64.match(s): + if BaseWorld.re_base64.fullmatch(s): return True return False diff --git a/tests/utility/test_base_world.py b/tests/utility/test_base_world.py index e9ecc0307..00d599e10 100644 --- a/tests/utility/test_base_world.py +++ b/tests/utility/test_base_world.py @@ -91,3 +91,12 @@ def test_is_not_base64(self): def test_is_base64(self): b64str = 'aGVsbG8gd29ybGQgZnJvbSB1bml0IHRlc3QgbGFuZAo=' assert BaseWorld.is_base64(b64str) + + def test_is_uuid4(self): + assert BaseWorld.is_uuid4('a3f1c2d4-5b6e-4f7a-8c9d-0e1f2a3b4c5d') + + def test_is_not_uuid4(self): + assert not BaseWorld.is_uuid4('not a uuid') + + def test_is_not_uuid4_with_trailing_characters(self): + assert not BaseWorld.is_uuid4('a3f1c2d4-5b6e-4f7a-8c9d-0e1f2a3b4c5d-extra')