Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion reflex/plugins/sitemap.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,11 @@ def generate_links_for_sitemap(
links: list[SitemapLink] = []

for page in unevaluated_pages:
sitemap_config: SitemapLinkConfiguration = page.context.get("sitemap", {})
sitemap_config: SitemapLinkConfiguration | None = page.context.get(
"sitemap", {}
)
if sitemap_config is None:
continue

if is_route_dynamic(page.route) or page.route == "404":
if not sitemap_config:
Expand Down
39 changes: 39 additions & 0 deletions tests/units/plugins/test_sitemap.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,45 @@ def mock_component():
)


@patch("reflex.config.get_config")
def test_generate_links_for_sitemap_opt_out(mock_get_config: MagicMock):
"""Test generate_links_for_sitemap with sitemap set to None.

Args:
mock_get_config: Mock for the get_config function.
"""
mock_get_config.return_value.deploy_url = None # No deploy URL

def mock_component():
return rx.text("Unlisted")

pages = [
UnevaluatedPage(
component=mock_component,
route="unlisted",
title=None,
description=None,
image="favicon.ico",
on_load=None,
meta=[],
context={"sitemap": None},
),
UnevaluatedPage(
component=mock_component,
route="listed",
title=None,
description=None,
image="favicon.ico",
on_load=None,
meta=[],
context={},
),
]
links = generate_links_for_sitemap(pages)
assert len(links) == 1
assert {"loc": "/listed"} in links


@patch("reflex.config.get_config")
def test_generate_links_for_sitemap_loc_override(mock_get_config: MagicMock):
"""Test generate_links_for_sitemap with loc override in sitemap config.
Expand Down
Loading