From 5529ac851e93c8f37d43377a3522da525e05fb82 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 11 Sep 2025 22:33:20 -0700 Subject: [PATCH] Add test for invalid tag hierarchy recursion error --- src/documents/tests/test_tag_hierarchy.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/documents/tests/test_tag_hierarchy.py b/src/documents/tests/test_tag_hierarchy.py index accf8f85b..a1dc3776d 100644 --- a/src/documents/tests/test_tag_hierarchy.py +++ b/src/documents/tests/test_tag_hierarchy.py @@ -1,6 +1,7 @@ from unittest import mock from django.contrib.auth.models import User +from django.core.exceptions import ValidationError from rest_framework.test import APITestCase from documents import bulk_edit @@ -191,3 +192,14 @@ class TestTagHierarchy(APITestCase): assert resp_ok.status_code in (200, 202) x.refresh_from_db() assert x.parent_id == c.id + + def test_invalid_hierarchy_recursion_error(self): + t = Tag.objects.create(name="TagA") + + with mock.patch( + "documents.models.Tag.subtree_height", + side_effect=RecursionError, + ): + with self.assertRaises(ValidationError) as cm: + t.clean() + assert "Invalid tag hierarchy" in str(cm.exception)