at 25.11-pre 1.2 kB view raw
1import ./make-test-python.nix ( 2 { pkgs, ... }: 3 { 4 name = "service-runner"; 5 meta = with pkgs.lib.maintainers; { 6 maintainers = [ roberth ]; 7 }; 8 9 nodes = { 10 machine = 11 { pkgs, lib, ... }: 12 { 13 services.nginx.enable = true; 14 services.nginx.virtualHosts.machine.root = pkgs.runCommand "webroot" { } '' 15 mkdir $out 16 echo 'yay' >$out/index.html 17 ''; 18 systemd.services.nginx.enable = false; 19 }; 20 21 }; 22 23 testScript = 24 { nodes, ... }: 25 '' 26 url = "http://localhost/index.html" 27 28 with subtest("check systemd.services.nginx.runner"): 29 machine.fail(f"curl {url}") 30 machine.succeed( 31 """ 32 mkdir -p /run/nginx /var/log/nginx /var/cache/nginx 33 ${nodes.machine.config.systemd.services.nginx.runner} >&2 & 34 echo $!>my-nginx.pid 35 """ 36 ) 37 machine.wait_for_open_port(80) 38 machine.succeed(f"curl -f {url}") 39 machine.succeed("kill -INT $(cat my-nginx.pid)") 40 machine.wait_for_closed_port(80) 41 ''; 42 } 43)