"""Steward never downloads plugins (Plugin System ruling, 2026-10-08, #5374). First-party plugins ship in the image; a third-party plugin is a folder the operator mounts in /data/plugins. So there is no catalog to fetch, no repository to configure and no install route: each guard below names one of those and fails if it comes back. """ from steward.core.settings import DEFAULTS def test_no_route_fetches_lists_or_installs_plugins(app): rules = [r.rule for r in app.url_map.iter_rules()] assert any(r.startswith("/settings/plugins/") for r in rules) # the page itself is still there for gone in ("/settings/plugins/catalog", "/settings/plugins/install", "/settings/plugins/repos", "/settings/plugins/reload"): assert not [r for r in rules if r.startswith(gone)], gone def test_no_default_names_a_catalog(): assert not [k for k in DEFAULTS if k.startswith("plugins.")] def test_no_scheduled_task_fetches_a_catalog(app): from steward.app import _register_core_tasks _register_core_tasks(app) names = [t.name for t in app._task_registry] assert names and "plugin_catalog_refresh" not in names