From 1ed7871efedd3cdf8b8bc0e07e92e9e7df1884b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Vinot?= Date: Tue, 4 Mar 2025 16:15:12 +0100 Subject: [PATCH] new: Validate all UUIDv5 as per spec. --- tests/tests.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/tests.py b/tests/tests.py index 15b797d..6d27524 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -3,6 +3,8 @@ import json import unittest +import uuid + from pytaxonomies import Taxonomies import pytaxonomies.api @@ -85,6 +87,17 @@ def test_recreate_dump(self): def test_validate_schema(self): self.taxonomies_offline.validate_with_schema() + def test_validate_uuid5(self): + for taxonomy in self.taxonomies_offline.values(): + expected_namespace_uuid = uuid.uuid5(uuid.NAMESPACE_DNS, taxonomy.name) + self.assertEqual(taxonomy.uuid, str(expected_namespace_uuid)) + for predicate in taxonomy.predicates.values(): + expected_predicate_uuid = uuid.uuid5(uuid.NAMESPACE_DNS, f'{taxonomy.name}:{predicate.predicate}') + self.assertEqual(predicate.uuid, str(expected_predicate_uuid)) + for entry in predicate.entries.values(): + expected_entry_uuid = uuid.uuid5(uuid.NAMESPACE_DNS, f'{taxonomy.name}:{predicate.predicate}="{entry.value}"') + self.assertEqual(entry.uuid, str(expected_entry_uuid)) + if __name__ == "__main__": unittest.main()