at master 1.2 kB view raw
1{ 2 name = "freshrss-extensions"; 3 4 nodes.machine = 5 { pkgs, ... }: 6 { 7 services.freshrss = { 8 enable = true; 9 baseUrl = "http://localhost"; 10 authType = "none"; 11 extensions = [ 12 pkgs.freshrss-extensions.youtube 13 pkgs.freshrss-extensions.title-wrap 14 ]; 15 }; 16 }; 17 extraPythonPackages = p: [ 18 p.lxml 19 p.lxml-stubs 20 ]; 21 skipTypeCheck = true; 22 23 testScript = '' 24 machine.wait_for_unit("multi-user.target") 25 machine.wait_for_open_port(80) 26 response = machine.succeed("curl -s http://localhost:80/i/?c=extension") 27 assert '<span class="ext_name disabled">YouTube Video Feed</span>' in response, "Extension not present in extensions page." 28 29 # enable Title-Wrap extension 30 from lxml import etree 31 tree = etree.HTML(response) 32 csrf = tree.xpath("/html/body/header/nav/form/input/@value")[0] 33 response = machine.succeed(f"curl --fail-with-body -s 'http://localhost:80/i/?c=extension&a=enable&e=Title-Wrap' -d '_csrf={csrf}'") 34 # verify that the Title-Wrap css is accessible. 35 machine.succeed("curl --fail-with-body -s 'http://localhost:80/ext.php?1=&f=xExtension-TitleWrap/static/title_wrap.css'") 36 ''; 37}