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