From 611e7f6d173c8f942b10d1cb581e8f8268411377 Mon Sep 17 00:00:00 2001 From: Stephen Zhou <38493346+hyoban@users.noreply.github.com> Date: Thu, 3 Sep 2026 16:49:44 +0800 Subject: [PATCH] test(knowledge-fs): allow canonical crawl duplicates --- ...test_knowledge_fs_initial_source_reliability.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/api/tests/unit_tests/services/test_knowledge_fs_initial_source_reliability.py b/api/tests/unit_tests/services/test_knowledge_fs_initial_source_reliability.py index a4a66b465fa..8b9ff2aa5c7 100644 --- a/api/tests/unit_tests/services/test_knowledge_fs_initial_source_reliability.py +++ b/api/tests/unit_tests/services/test_knowledge_fs_initial_source_reliability.py @@ -28,11 +28,15 @@ def test_initial_website_selection_populates_stable_canonical_urls() -> None: ] -def test_initial_website_selection_rejects_canonical_duplicates() -> None: - with pytest.raises(ValidationError, match="canonical URLs must be unique"): - KnowledgeFSInitialWebsiteSourcePayload.model_validate( - _payload(urls=["https://docs.dify.ai/a/", "https://DOCS.dify.ai:443/a#section"]) - ) +def test_initial_website_selection_preserves_canonical_duplicates() -> None: + payload = KnowledgeFSInitialWebsiteSourcePayload.model_validate( + _payload(urls=["https://docs.dify.ai/a/", "https://DOCS.dify.ai:443/a#section"]) + ) + + assert [item.canonical_url for item in payload.selection] == [ + "https://docs.dify.ai/a", + "https://docs.dify.ai/a", + ] def test_initial_website_selection_requires_crawl_limit_to_cover_selection() -> None: