at 24.11-pre 1.3 kB view raw
1import ./make-test-python.nix ({ lib, pkgs, ... }: { 2 name = "freshrss"; 3 meta.maintainers = with lib.maintainers; [ etu stunkymonkey ]; 4 5 nodes.machine = { pkgs, ... }: { 6 services.freshrss = { 7 enable = true; 8 baseUrl = "http://localhost"; 9 passwordFile = pkgs.writeText "password" "secret"; 10 dataDir = "/srv/freshrss"; 11 database = { 12 type = "pgsql"; 13 port = 5432; 14 user = "freshrss"; 15 passFile = pkgs.writeText "db-password" "db-secret"; 16 }; 17 }; 18 19 services.postgresql = { 20 enable = true; 21 ensureDatabases = [ "freshrss" ]; 22 ensureUsers = [ 23 { 24 name = "freshrss"; 25 ensureDBOwnership = true; 26 } 27 ]; 28 initialScript = pkgs.writeText "postgresql-password" '' 29 CREATE ROLE freshrss WITH LOGIN PASSWORD 'db-secret' CREATEDB; 30 ''; 31 }; 32 33 systemd.services."freshrss-config" = { 34 requires = [ "postgresql.service" ]; 35 after = [ "postgresql.service" ]; 36 }; 37 }; 38 39 testScript = '' 40 machine.wait_for_unit("multi-user.target") 41 machine.wait_for_open_port(5432) 42 machine.wait_for_open_port(80) 43 response = machine.succeed("curl -vvv -s -H 'Host: freshrss' http://127.0.0.1:80/i/") 44 assert '<title>Login · FreshRSS</title>' in response, "Login page didn't load successfully" 45 ''; 46})