diff --git a/nixos/modules/services/web-apps/freshrss.nix b/nixos/modules/services/web-apps/freshrss.nix index 1cacfdcbac95..786961827312 100644 --- a/nixos/modules/services/web-apps/freshrss.nix +++ b/nixos/modules/services/web-apps/freshrss.nix @@ -18,7 +18,7 @@ let DATA_PATH = cfg.dataDir; } // lib.optionalAttrs (cfg.extensions != [ ]) { - THIRDPARTY_EXTENSIONS_PATH = "${extension-env}/share/freshrss/"; + THIRDPARTY_EXTENSIONS_PATH = "${extension-env}/share/freshrss"; }; in { diff --git a/nixos/tests/freshrss/extensions.nix b/nixos/tests/freshrss/extensions.nix index 8b0d306e6b01..d956d4fe32fb 100644 --- a/nixos/tests/freshrss/extensions.nix +++ b/nixos/tests/freshrss/extensions.nix @@ -8,14 +8,30 @@ enable = true; baseUrl = "http://localhost"; authType = "none"; - extensions = [ pkgs.freshrss-extensions.youtube ]; + extensions = [ + pkgs.freshrss-extensions.youtube + pkgs.freshrss-extensions.title-wrap + ]; }; }; + extraPythonPackages = p: [ + p.lxml + p.lxml-stubs + ]; + skipTypeCheck = true; testScript = '' machine.wait_for_unit("multi-user.target") machine.wait_for_open_port(80) - response = machine.succeed("curl -vvv -s http://localhost:80/i/?c=extension") + response = machine.succeed("curl -s http://localhost:80/i/?c=extension") assert 'YouTube Video Feed' in response, "Extension not present in extensions page." + + # enable Title-Wrap extension + from lxml import etree + tree = etree.HTML(response) + csrf = tree.xpath("/html/body/header/nav/form/input/@value")[0] + response = machine.succeed(f"curl --fail-with-body -s 'http://localhost:80/i/?c=extension&a=enable&e=Title-Wrap' -d '_csrf={csrf}'") + # verify that the Title-Wrap css is accessible. + machine.succeed("curl --fail-with-body -s 'http://localhost:80/ext.php?1=&f=xExtension-TitleWrap/static/title_wrap.css'") ''; }