From 487d0b12ca32c817a78329f55e2eb632ec5e333c Mon Sep 17 00:00:00 2001 From: Manuel Raynaud Date: Wed, 29 Apr 2026 08:50:10 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=85(backend)=20fix=20flaky=20search=20des?= =?UTF-8?q?cendants=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit One test about the search descendants test was flaky. It is because the link_reach and link_role were used to test the ancestors_link_(reach|role). The properties ancestors_link_reach and ancestors_link_role should be used instead. --- .../test_api_documents_search_descendants.py | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/src/backend/core/tests/documents/test_api_documents_search_descendants.py b/src/backend/core/tests/documents/test_api_documents_search_descendants.py index a97321bbe..df3f33636 100644 --- a/src/backend/core/tests/documents/test_api_documents_search_descendants.py +++ b/src/backend/core/tests/documents/test_api_documents_search_descendants.py @@ -68,8 +68,8 @@ def test_api_documents_search_descendants_list_anonymous_public_standalone(): }, { "abilities": child1.get_abilities(AnonymousUser()), - "ancestors_link_reach": document.link_reach, - "ancestors_link_role": document.link_role, + "ancestors_link_reach": child1.ancestors_link_reach, + "ancestors_link_role": child1.ancestors_link_role, "computed_link_reach": child1.computed_link_reach, "computed_link_role": child1.computed_link_role, "created_at": child1.created_at.isoformat().replace("+00:00", "Z"), @@ -91,10 +91,8 @@ def test_api_documents_search_descendants_list_anonymous_public_standalone(): }, { "abilities": grand_child.get_abilities(AnonymousUser()), - "ancestors_link_reach": document.link_reach, - "ancestors_link_role": document.link_role - if (child1.link_reach == "public" and child1.link_role == "editor") - else document.link_role, + "ancestors_link_reach": grand_child.ancestors_link_reach, + "ancestors_link_role": grand_child.ancestors_link_role, "computed_link_reach": "public", "computed_link_role": grand_child.computed_link_role, "created_at": grand_child.created_at.isoformat().replace("+00:00", "Z"), @@ -116,8 +114,8 @@ def test_api_documents_search_descendants_list_anonymous_public_standalone(): }, { "abilities": child2.get_abilities(AnonymousUser()), - "ancestors_link_reach": document.link_reach, - "ancestors_link_role": document.link_role, + "ancestors_link_reach": child2.ancestors_link_reach, + "ancestors_link_role": child2.ancestors_link_role, "computed_link_reach": "public", "computed_link_role": child2.computed_link_role, "created_at": child2.created_at.isoformat().replace("+00:00", "Z"), @@ -180,7 +178,7 @@ def test_api_documents_search_descendants_list_anonymous_public_parent(): # the search should include the parent document itself "abilities": document.get_abilities(AnonymousUser()), "ancestors_link_reach": "public", - "ancestors_link_role": grand_parent.link_role, + "ancestors_link_role": document.ancestors_link_role, "computed_link_reach": document.computed_link_reach, "computed_link_role": document.computed_link_role, "created_at": document.created_at.isoformat().replace("+00:00", "Z"), @@ -203,7 +201,7 @@ def test_api_documents_search_descendants_list_anonymous_public_parent(): { "abilities": child1.get_abilities(AnonymousUser()), "ancestors_link_reach": "public", - "ancestors_link_role": grand_parent.link_role, + "ancestors_link_role": child1.ancestors_link_role, "computed_link_reach": child1.computed_link_reach, "computed_link_role": child1.computed_link_role, "created_at": child1.created_at.isoformat().replace("+00:00", "Z"), @@ -249,7 +247,7 @@ def test_api_documents_search_descendants_list_anonymous_public_parent(): { "abilities": child2.get_abilities(AnonymousUser()), "ancestors_link_reach": "public", - "ancestors_link_role": grand_parent.link_role, + "ancestors_link_role": child2.ancestors_link_role, "computed_link_reach": "public", "computed_link_role": child2.computed_link_role, "created_at": child2.created_at.isoformat().replace("+00:00", "Z"), @@ -327,7 +325,7 @@ def test_api_documents_search_descendants_list_authenticated_unrelated_public_or { "abilities": child1.get_abilities(user), "ancestors_link_reach": reach, - "ancestors_link_role": document.link_role, + "ancestors_link_role": child1.ancestors_link_role, "computed_link_reach": child1.computed_link_reach, "computed_link_role": child1.computed_link_role, "created_at": child1.created_at.isoformat().replace("+00:00", "Z"), @@ -350,7 +348,7 @@ def test_api_documents_search_descendants_list_authenticated_unrelated_public_or { "abilities": grand_child.get_abilities(user), "ancestors_link_reach": reach, - "ancestors_link_role": document.link_role, + "ancestors_link_role": grand_child.ancestors_link_role, "computed_link_reach": grand_child.computed_link_reach, "computed_link_role": grand_child.computed_link_role, "created_at": grand_child.created_at.isoformat().replace("+00:00", "Z"), @@ -373,7 +371,7 @@ def test_api_documents_search_descendants_list_authenticated_unrelated_public_or { "abilities": child2.get_abilities(user), "ancestors_link_reach": reach, - "ancestors_link_role": document.link_role, + "ancestors_link_role": child2.ancestors_link_role, "computed_link_reach": child2.computed_link_reach, "computed_link_role": child2.computed_link_role, "created_at": child2.created_at.isoformat().replace("+00:00", "Z"), @@ -437,7 +435,7 @@ def test_api_documents_search_descendants_list_authenticated_public_or_authentic { "abilities": child1.get_abilities(user), "ancestors_link_reach": reach, - "ancestors_link_role": grand_parent.link_role, + "ancestors_link_role": child1.ancestors_link_role, "computed_link_reach": child1.computed_link_reach, "computed_link_role": child1.computed_link_role, "created_at": child1.created_at.isoformat().replace("+00:00", "Z"), @@ -460,7 +458,7 @@ def test_api_documents_search_descendants_list_authenticated_public_or_authentic { "abilities": grand_child.get_abilities(user), "ancestors_link_reach": reach, - "ancestors_link_role": grand_parent.link_role, + "ancestors_link_role": grand_child.ancestors_link_role, "computed_link_reach": grand_child.computed_link_reach, "computed_link_role": grand_child.computed_link_role, "created_at": grand_child.created_at.isoformat().replace("+00:00", "Z"), @@ -483,7 +481,7 @@ def test_api_documents_search_descendants_list_authenticated_public_or_authentic { "abilities": child2.get_abilities(user), "ancestors_link_reach": reach, - "ancestors_link_role": grand_parent.link_role, + "ancestors_link_role": child2.ancestors_link_role, "computed_link_reach": child2.computed_link_reach, "computed_link_role": child2.computed_link_role, "created_at": child2.created_at.isoformat().replace("+00:00", "Z"),